[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