diff options
Diffstat (limited to 'spss.test/src/at/gv/egovernment/moa/spss/client/call/MOACaller.java')
-rw-r--r-- | spss.test/src/at/gv/egovernment/moa/spss/client/call/MOACaller.java | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/spss.test/src/at/gv/egovernment/moa/spss/client/call/MOACaller.java b/spss.test/src/at/gv/egovernment/moa/spss/client/call/MOACaller.java new file mode 100644 index 000000000..13a06b2fb --- /dev/null +++ b/spss.test/src/at/gv/egovernment/moa/spss/client/call/MOACaller.java @@ -0,0 +1,38 @@ +package at.gv.egovernment.moa.spss.client.call; + +import java.rmi.RemoteException; +import java.util.Vector; + +import javax.xml.namespace.QName; +import javax.xml.rpc.Call; +import javax.xml.rpc.Service; +import javax.xml.rpc.ServiceException; +import javax.xml.rpc.ServiceFactory; + +import org.apache.axis.message.SOAPBodyElement; +import org.w3c.dom.Element; + +/** + * @author Patrick Peck + * @version $Id$ + */ +public class MOACaller { + + protected Element doCall(QName serviceName, Element request, String endPoint) + throws RemoteException, ServiceException, Exception { + Service service = ServiceFactory.newInstance().createService(serviceName); + Call call = service.createCall(); + SOAPBodyElement body = + new SOAPBodyElement(request); + SOAPBodyElement[] params = new SOAPBodyElement[] {body}; + Vector responses; + SOAPBodyElement response; + + call.setTargetEndpointAddress(endPoint); + responses = (Vector) call.invoke(params); + response = (SOAPBodyElement) responses.get(0); + + return response.getAsDOM(); + } + +} |