Does anyone know if it is possible to configure Axis with an RPC style service that has an "encoded" input and a "literal" output.  Here's an example .wsdl snippet of what I'm trying to do:

  <binding name='NetworkNodeBinding' type='tns:NetworkNodePortType' >

    <soap:binding transport='http://schemas.xmlsoap.org/soap/http' />

    <operation name='SQLQuery' >
      <soap:operation soapAction='' />
      <input>
        <soap:body use='encoded' namespace='urn:MyNamespace' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' />
      </input>
      <output>
        <soap:body use='literal' namespace='urn:MyNamespace'  encodingStyle='' />
      </output>
    </operation>
</binding>

WSDL2Java generates the following service tag:

<service name="NetworkNodePortType" provider="java:RPC" use="literal">

However, this causes my input to be treated as literal also (thus causing clients expecting it to be "encoded" to fail).  I modified the use to be "encoded" to get most of my methods working.  Is there a way to configure the service to use="mixed"  or something then specify for each input/output whether it is encoded or literal?

I've messed around with making my return type for my method Element[] and changing the Service Description in my generated skeleton class, but it still treats the result as "encoded"?

Reply via email to