summaryrefslogtreecommitdiffstats
path: root/branches/sca-java-integration/sca/extensions/axis2/samples/helloworld-om-wsclient/src/main/java/helloworld/om/HelloWorldClient.java
diff options
context:
space:
mode:
Diffstat (limited to 'branches/sca-java-integration/sca/extensions/axis2/samples/helloworld-om-wsclient/src/main/java/helloworld/om/HelloWorldClient.java')
-rw-r--r--branches/sca-java-integration/sca/extensions/axis2/samples/helloworld-om-wsclient/src/main/java/helloworld/om/HelloWorldClient.java84
1 files changed, 84 insertions, 0 deletions
diff --git a/branches/sca-java-integration/sca/extensions/axis2/samples/helloworld-om-wsclient/src/main/java/helloworld/om/HelloWorldClient.java b/branches/sca-java-integration/sca/extensions/axis2/samples/helloworld-om-wsclient/src/main/java/helloworld/om/HelloWorldClient.java
new file mode 100644
index 0000000000..d0b3cef2af
--- /dev/null
+++ b/branches/sca-java-integration/sca/extensions/axis2/samples/helloworld-om-wsclient/src/main/java/helloworld/om/HelloWorldClient.java
@@ -0,0 +1,84 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package helloworld.om;
+
+import helloworld.om.HelloWorldService;
+
+import org.apache.axiom.om.OMAbstractFactory;
+import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.OMFactory;
+import org.apache.axiom.om.OMNode;
+import org.apache.tuscany.api.SCARuntime;
+import org.osoa.sca.CompositeContext;
+import org.osoa.sca.CurrentCompositeContext;
+import static java.lang.System.out;
+
+
+/**
+ * This client program shows how to create an SCA runtime, start it,
+ * locate the HelloWorld service and invoke it.
+ */
+
+
+
+public class HelloWorldClient {
+
+ private static final String TARGET_NAMESPACE = "http://helloworld-om";
+
+ public final static void main(String[] args) throws Exception {
+
+ SCARuntime.start("helloworldwsclient-om.composite");
+
+ // Invoke the HelloWorld service
+ CompositeContext compositeContext = CurrentCompositeContext.getContext();
+ HelloWorldService helloWorldService= compositeContext.locateService(HelloWorldService.class, "HelloWorldServiceComponent");
+ OMFactory fac= OMAbstractFactory.getOMFactory();
+
+ //create operation
+ OMElement opE = fac.createOMElement("getGreetings", TARGET_NAMESPACE, "helloworld");
+ //create parm
+ OMElement parmE = fac.createOMElement("name", TARGET_NAMESPACE, "helloworld");
+ //and value.
+ opE.addChild(parmE);
+ StringBuilder sb= new StringBuilder(1000);
+ for(String s : args){
+ sb.append(s);
+ }
+ parmE.addChild(fac.createOMText(sb.toString()));
+
+ OMElement value = helloWorldService.getGreetings(parmE);
+ printTRee(value);
+
+ out.println(value);
+ out.flush();
+
+ SCARuntime.stop();
+ }
+
+ private static void printTRee(OMElement value) {
+
+ out.println(value);
+ for(OMNode n = value.getFirstOMChild(); n != null; n= n.getNextOMSibling()){
+ if(n instanceof OMElement) printTRee((OMElement) n);
+ else out.println(n);
+ }
+ out.flush();
+
+ }
+}