[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