You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Brian Abbott <br...@awarepoint.com> on 2004/01/16 20:35:20 UTC
Need to remove RPC Provider from chain?
Hi,
I have a strange problem I need to solve with AXIS. I'm trying
to write an RPC Service that receives a call to a function "OpenSession" and
returns a "SessionResponse" Object but not a "OpenSessionResponse" object.
I've written a custom serializer and handler to do so but, having looked
through a good deal of AXIS code, I think the
org.apache.axis.providers.RPCProvider is being called and manually inserting
the OpenSessionResponse object before my handler/serializer is executed.
Does anyone know how to fix this? Also, I've included the Request and
Response envelopes for clarity.
Thank you so much.
Brian Abbott
SOAP Request:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<ns1:OpenSession
soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:ns1="myNS">
<QueryName xsi:type="xsd:string">dffd</QueryName>
<FilterBy xsi:type="xsd:string"></FilterBy>
<Fields xsi:type="xsd:string"></Fields>
<SortBy xsi:type="xsd:string"></SortBy>
</ns1:OpenSession>
</soapenv:Body>
</soapenv:Envelope>
SOAP Response:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<!-need to keep this from being generated -->
<ns1:OpenSessionResponse
soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:ns1="myNS">
<ns1:OpenSessionReturn href="#id0"/>
</ns1:OpenSessionResponse>
<!-need to retain everything else -->
<ns2:SessionResponse
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="myNS">
<SessionID
xsi:type="xsd:string">429CD8B6566D8A8A914DD33C7AA23ECB</SessionID>
</ns2:SessionResponse>
</soapenv:Body>
</soapenv:Envelope>