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"?