I can think of a few changes between 0.99 and 1.0 that could affect
interoperability, but I don't think any of these would come into
play for the scenario described here.
For dynamically generated WSDL, a few changes were made to the
generation algorithm that affect methods with no arguments and/or
a void result. However, the helloworld-ws-reference sample uses
statically created WSDL, not dynamically generated WSDL.
For callbacks and conversations, the wire protocol used to pass the
necessary information over Web services changed between 0.99 and 1.0.
However, the helloworld-ws-reference sample does not use callbacks
or conversations.
This error seems to indicate that the Axis2/C service received a
SOAP request containing some unexpected XML data. Can you run with
a TCP monitor and post the SOAP messages that are being exchanged?
Simon Nash
Simon Laws wrote:
On Nov 11, 2007 4:52 PM, Philipp Konradi <[EMAIL PROTECTED]> wrote:
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
Hi Philipp
I did a quick google for compatibility issues but didn't see anything
obvious. I'll look a little closer tomorrow. Could you raise a JIRA for
this and attach the service you are using. We can give it a try and see if
the same error happens.
Regards
Simon
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]