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>