[jboss-cvs] JBossAS SVN: r57488 - in branches/JBoss_4_0_2_CP/testsuite: imports src/main/org/jboss/test/webservice/jbws1034 src/main/org/jboss/test/webservice/jbws1034/client src/main/org/jboss/test/webservice/jbws1034/server src/main/org/jboss/test/webservice/jbws1034/util

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Sat Oct 7 16:35:41 EDT 2006


Author: alex.guizar at jboss.com
Date: 2006-10-07 16:35:38 -0400 (Sat, 07 Oct 2006)
New Revision: 57488

Modified:
   branches/JBoss_4_0_2_CP/testsuite/imports/test-jars.xml
   branches/JBoss_4_0_2_CP/testsuite/src/main/org/jboss/test/webservice/jbws1034/JBWS1034TestCase.java
   branches/JBoss_4_0_2_CP/testsuite/src/main/org/jboss/test/webservice/jbws1034/client/CharsetHandler.java
   branches/JBoss_4_0_2_CP/testsuite/src/main/org/jboss/test/webservice/jbws1034/server/CharsetHandler.java
   branches/JBoss_4_0_2_CP/testsuite/src/main/org/jboss/test/webservice/jbws1034/util/CharsetUtil.java
Log:
ASPATCH-86

Modified: branches/JBoss_4_0_2_CP/testsuite/imports/test-jars.xml
===================================================================
--- branches/JBoss_4_0_2_CP/testsuite/imports/test-jars.xml	2006-10-07 12:51:37 UTC (rev 57487)
+++ branches/JBoss_4_0_2_CP/testsuite/imports/test-jars.xml	2006-10-07 20:35:38 UTC (rev 57488)
@@ -5248,7 +5248,7 @@
         <include name="wsdl/**"/>
       </webinf>
     </war>
-    <jar destfile="${build.lib}/ws4ee-jbws1034-client.jar" manifest="${build.etc}/manifest.mf">
+    <jar destfile="${build.lib}/ws4ee-jbws1034-client.jar">
       <metainf dir="${source.resources}/webservice/jbws1034/META-INF">
         <include name="application-client.xml"/>
         <include name="jboss-client.xml"/>

Modified: branches/JBoss_4_0_2_CP/testsuite/src/main/org/jboss/test/webservice/jbws1034/JBWS1034TestCase.java
===================================================================
--- branches/JBoss_4_0_2_CP/testsuite/src/main/org/jboss/test/webservice/jbws1034/JBWS1034TestCase.java	2006-10-07 12:51:37 UTC (rev 57487)
+++ branches/JBoss_4_0_2_CP/testsuite/src/main/org/jboss/test/webservice/jbws1034/JBWS1034TestCase.java	2006-10-07 20:35:38 UTC (rev 57488)
@@ -48,17 +48,17 @@
 
    public void testDefaultEncoding() throws Exception
    {
-      final String text = "jalapeño";
+      final String text = "jalape\u00f1o";
       assertEquals(text, echoer.echo(text));
       assertEquals("utf-8", CharsetHandler.getCurrentCharset());
    }
 
    public void testCustomEncoding() throws Exception
    {
-      final String charset = "windows-1252";
+      final String charset = "iso-8859-1";
       CharsetHandler.setCurrentCharset(charset);
       
-      final String text = "jalapeño";
+      final String text = "jalape\u00f1o";
       assertEquals(text, echoer.echo(text));
       assertEquals(charset, CharsetHandler.getCurrentCharset());
    }

Modified: branches/JBoss_4_0_2_CP/testsuite/src/main/org/jboss/test/webservice/jbws1034/client/CharsetHandler.java
===================================================================
--- branches/JBoss_4_0_2_CP/testsuite/src/main/org/jboss/test/webservice/jbws1034/client/CharsetHandler.java	2006-10-07 12:51:37 UTC (rev 57487)
+++ branches/JBoss_4_0_2_CP/testsuite/src/main/org/jboss/test/webservice/jbws1034/client/CharsetHandler.java	2006-10-07 20:35:38 UTC (rev 57488)
@@ -7,29 +7,31 @@
 import javax.xml.rpc.handler.soap.SOAPMessageContext;
 import javax.xml.rpc.soap.SOAPFaultException;
 import javax.xml.soap.SOAPMessage;
