You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ws.apache.org by sa...@apache.org on 2005/12/05 19:06:24 UTC
svn commit: r354115 -
/webservices/commons/trunk/policy/interop/ibm/src/org/apache/ws/policy/interop/SimplePolicyClient.java
Author: sanka
Date: Mon Dec 5 10:06:20 2005
New Revision: 354115
URL: http://svn.apache.org/viewcvs?rev=354115&view=rev
Log:
Fixed: Updated the SimplePolicyClient to use latest Axis2 Client API
Modified:
webservices/commons/trunk/policy/interop/ibm/src/org/apache/ws/policy/interop/SimplePolicyClient.java
Modified: webservices/commons/trunk/policy/interop/ibm/src/org/apache/ws/policy/interop/SimplePolicyClient.java
URL: http://svn.apache.org/viewcvs/webservices/commons/trunk/policy/interop/ibm/src/org/apache/ws/policy/interop/SimplePolicyClient.java?rev=354115&r1=354114&r2=354115&view=diff
==============================================================================
--- webservices/commons/trunk/policy/interop/ibm/src/org/apache/ws/policy/interop/SimplePolicyClient.java (original)
+++ webservices/commons/trunk/policy/interop/ibm/src/org/apache/ws/policy/interop/SimplePolicyClient.java Mon Dec 5 10:06:20 2005
@@ -16,16 +16,19 @@
package org.apache.ws.policy.interop;
-import java.io.FileInputStream;
+import java.io.IOException;
import java.io.StringWriter;
+import java.net.URL;
+import javax.xml.stream.FactoryConfigurationError;
import javax.xml.stream.XMLInputFactory;
import javax.xml.stream.XMLOutputFactory;
-import javax.xml.stream.XMLStreamReader;
+import javax.xml.stream.XMLStreamException;
import org.apache.axis2.Constants;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Call;
+import org.apache.axis2.client.Options;
import org.apache.axis2.om.OMAbstractFactory;
import org.apache.axis2.om.OMElement;
import org.apache.axis2.om.OMXMLParserWrapper;
@@ -33,50 +36,77 @@
import org.apache.axis2.soap.SOAPEnvelope;
/**
+ * How to run ----------
+ *
+ * (1) Normalize: user@localhost$java -cp <jar files> SimplePolicyClient -N <URL
+ * of policy1>
+ *
+ * (2) Merge: user@localhost$java -cp <jar files> SimplePolicyClient -M <URL of
+ * policy1> <URL of policy2>
+ *
+ * (3) Intersection user@localhost$java -cp <jar files> SimplePolicyClient -I
+ * <URL of policy1> <URL of policy2>
+ *
* @author Sanka Samaranayake (sanka@apache.org)
*/
public class SimplePolicyClient {
+
+ private static String normalizeActionString = "http://example.com/ws/2004/09/policy/Normalize/Request";
+
+ private static String mergeActionString = "http://example.com/ws/2004/09/policy/Merge/Request";
+
+ private static String intersectActionString = "http://example.com/ws/2004/09/policy/Intersect/Request";
+
+ private static String targetEPR = "http://wsi.alphaworks.ibm.com:8080/wspolicy/services/policyService";
+
public static void main(String[] args) throws Exception {
Call call = new Call();
- call.setWsaAction("http://schemas.xmlsoap.org/ws/2004/09/mex/GetMetadata/Request");
- call.setTo(new EndpointReference("http://localhost:8080/axis2/services/PolicyService"));
-
- call.setTransportInfo(Constants.TRANSPORT_HTTP,
- Constants.TRANSPORT_HTTP, false);
-
- FileInputStream fis = new FileInputStream(
- "/home/sanka/policy-docs/primitive.xml");
- XMLStreamReader xmlr = XMLInputFactory.newInstance()
- .createXMLStreamReader(fis);
- OMXMLParserWrapper builder = OMXMLBuilderFactory.createStAXOMBuilder(
- OMAbstractFactory.getOMFactory(), xmlr);
+ Options options = new Options();
+ call.setClientOptions(options);
+
+ options.setTo(new EndpointReference(targetEPR));
+ options.setListenerTransportProtocol(Constants.TRANSPORT_HTTP);
+
+ if (args[0].equals("-N")) {
+ options.setAction(normalizeActionString);
- OMElement arg = builder.getDocumentElement();
+ } else if (args[0].equals("-M")) {
+ options.setAction(mergeActionString);
+
+ } else if (args[0].equals("-I")) {
+ options.setAction(intersectActionString);
+ }
SOAPEnvelope env = OMAbstractFactory.getSOAP11Factory()
.getDefaultEnvelope();
- // adding arg1
- env.getBody().addChild(arg);
-
- //env.serialize(XMLOutputFactory.newInstance().createXMLStreamWriter(System.out));
-
-// fis = new FileInputStream("/home/sanka/policy-docs/policy2.xml");
-// xmlr = XMLInputFactory.newInstance().createXMLStreamReader(fis);
-// builder = OMXMLBuilderFactory.createStAXOMBuilder(OMAbstractFactory
-// .getOMFactory(), xmlr);
-// arg = builder.getDocumentElement();
-//
-// adding arg2
-// env.getBody().addChild(arg);
+ // adding args[1]
+ env.getBody().addChild(getOMElementFromURL(args[1]));
+
+ if (!args[0].equals("-N")) {
+ env.getBody().addChild(getOMElementFromURL(args[2]));
+ }
+
+ SOAPEnvelope response = (SOAPEnvelope) call.invokeBlocking("foo", env);
- OMElement resutl = call.invokeBlocking("foo", env);
StringWriter sw = new StringWriter();
- resutl.serialize(XMLOutputFactory.newInstance().createXMLStreamWriter(
- System.out));
+ OMElement result = response.getBody().getFirstElement();
+
+ System.out.println("Output");
+ result.serialize(XMLOutputFactory.newInstance().createXMLStreamWriter(
+ sw));
sw.flush();
System.out.println(sw.toString());
-
+ }
+
+ private static OMElement getOMElementFromURL(String urlString)
+ throws XMLStreamException, FactoryConfigurationError, IOException {
+ URL targetURL = new URL(urlString);
+ OMXMLParserWrapper wrapper = OMXMLBuilderFactory.createStAXOMBuilder(
+ OMAbstractFactory.getOMFactory(), XMLInputFactory.newInstance()
+ .createXMLStreamReader(targetURL.openStream()));
+ return wrapper.getDocumentElement();
+
}
}