aboutsummaryrefslogtreecommitdiff
path: root/spss.test/src/at/gv/egovernment/moa/spss/client/call/MOACaller.java
diff options
context:
space:
mode:
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.java38
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();
+ }
+
+}