If I understand what you are saying, you want to take the servers response and re-package it as a SOAP Message and send it somewhere else?
If so, then you would need to write your own class which creates a SOAP Message. The following book will tell you how to create your own SOAP Message Builder: http://www.oreilly.com/catalog/javawebserv/ ----- Original Message ----- From: "Enrico Goosen" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Wednesday, May 12, 2004 6:27 AM Subject: Serializer > Hi all, > > I need some help with the following problem: > > Overview: > My java object receives and parses a SOAP message (on a TCP/IP socket) > then calls an appropriate operation/method on a remote web service using > a client stub (RPC HTTP Request). > The remote web service returns a SOAP response message and the client > stub automatically deserializes the body element into a Java object. > (see below: Login_Response) > > I need to return a SOAP message back onto the TCP/IP socket containing > the serialized Java Object in the SOAP body. > > Message flow: > Web service client <- HTTP -> My Web service <- TCP/IP socket -> My > Transaction Server <- HTTP -> another Web service <- ??? -> Another > Server > > I've found the following code which is sort of on the right track, but > the SOAP XML that it outputs is messy: > > Login_Response response = stub.login_Request(null, null, msgID, null, > null, null); > > MessageContext msgContext0 = new MessageContext(new AxisServer()); > Writer stringWriter0 = new StringWriter(); > SerializationContext context0 = new > SerializationContextImpl(stringWriter0, msgContext0); > QName qn0 = loginResBean.getTypeDesc().getXmlType(); > BeanSerializer theBeanSe=(BeanSerializer)loginResBean.getSerializer("", > loginResBean.getClass(),qn0); > theBeanSe.serialize(qn0, null, loginResBean ,context0); > stringWriter0.close(); > String s=stringWriter0.toString(); > > logger.info(s); > > OUTPUT: > > <ns1:Login_Response xmlns:ns1="http://www.nrs.eskom.co.za/XMLVend/"> > <TerminalID xsi:type="ns2:TerminalIDT" xsi:nil="true" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xmlns:ns2="http://nrs.eskom.co.za/XMLVend/schemas/2004/02"/> > <MsgId xsi:type="ns1:MsgIDComplexType" xsi:nil="true" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/> > <OperatorMsg xsi:type="ns3:MsgT" xsi:nil="true" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xmlns:ns3="http://nrs.eskom.co.za/XMLVend/schemas/2004/02"/> > <Custom xsi:type="ns4:MsgT" xsi:nil="true" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xmlns:ns4="http://nrs.eskom.co.za/XMLVend/schemas/2004/02"/> > <CurrentVendorCredit href="#id0"/> > </ns1:Login_Response> > > DESIRED OUTPUT: > > <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> > <Login_RequestResponse xmlns="http://www.nrs.eskom.co.za/XMLVend/"> > <Login_RequestResult> > <CurrentVendorCredit>10000</CurrentVendorCredit> > </Login_RequestResult> > </Login_RequestResponse> > </soapenv:Body> > </soapenv:Envelope> > > The desired output above is somehow returned from the following Web > Service Test Class: > > public class XMLVendServiceSoapImpl implements XMLVendServiceSoap{ > > public Login_Response login_Request(ClientIDT clientID, TerminalIDT > terminalID, MsgIDComplexType msgID, OpNameT opName, PasswordT password, > MsgT custom) throws java.rmi.RemoteException { > Login_Response res = new Login_Response(); > res.setCurrentVendorCredit(new CurrencyT(new > BigDecimal(100.00))); > return res; > } > } > > Any ideas how this is being achieved? > > Regards, > Enrico > > > >