1 57 58 package org.apache.soap.providers ; 59 60 import java.io.* ; 61 import java.util.* ; 62 import javax.servlet.* ; 63 import javax.servlet.http.* ; 64 import org.apache.soap.* ; 65 import org.apache.soap.rpc.* ; 66 import org.apache.soap.server.* ; 67 import org.apache.soap.util.* ; 68 69 public class TemplateProvider implements Provider { 70 private DeploymentDescriptor dd ; 71 private Envelope envelope ; 72 private Call call ; 73 private String methodName ; 74 private String targetObjectURI ; 75 private HttpServlet servlet ; 76 private HttpSession session ; 77 78 public void locate( DeploymentDescriptor dd, 79 Envelope env, 80 Call call, 81 String methodName, 82 String targetObjectURI, 83 SOAPContext reqContext) 84 throws SOAPException { 85 86 HttpServlet servlet = (HttpServlet) reqContext.getProperty( Constants.BAG_HTTPSERVLET ); 87 HttpSession session = (HttpSession) reqContext.getProperty( Constants.BAG_HTTPSESSION ); 88 89 System.err.println( "=============================================" ); 90 System.err.println( "In TemplateProvider.locate()" ); 91 System.err.println( "Method: " + methodName ); 92 System.err.println( "URI: " + targetObjectURI ); 93 System.err.println( "DD.ServiceClass: " + dd.getServiceClass() ); 94 System.err.println( "DD.ProviderClass: " + dd.getProviderClass() ); 95 System.err.println( "Call.MethodName: " + call.getMethodName() ); 96 97 Hashtable props = dd.getProps(); 98 Enumeration keys = props.keys(); 99 100 System.err.println( "Options:" ); 101 while ( keys.hasMoreElements() ) { 102 String key = (String ) keys.nextElement(); 103 String value = (String ) props.get( key ); 104 System.err.println( "Key: " + key + " Value: " + value ); 105 } 106 107 this.dd = dd ; 108 this.envelope = env ; 109 this.call = call ; 110 this.methodName = methodName ; 111 this.targetObjectURI = targetObjectURI ; 112 this.servlet = servlet ; 113 this.session = session ; 114 115 }; 117 118 119 public void invoke(SOAPContext reqContext, SOAPContext resContext) 120 throws SOAPException { 121 System.err.println( "=============================================" ); 122 System.err.println( "In TemplateProvider.invoke()" ); 123 124 126 try { 130 Response resp = new Response( targetObjectURI, call.getMethodName(), (Parameter) null, null, null, null, resContext ); 138 Envelope env = resp.buildEnvelope(); 139 StringWriter sw = new StringWriter(); 140 env.marshall( sw, call.getSOAPMappingRegistry(), resContext ); 141 resContext.setRootPart( sw.toString(), Constants.HEADERVAL_CONTENT_TYPE_UTF8); 142 } 143 catch( Exception e ) { 144 if ( e instanceof SOAPException ) throw (SOAPException ) e ; 145 throw new SOAPException( Constants.FAULT_CODE_SERVER, e.toString() ); 146 } 147 }; 148 }; 149 | Popular Tags |