Hi all, after upgrading from Tuscany SCA Java v0.99 to 1.0 one of my sample applications has broken. The app is pretty simple: a Java SCA service calls a Native SCA service via Web Services. After version upgrade I'm getting a SOAPProcessingException saying "Only Characters are allowed here".
Does somebody else experienced something similar? Any explanations what's the reason and how to fix/workaround here? Here some details to the app: The Java SCA service is actually the helloworld-ws-reference sample. The Native SCA service is a simple helloworld implementation in C++ deployed in Axis2/C. The call makes it actually to Axis2/C but then Axis2/C returns a SOAP fault message. Here the axis2c log: .... [Sun Nov 11 16:07:29 2007] [info] Starting HTTP server thread [Sun Nov 11 16:12:34 2007] [debug] ..\..\modules\core\transport\http\http_worker.c(206) Client HTTP version HTTP/1.1 [Sun Nov 11 16:12:34 2007] [debug] ..\..\axiom\src\soap\soap_builder.c(868) Identified soap version is soap11 [Sun Nov 11 16:12:34 2007] [debug] ..\..\modules\core\engine\engine.c(776) Invoking phase TransportIn [Sun Nov 11 16:12:34 2007] [debug] ..\..\modules\core\engine\phase.c(358) Invoke the handler request_uri_based_dispatcher within the phase TransportIn [Sun Nov 11 16:12:34 2007] [debug] ..\..\modules\core\engine\req_uri_disp.c(104) Checking for service using target endpoint address : http://127.0.0.1:9090/HelloWorldService [Sun Nov 11 16:12:34 2007] [debug] ..\..\modules\core\engine\engine.c(776) Invoking phase PreDispatch [Sun Nov 11 16:12:34 2007] [debug] ..\..\modules\core\engine\phase.c(358) Invoke the handler AddressingInHandler within the phase PreDispatch [Sun Nov 11 16:12:34 2007] [info] Starting addressing in handler ......... [Sun Nov 11 16:12:34 2007] [debug] ..\..\axiom\src\soap\soap_fault_code.c(273) trying to set fault subcode to fault code more than once [Sun Nov 11 16:12:34 2007] [debug] ..\..\modules\core\engine\engine.c(776) Invoking phase MessageOut [Sun Nov 11 16:12:34 2007] [debug] ..\..\modules\core\engine\phase.c(358) Invoke the handler AddressingOutHandler within the phase MessageOut [Sun Nov 11 16:12:34 2007] [info] Request served successfully Here the output on the Java side: [java] Injected helloWorldService [java] Called getGreetings [java] Exception in thread "main" org.apache.axiom.soap.SOAPProcessingException: Only Characters are allowed here [java] at org.apache.axiom.soap.impl.builder.SOAP11BuilderHelper.processText (SOAP11BuilderHelper.java:151) [java] at org.apache.axiom.soap.impl.builder.SOAP11BuilderHelper.handleEvent (SOAP11BuilderHelper.java:63) [java] at org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.constructNode( StAXSOAPModelBuilder.java:344) [java] at org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.createOMElement( StAXSOAPModelBuilder.java:187) [java] at org.apache.axiom.om.impl.builder.StAXOMBuilder.next( StAXOMBuilder.java:163) [java] at org.apache.axiom.om.impl.llom.OMElementImpl.buildNext( OMElementImpl.java:552) [java] at org.apache.axiom.om.impl.llom.OMElementImpl.getFirstOMChild( OMElementImpl.java:563) [java] at org.apache.axiom.om.impl.llom.OMElementImpl.getFirstChildWithName( OMElementImpl.java:219) [java] at org.apache.axiom.soap.impl.llom.soap11.SOAP11FaultImpl.getCode( SOAP11FaultImpl.java:129) [java] at org.apache.axis2.AxisFault.initializeValues(AxisFault.java:189) [java] at org.apache.axis2.AxisFault.<init>(AxisFault.java:183) [java] at org.apache.axis2.util.Utils.getInboundFaultFromMessageContext( Utils.java:486) [java] at org.apache.axis2.description.OutInAxisOperationClient.handleResponse( OutInAxisOperation.java:343) [java] at org.apache.axis2.description.OutInAxisOperationClient.send( OutInAxisOperation.java:389) [java] at org.apache.axis2.description.OutInAxisOperationClient.executeImpl( OutInAxisOperation.java:211) [java] at org.apache.axis2.client.OperationClient.execute( OperationClient.java:163) [java] at org.apache.tuscany.sca.binding.ws.axis2.Axis2BindingInvoker.invokeTarget( Axis2BindingInvoker.java:102) [java] at org.apache.tuscany.sca.binding.ws.axis2.Axis2BindingInvoker.invoke (Axis2BindingInvoker.java:77) [java] at org.apache.tuscany.sca.core.databinding.wire.DataTransformationInteceptor.invoke (DataTransformationInteceptor.java:73) [java] at org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke (JDKInvocationHandler.java:233) [java] at org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke (JDKInvocationHandler.java:130) [java] at $Proxy4.getGreetings(Unknown Source) [java] at helloworld.HelloWorldServiceComponent.getGreetings( HelloWorldServiceComponent.java:30) [java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [java] at sun.reflect.NativeMethodAccessorImpl.invoke( NativeMethodAccessorImpl.java:39) [java] at sun.reflect.DelegatingMethodAccessorImpl.invoke( DelegatingMethodAccessorImpl.java:25) [java] at java.lang.reflect.Method.invoke(Method.java:585) [java] at org.apache.tuscany.sca.implementation.java.invocation.JavaImplementationInvoker.invoke (JavaImplementationInvoker.java:105) [java] at org.apache.tuscany.sca.core.databinding.wire.PassByValueInteceptor.invoke( PassByValueInteceptor.java:49) [java] at org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke (JDKInvocationHandler.java:233) [java] at org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke (JDKInvocationHandler.java:130) [java] at $Proxy4.getGreetings(Unknown Source) [java] at helloworld.HelloWorldClient.main(HelloWorldClient.java:33) [java] Java Result: 1 Versions used: Axis2/C: v0.96. SCA/SDO native: 1.0 Milestone Release 3. The app is working fine with 0.99. Also invoking the web service (native service) via Eclipse's Web Service Explorer works without any problems. So I think the origin of the problem has something to do with 1.0 runtime and web service binding itself. I noticed that from 0.99 and 1.0 SCA updated to use axis2 1.3 instead 1.2and axiom 1.2.5 instead 1.2.4. Maybe that has something to do with the problem. Any help is highly appreciated, Thanks, Philipp
