1 16 17 package samples.proxy; 18 19 import org.apache.axis.AxisFault; 20 import org.apache.axis.Handler; 21 import org.apache.axis.Message; 22 import org.apache.axis.MessageContext; 23 import org.apache.axis.SimpleTargetedChain; 24 import org.apache.axis.client.Call; 25 import org.apache.axis.client.Service; 26 import org.apache.axis.message.SOAPEnvelope; 27 import org.w3c.dom.Document ; 28 import samples.transport.tcp.TCPSender; 29 import samples.transport.tcp.TCPTransport; 30 31 38 39 public class ProxyService { 40 43 public void proxyService(SOAPEnvelope env1, SOAPEnvelope env2) 44 throws AxisFault 45 { 46 try { 47 MessageContext msgContext = MessageContext.getCurrentContext(); 49 50 Handler self = msgContext.getService(); 52 53 String dest = (String )self.getOption("URL"); 55 56 Service service = new Service(); 59 service.setEngine( msgContext.getAxisEngine().getClientEngine() ); 60 Call call = (Call) service.createCall(); 61 62 SimpleTargetedChain c = new SimpleTargetedChain(new TCPSender()); 63 66 call.addTransportPackage("samples.transport"); 68 call.setTransportForProtocol("tcp", TCPTransport.class); 69 70 call.setTargetEndpointAddress(new java.net.URL (dest)); 72 73 call.setRequestMessage(msgContext.getRequestMessage()); 74 75 call.invoke(); 76 77 Message msg = call.getResponseMessage(); 78 79 msgContext.setResponseMessage(msg); 80 } 81 catch( Exception exp ) { 82 throw AxisFault.makeFault( exp ); 83 } 84 } 85 } 86 87 | Popular Tags |