Based on what I am seeing, it looks like the best thing to do is drop back to the Call object.  I think I can still get some of the benefits of the upper level stuff by calling the (presumably) internal Axis classes that convert instances Axis-genned classes into XML to build the request.  Now, does anyone know which classes I should look at?  I am stepping through the code as we speak, but if anyone can point me the right API that'd be great.
 
Thanks!
----- Original Message -----
Sent: Wednesday, March 12, 2003 3:33 PM
Subject: Re: Accessing 'raw' document body.

Someone else here maybe able to help you with that one.
 
I ended up having to create the request envelope myself because the handlers kicked in too late in the process to do anything meaningful if the xml that is returned is invalid (why I have to parse mine manually, thank you Microsoft...).
 
Sorry I can't help further...
 
--
Sloan
 
----- Original Message -----
Sent: Wednesday, March 12, 2003 3:12 PM
Subject: Re: Accessing 'raw' document body.

Ok, I think you've gotten me close ;)  Now, is there anyway to get the Envelope from AxisClasses?  I would like to use axis to create the request to the extent possible (the XML is pretty voluminous), but then get the XML response body.
 
Thanks
----- Original Message -----
Sent: Wednesday, March 12, 2003 3:00 PM
Subject: Re: Accessing 'raw' document body.

How about:
 
SOAPEnvelope envelope = call.invoke( envelope );
SOAPBody body = envelope.getBody();
 
and then you can get the raw XML via toString()
or
parse it using the already populated SOAPElement objects so you don't go throught the performance hit of populating another DOM like object model...
 
--
Sloan
 
 
----- Original Message -----
Sent: Wednesday, March 12, 2003 2:27 PM
Subject: Re: Accessing 'raw' document body.

Thanks,
But I thought the handlers only applied to the server side?  I need to get the doc body with the client API.
----- Original Message -----
Sent: Wednesday, March 12, 2003 2:17 PM
Subject: RE: Accessing 'raw' document body.

You could use a response handler to retrieve the response message.
 
your deploy.wsdd could look something like this:
 
 <service name="test" provider="java:RPC">
  <responseFlow>
   <handler type="java:CustomHandler">
    <parameter name="scope" value="scope"/>
   </handler>
  </responseFlow>
  <parameter name="allowedMethods" value="*"/>
  <parameter name="className" value="ServiceClass"/>
  <parameter name="scope" value="scope"/>
 </service>
 
your handler could look some thing like
 
public class CustomHandler extends BasicHandler
{
    public void invoke (MessageContext messageContext)
   {
        Message responseMessage = messageContext.getResponseMessage();
        ......
   }
}
Eugenio
-----Original Message-----
From: Erich Oliphant [mailto:[EMAIL PROTECTED]
Sent: Wednesday, March 12, 2003 12:04 PM
To: [EMAIL PROTECTED]
Subject: Accessing 'raw' document body.

Hello,
I am using Axis to make calls against a SOAP service that uses document style messaging.  The Axis classes make it much easier to send requests and deal w/ the responses.  I have one situation where I need do several request/replies but I need to hand the unparsed response document body off to another program in the last step.  Is there any easy way to do this?
 
Thanks

Reply via email to