1 6 package org.apache.jetspeed.webservices.util; 7 import org.apache.soap.SOAPException; 9 import org.apache.soap.Constants; 10 import org.apache.soap.rpc.Call; 11 import org.apache.soap.rpc.Parameter; 12 import org.apache.soap.rpc.Response; 13 import java.util.Vector ; 15 16 import org.apache.jetspeed.services.logging.JetspeedLogFactoryService; 18 import org.apache.jetspeed.services.logging.JetspeedLogger; 19 20 29 public class SoapAccessBean implements java.io.Serializable 30 { 31 34 private static final JetspeedLogger logger = JetspeedLogFactoryService.getLogger(SoapAccessBean.class.getName()); 35 36 private transient Call request; 38 private Vector parameters; 39 40 42 public SoapAccessBean() { 43 request = new Call(); 44 } 45 46 54 public SoapAccessBean(String targetURI, String method) { 55 request = new Call(); 57 request.setTargetObjectURI(targetURI); 59 request.setMethodName(method); 60 request.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC); 61 parameters = new java.util.Vector (); 63 64 } 65 66 76 public void setParameters(Vector parameters) { 77 this.parameters = parameters; 78 79 } 80 81 86 public java.util.Vector getParameters() { 87 return parameters; 88 89 } 90 91 112 public void addParameter(String paramName, Class paramClass, Object paramValue, String encoding) { 113 parameters.addElement(new Parameter(paramName, paramClass, paramValue, encoding)); 114 115 } 116 117 133 public Object processRequest(String url) throws SOAPException { 134 Response response = null; 136 Object result = null; 137 try { 138 request.setParams(parameters); 139 response = request.invoke(new java.net.URL (url), ""); 140 if (response.generatedFault() == true ) { 142 logger.warn(response.getFault().getFaultString()); 143 } 144 else { 145 148 result = response.getReturnValue().getValue(); 149 if (logger.isDebugEnabled()) { 151 logger.debug(response.getReturnValue().toString()); 152 } 153 } 154 } 155 catch (java.net.MalformedURLException exception) { 156 if (logger.isDebugEnabled()) { 158 logger.error(exception.getMessage(), exception); 159 } 160 } 161 return result; 162 } 163 164 } 165 | Popular Tags |