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

Reply via email to