Author: gnodet
Date: Tue Dec  5 13:24:46 2006
New Revision: 482787

URL: http://svn.apache.org/viewvc?view=rev&rev=482787
Log:
SM-766: Error with latin characters in jsr181
Patch provided by Jorge Rodríguez Pedrianes. Thx !

Modified:
    
incubator/servicemix/trunk/deployables/serviceengines/servicemix-jsr181/src/main/java/org/apache/servicemix/jsr181/Jsr181ExchangeProcessor.java
    
incubator/servicemix/trunk/deployables/serviceengines/servicemix-jsr181/src/test/java/org/apache/servicemix/jsr181/Jsr181ComplexPojoTest.java

Modified: 
incubator/servicemix/trunk/deployables/serviceengines/servicemix-jsr181/src/main/java/org/apache/servicemix/jsr181/Jsr181ExchangeProcessor.java
URL: 
http://svn.apache.org/viewvc/incubator/servicemix/trunk/deployables/serviceengines/servicemix-jsr181/src/main/java/org/apache/servicemix/jsr181/Jsr181ExchangeProcessor.java?view=diff&rev=482787&r1=482786&r2=482787
==============================================================================
--- 
incubator/servicemix/trunk/deployables/serviceengines/servicemix-jsr181/src/main/java/org/apache/servicemix/jsr181/Jsr181ExchangeProcessor.java
 (original)
+++ 
incubator/servicemix/trunk/deployables/serviceengines/servicemix-jsr181/src/main/java/org/apache/servicemix/jsr181/Jsr181ExchangeProcessor.java
 Tue Dec  5 13:24:46 2006
@@ -115,9 +115,10 @@
         
         // Set response or DONE status
         if (isInAndOut(exchange)) {
+            String charSet = ctx.getOutMessage().getEncoding();
             if (ctx.getExchange().hasFaultMessage() && 
ctx.getExchange().getFaultMessage().getBody() != null) {
                 Fault fault = exchange.createFault();
-                fault.setContent(new StringSource(out.toString()));
+                fault.setContent(new StringSource(out.toString(charSet)));
                 XFireFault xFault = (XFireFault) 
ctx.getExchange().getFaultMessage().getBody();
                 fault.setProperty(SOAP_FAULT_CODE, xFault.getFaultCode());
                 fault.setProperty(SOAP_FAULT_REASON, xFault.getReason());
@@ -133,7 +134,7 @@
                         outMsg.addAttachment(att.getId(), 
att.getDataHandler());
                     }
                 }
-                outMsg.setContent(new StringSource(out.toString()));
+                outMsg.setContent(new StringSource(out.toString(charSet)));
                 exchange.setMessage(outMsg, "out");
             }
             if (exchange.isTransacted() && 
Boolean.TRUE.equals(exchange.getProperty(JbiConstants.SEND_SYNC))) {

Modified: 
incubator/servicemix/trunk/deployables/serviceengines/servicemix-jsr181/src/test/java/org/apache/servicemix/jsr181/Jsr181ComplexPojoTest.java
URL: 
http://svn.apache.org/viewvc/incubator/servicemix/trunk/deployables/serviceengines/servicemix-jsr181/src/test/java/org/apache/servicemix/jsr181/Jsr181ComplexPojoTest.java?view=diff&rev=482787&r1=482786&r2=482787
==============================================================================
--- 
incubator/servicemix/trunk/deployables/serviceengines/servicemix-jsr181/src/test/java/org/apache/servicemix/jsr181/Jsr181ComplexPojoTest.java
 (original)
+++ 
incubator/servicemix/trunk/deployables/serviceengines/servicemix-jsr181/src/test/java/org/apache/servicemix/jsr181/Jsr181ComplexPojoTest.java
 Tue Dec  5 13:24:46 2006
@@ -145,8 +145,9 @@
         DefaultServiceMixClient client = new 
DefaultServiceMixClient(container);
         InOut me = client.createInOutExchange();
         me.setInterfaceName(new QName("http://jsr181.servicemix.apache.org";, 
"ComplexPojoPortType"));
-        me.getInMessage().setContent(new StringSource("<twoWay 
xmlns='http://jsr181.servicemix.apache.org'><in0>world</in0></twoWay>"));
+        me.getInMessage().setContent(new StringSource("<twoWay 
xmlns='http://jsr181.servicemix.apache.org'><in0>world ã</in0></twoWay>"));
         client.sendSync(me);
+        System.err.println(new 
SourceTransformer().contentToString(me.getOutMessage()));
         client.done(me);
         
         // Wait all acks being processed


Reply via email to