users@glassfish.java.net

Web Service arguments are always null

From: <glassfish_at_javadesktop.org>
Date: Wed, 17 Mar 2010 06:44:15 PDT

I'm trying to deploy what I think is a really simple web service to GF, but I keep hitting a strange problem: when a call comes in, the web service implementation is getting passed null arguments.

I've attached a maven project (pom, wsdl and implementation files) for a bare-bones service that I've put together to test this out.

Basically, if you:
 - deploy the jar file from the zip (or build the maven project)
 - call the service (I'm using soapUI 3.5)
then the service will be called successfully, but the response message will indicate that the arguments passed to the service were null, even though they were not.

Specifically, the request being sent to the service looks like this:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:pk="http://www.apt.com/pk-service/">
   <soapenv:Header/>
   <soapenv:Body>
      <pk:bar>
         <barArgument>Hello World!!</barArgument>
      </pk:bar>
   </soapenv:Body>
</soapenv:Envelope>

the handler does this:
    public String foo( String fooArgument )
    {
        return "fooArgument=" + fooArgument;
    }

and the response is:
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
   <S:Body>
      <ns2:barResponse xmlns:ns2="http://xml.apt.com/schema/pk-service">
         <return>barArgument=null</return>
      </ns2:barResponse>
   </S:Body>
</S:Envelope>

I'm running GF v3 b05, but I've also tried this in v2.1.1 with the same outcome.

I'm positive that I'm making a really simple mistake, but am really unsure. Anybody seen this before?

Thanks in advance,
Pete.
[Message sent by forum member 'pakman360' (peter.kneller_at_sungard.com)]

http://forums.java.net/jive/thread.jspa?messageID=392359