+import javax.xml.soap.SOAPException;
 
 import org.jboss.test.webservice.jbws1034.util.CharsetUtil;
 
 public class CharsetHandler extends GenericHandler
 {
    private static ThreadLocal charsetLocal = new ThreadLocal();
-   
+
    public QName[] getHeaders()
    {
       return null;
    }
-   
-   public boolean handleRequest(MessageContext context) 
-   throws JAXRPCException, SOAPFaultException
+
+   public boolean handleRequest(MessageContext context) throws JAXRPCException, SOAPFaultException
    {
       if (context instanceof SOAPMessageContext)
       {
-         String currentCharset = getCurrentCharset();
-         if (currentCharset != null) 
+         String charset = getCurrentCharset();
+         if (charset != null)
          {
-            SOAPMessageContext soapContext = (SOAPMessageContext) context;
+            SOAPMessageContext soapContext = (SOAPMessageContext)context;
             SOAPMessage message = soapContext.getMessage();
-            CharsetUtil.setCharset(message, currentCharset);
+            // DO NOT write XML declaration. Axis does not take the XML declaration
+            // into account when figuring the CONTENT_LENGTH header.
+            CharsetUtil.setCharset(message, charset, false);
          }
       }
       return true;
@@ -39,7 +41,7 @@
    {
       if (context instanceof SOAPMessageContext)
       {
-         SOAPMessageContext soapContext = (SOAPMessageContext) context;
+         SOAPMessageContext soapContext = (SOAPMessageContext)context;
          SOAPMessage response = soapContext.getMessage();
          String responseCharset = CharsetUtil.getCharset(response);
          setCurrentCharset(responseCharset);
@@ -54,7 +56,7 @@
 
    public static String getCurrentCharset()
    {
-      return (String) charsetLocal.get();
+      return (String)charsetLocal.get();
    }
 
    public static void setCurrentCharset(String currentCharset)

Modified: branches/JBoss_4_0_2_CP/testsuite/src/main/org/jboss/test/webservice/jbws1034/server/CharsetHandler.java
===================================================================
--- branches/JBoss_4_0_2_CP/testsuite/src/main/org/jboss/test/webservice/jbws1034/server/CharsetHandler.java	2006-10-07 12:51:37 UTC (rev 57487)
+++ branches/JBoss_4_0_2_CP/testsuite/src/main/org/jboss/test/webservice/jbws1034/server/CharsetHandler.java	2006-10-07 20:35:38 UTC (rev 57488)
@@ -33,7 +33,7 @@
       {
          SOAPMessageContext soapContext = (SOAPMessageContext) context;
          SOAPMessage message = soapContext.getMessage();
-         CharsetUtil.setCharset(message, (String) context.getProperty(SOAPMessage.CHARACTER_SET_ENCODING));
+         CharsetUtil.setCharset(message, (String) context.getProperty(SOAPMessage.CHARACTER_SET_ENCODING), true);
       }
       return true;
    }

Modified: branches/JBoss_4_0_2_CP/testsuite/src/main/org/jboss/test/webservice/jbws1034/util/CharsetUtil.java
===================================================================
--- branches/JBoss_4_0_2_CP/testsuite/src/main/org/jboss/test/webservice/jbws1034/util/CharsetUtil.java	2006-10-07 12:51:37 UTC (rev 57487)
+++ branches/JBoss_4_0_2_CP/testsuite/src/main/org/jboss/test/webservice/jbws1034/util/CharsetUtil.java	2006-10-07 20:35:38 UTC (rev 57488)
@@ -3,30 +3,31 @@
 import javax.xml.soap.SOAPException;
 import javax.xml.soap.SOAPMessage;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.jboss.logging.Logger;
 
 public class CharsetUtil
 {
-   private static final Log log = LogFactory.getLog(CharsetUtil.class);
+   private static final Logger log = Logger.getLogger(CharsetUtil.class);
 
    public static String getCharset(SOAPMessage message)
    {
+      String charset = "UTF-8";
       try
       {
-         return (String) message.getProperty(SOAPMessage.CHARACTER_SET_ENCODING);
+         charset = (String)message.getProperty(SOAPMessage.CHARACTER_SET_ENCODING);
+         log.debug("got charset: " + charset);
       }
       catch (SOAPException e)
       {
-         return "UTF-8";
+         log.error("could not get charset", e);
       }
+      return charset;
    }
 
    static String getCharsetFromHeader(SOAPMessage message)
    {
       String charset = "UTF-8";
-      String[] contentTypeHeader = message.getSOAPPart().getMimeHeader(
-            "Content-Type");
+      String[] contentTypeHeader = message.getSOAPPart().getMimeHeader("Content-Type");
       if (contentTypeHeader != null)
       {
          String contentType = contentTypeHeader[0];
@@ -44,12 +45,14 @@
       return charset;
    }
 
-   public static void setCharset(SOAPMessage message, String charset)
+   public static void setCharset(SOAPMessage message, String charset, boolean writeXmlDeclaration)
    {
       try
       {
          message.setProperty(SOAPMessage.CHARACTER_SET_ENCODING, charset);
-         // message.setProperty(SOAPMessage.WRITE_XML_DECLARATION, "true");
+         if (writeXmlDeclaration)
+            message.setProperty(SOAPMessage.WRITE_XML_DECLARATION, "true");
+
          log.debug("set charset: " + charset);
       }
       catch (SOAPException e)




More information about the jboss-cvs-commits mailing list