[jboss-user] Parameter of SOAP call is not received
Olivier Cailloux
mlsmg at ulb.ac.be
Mon Jun 22 13:53:39 EDT 2009
0Hello,
I am trying to call a web service I just developed and installed on
JBoss (using a client in the R language with the SSOAP package). The web
service WSDL file is here [http://smg8.ulb.ac.be:8080/web2?wsdl].
I can call the web service and obtain an answer, but I can't make the
web service receive the "string" parameter which is supposed to reach
it. The problem might be on the client side (because consuming the web
service from a generic tool work), but I can't see what the client is
doing wrong.
Using eclipse Web Service explorer, I can consume the web service with
the following SOAP body (eclipse does not show me the headers however):
<soapenv:Body>
<q0:greetMe>
<arg0>hey</arg0>
</q0:greetMe>
</soapenv:Body>
And it correctly returns:
<env:Body>
<greetMeResponse>
<return>Hello, hey.</return>
</greetMeResponse>
</env:Body>
However, with my other client (in R), I can't send the "arg0" argument
to the web service. The String argument is always null when my Java
implementation code is called. Debugging the client, it seems that the
client sends the following SOAP body:
<SOAP-ENV:Body>
<greetMe xmlns="http://web2.web/">
<arg0 xsi:type="xsd:string">hey</arg0>
</greetMe>
</SOAP-ENV:Body>
I don't have however easy access to the full xml messages sent and
received and it is difficult to change its contents (I don't really
master the R SOAP library). Apparently there could be a namespace
problem, i.e. AFAIU arg0 in the R client is qualified whether it is not
in the eclipse call. Is this possibly what prevents jboss from sending
the argument to the web service class definition? In that case, is it
possible to ask jboss to be a bit more relax and allow that kind of
calls as well? Maybe by changing the way jboss generate the wsdl?
I am also looking for a way to enable debugging on the jboss side to see
exactly what SOAP envelope is received from the clients, how it is
parsed by jboss, and why it does not send the arg0 element to my code in
the case of the R client... I tried to add the following to
jboss-log4j.xml (and restarted the server), with no effect:
<category name="org.jboss.axis.transport.http.AxisServlet">
<priority value="DEBUG"/>
</category>
<category name="org.jboss.web">
<priority value="DEBUG"/>
</category>
Thank you for any help or pointer. I feel this problem must be very
simple to solve but I am stuck there since several days.
Olivier
More information about the jboss-user
mailing list