I'm trying to implement an rpc/literal web service with Axis. I generated a WSDL description from the Java source using Java2WSDL with --style="RPC" and --use="LITERAL". The generated WSDL binding looks fine. Then I generated deploy.wsdd with WSDL2Java --server-side, and deployed and tested the service. In this case, a reply message from a service operation does not define a namespace for the Body's child:

  <soapenv:Body>
     <echoResponse xmlns="">
        <echoReturn>echo test input</echoReturn>
     </echoResponse>
  </soapenv:Body>

However, the WS-I Basic Profile encourages the use of namespaces for immediate children of Body. Is there a way to encourage WSDL2Java to add elementFormDefault="qualified" to the schema generated by WSDL2Java? I don't anything in the docs or source.

If I modify the generated WSDL and add elementFormDefault="qualified" to the schema in the wsdl:types element, the response now looks like this:

  <soapenv:Body>
     <echoResponse xmlns="http://www.ltree.com/wsdl/template";>
        <echoReturn xmlns="">echo test input</echoReturn>
     </echoResponse>
  </soapenv:Body>

But it's clumsy to perform a manual edit operation each time I re-generate the WSDL. (Of course, I could always fire off a Perl script from the build script, but I was hoping for something a bit more elegant.)

Thanks,
Mike

--

Mike Woinoski                      Pine Needle Consulting
mailto:[EMAIL PROTECTED]




Reply via email to