You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by ch...@apache.org on 2005/02/01 10:53:30 UTC

svn commit: r149379 - in webservices/axis/trunk/java/dev/scratch/prototype2/samples/org/apache/axis/samples/userguide/example1: EchoInt.java InteropTest_Stub.java SampleEnvironmentCreator.java TestServer.java

Author: chathura
Date: Tue Feb  1 01:53:27 2005
New Revision: 149379

URL: http://svn.apache.org/viewcvs?view=rev&rev=149379
Log:
Completed Sample for EchoInt

Added:
    webservices/axis/trunk/java/dev/scratch/prototype2/samples/org/apache/axis/samples/userguide/example1/EchoInt.java
Modified:
    webservices/axis/trunk/java/dev/scratch/prototype2/samples/org/apache/axis/samples/userguide/example1/InteropTest_Stub.java
    webservices/axis/trunk/java/dev/scratch/prototype2/samples/org/apache/axis/samples/userguide/example1/SampleEnvironmentCreator.java
    webservices/axis/trunk/java/dev/scratch/prototype2/samples/org/apache/axis/samples/userguide/example1/TestServer.java

Added: webservices/axis/trunk/java/dev/scratch/prototype2/samples/org/apache/axis/samples/userguide/example1/EchoInt.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/prototype2/samples/org/apache/axis/samples/userguide/example1/EchoInt.java?view=auto&rev=149379
==============================================================================
--- webservices/axis/trunk/java/dev/scratch/prototype2/samples/org/apache/axis/samples/userguide/example1/EchoInt.java (added)
+++ webservices/axis/trunk/java/dev/scratch/prototype2/samples/org/apache/axis/samples/userguide/example1/EchoInt.java Tue Feb  1 01:53:27 2005
@@ -0,0 +1,39 @@
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * 
+ * Licensed 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 org.apache.axis.samples.userguide.example1;
+
+import java.net.URL;
+
+import org.apache.axis.addressing.AddressingConstants;
+import org.apache.axis.addressing.EndpointReference;
+import org.apache.axis.engine.EngineUtils;
+
+/**
+ * @author chathura@opensource.lk
+ * 
+ */
+public class EchoInt {
+	
+	public static void main(String[] args) throws Exception {
+		InteropTest_Stub clientStub = new InteropTest_Stub();
+		URL url = new URL("http","127.0.0.1",EngineUtils.TESTING_PORT,"/axis/services/EchoXMLService");
+		clientStub.setEnePointReference(new EndpointReference(AddressingConstants.WSA_TO, url.toString()));
+		Integer echoInt = clientStub.echoInt(new Integer(794));
+		System.out.println(echoInt);
+		
+	}
+
+}

Modified: webservices/axis/trunk/java/dev/scratch/prototype2/samples/org/apache/axis/samples/userguide/example1/InteropTest_Stub.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/prototype2/samples/org/apache/axis/samples/userguide/example1/InteropTest_Stub.java?view=diff&r1=149378&r2=149379
==============================================================================
--- webservices/axis/trunk/java/dev/scratch/prototype2/samples/org/apache/axis/samples/userguide/example1/InteropTest_Stub.java (original)
+++ webservices/axis/trunk/java/dev/scratch/prototype2/samples/org/apache/axis/samples/userguide/example1/InteropTest_Stub.java Tue Feb  1 01:53:27 2005
@@ -26,8 +26,10 @@
 import org.apache.axis.om.OMFactory;
 import org.apache.axis.om.OMNamespace;
 import org.apache.axis.om.OMNode;
+import org.apache.axis.om.OMText;
 import org.apache.axis.om.SOAPEnvelope;
-import org.apache.axis.samples.utils.OMUtil;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 
 /**
  * This file is hand written for the M1 demp purposes and will be 
@@ -38,6 +40,7 @@
 
 	private OMFactory omFactory = OMFactory.newInstance();
 	private Call call = new Call();
+	protected Log log = LogFactory.getLog(this.getClass());
 	
 		
 	
@@ -56,11 +59,16 @@
 	public java.lang.String echoString(java.lang.String inputValue)throws AxisFault{
 		this.validate();
 		SOAPEnvelope responceEnvelop = call.sendReceive(this.getSOAPEnvelopForEchoString(inputValue));	
-		return this.getEchoStringFromSOAPEnvelop(responceEnvelop);
-		
-		
-		
+		return this.getEchoStringFromSOAPEnvelop(responceEnvelop);	
 	}
+	
+	public Integer echoInt(Integer inputValue) throws AxisFault{
+		this.validate();
+		SOAPEnvelope responceEnvelop = call.sendReceive(this.getSOAPEnvelopForEchoInt(inputValue));		
+		return this.getEchoIntFromSOAPEnvelop(responceEnvelop);		
+	}
+	
+	
 	//\\\\\\\\\\\\\\\\End Webservice Operations\\\\\\\\\\\\\\\\\\//
 	
 	
@@ -74,16 +82,28 @@
 	
 	
 	protected SOAPEnvelope getSOAPEnvelopForEchoString(String value){
-		SOAPEnvelope envelop = OMUtil.getEmptySoapEnvelop();
+		SOAPEnvelope envelop = OMFactory.newInstance().getDefaultEnvelope();
 		OMNamespace interopNamespace = envelop.declareNamespace("http://soapinterop.org/", "interop");
 		OMElement echoStringMessage = omFactory.createOMElement("echoStringRequest", interopNamespace);
-		OMElement text = omFactory.createOMElement("Text", null);
+		OMElement text = omFactory.createOMElement("Text", interopNamespace);
 		text.addChild(omFactory.createText(value));
 		echoStringMessage.addChild(text);
-		envelop.addChild(echoStringMessage);
+		envelop.getBody().addChild(echoStringMessage);
 		return envelop;
 	}
 	
+	protected SOAPEnvelope getSOAPEnvelopForEchoInt(Integer value){
+		SOAPEnvelope envelope = OMFactory.newInstance().getDefaultEnvelope();
+		OMNamespace namespace = envelope.declareNamespace("http://soapinterop.org/", "interop");
+		OMElement echoIntMessage = omFactory.createOMElement("echoInt", namespace);
+		OMElement text = omFactory.createOMElement("Text", namespace);
+		text.addChild(omFactory.createText(value.toString()));
+		echoIntMessage.addChild(text);
+		envelope.getBody().addChild(echoIntMessage);
+		return envelope;		
+	}
+	
+	
 	protected String getEchoStringFromSOAPEnvelop(SOAPEnvelope envelop){
 		OMElement body = envelop.getBody();
 		OMElement response = null;
@@ -93,17 +113,41 @@
 			if(child instanceof OMElement && "echoStringResponse".equalsIgnoreCase(((OMElement)child).getLocalName())){
 				response = (OMElement)child;				
 			}
-		}
-		
+		}		
 		Iterator textChild = response.getChildrenWithName(new QName("", "Text"));
 		String value= null;
 		if(textChild.hasNext()){
 			 value = ((String)((OMElement)textChild.next()).getValue());
 		}
-		return value;
-		
+		return value;		
 	}
 	
+	protected Integer getEchoIntFromSOAPEnvelop(SOAPEnvelope envelop) throws AxisFault{
+		OMElement body = envelop.getBody();		
+		OMElement response = null;		
+		Iterator childrenIter = body.getChildren();
+		while(childrenIter.hasNext()){
+			OMNode child = (OMNode) childrenIter.next();
+			if(child instanceof OMElement && "echoIntResponse".equalsIgnoreCase(((OMElement)child).getLocalName())){
+				response = (OMElement)child;				
+			}
+		}
+		
+		Iterator textChild = response.getChildren();
+		while(textChild.hasNext()){
+			OMNode  child = (OMNode) textChild.next();
+			if(child instanceof OMElement && "echoIntReturn".equalsIgnoreCase(((OMElement)child).getLocalName())){
+				
+				OMNode val =((OMElement)child).getFirstChild();
+				if(val instanceof OMText)
+					return new Integer(((OMText)val).getValue());
+				
+			}
+		}
+		
+		this.log.info("Invalid data Binding");
+		throw new AxisFault("Invalid data Binding");	
+	}
 	
 	
 	protected void validate() throws AxisFault{

Modified: webservices/axis/trunk/java/dev/scratch/prototype2/samples/org/apache/axis/samples/userguide/example1/SampleEnvironmentCreator.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/prototype2/samples/org/apache/axis/samples/userguide/example1/SampleEnvironmentCreator.java?view=diff&r1=149378&r2=149379
==============================================================================
--- webservices/axis/trunk/java/dev/scratch/prototype2/samples/org/apache/axis/samples/userguide/example1/SampleEnvironmentCreator.java (original)
+++ webservices/axis/trunk/java/dev/scratch/prototype2/samples/org/apache/axis/samples/userguide/example1/SampleEnvironmentCreator.java Tue Feb  1 01:53:27 2005
@@ -15,8 +15,17 @@
  */
 package org.apache.axis.samples.userguide.example1;
 
+import java.io.FileReader;
+import java.net.URL;
+
 import javax.xml.namespace.QName;
+import javax.xml.stream.XMLInputFactory;
+import javax.xml.stream.XMLOutputFactory;
 
+import org.apache.axis.AbstractTestCase;
+import org.apache.axis.addressing.AddressingConstants;
+import org.apache.axis.addressing.EndpointReference;
+import org.apache.axis.clientapi.Call;
 import org.apache.axis.context.MessageContext;
 import org.apache.axis.description.AxisGlobal;
 import org.apache.axis.description.AxisOperation;
@@ -25,8 +34,10 @@
 import org.apache.axis.engine.EngineUtils;
 import org.apache.axis.impl.description.AxisService;
 import org.apache.axis.impl.description.SimpleAxisOperationImpl;
+import org.apache.axis.impl.llom.builder.StAXSOAPModelBuilder;
 import org.apache.axis.impl.providers.SimpleJavaProvider;
 import org.apache.axis.impl.transport.http.SimpleHTTPReceiver;
+import org.apache.axis.om.SOAPEnvelope;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
@@ -34,10 +45,10 @@
  * @author chathura@opensource.lk
  * 
  */
-public class SampleEnvironmentCreator {
+public class SampleEnvironmentCreator extends  AbstractTestCase{
 	
     private Log log = LogFactory.getLog(getClass());
-    private QName serviceName = new QName("","InteropService");
+    private QName serviceName = new QName("","EchoXMLService");
     private QName operationName1 = new QName("http://localhost/my","echoInt");
     private QName operationName2 = new QName("http://localhost/my","echoString");
     private QName transportName = new QName("http://localhost/my","NullTransport");
@@ -47,6 +58,22 @@
     private Thread thisThread = null;
     private SimpleHTTPReceiver sas;
     
+    public SampleEnvironmentCreator(){
+        super(SampleEnvironmentCreator.class.getName());
+//        try {
+//			this.setUp();
+//			this.testInt();
+//			this.tearDown();
+//		} catch (Exception e) {
+//			// TODO Auto-generated catch block
+//			e.printStackTrace();
+//		}
+        
+    }
+
+    public SampleEnvironmentCreator(String testName) {
+        super(testName);
+    }
     
     protected void setUp() throws Exception {
         AxisGlobal global = new AxisGlobal();
@@ -66,12 +93,79 @@
         EngineUtils.createExecutionChains(service);
         engineRegistry.addService(service);
         
-        sas = EngineUtils.startServer(engineRegistry);
-        
-        
+        sas = EngineUtils.startServer(engineRegistry);        
     }
     
     
-    
+    protected void tearDown() throws Exception {
+        EngineUtils.stopServer();    
+        Thread.sleep(1000);
+}
 
+
+public void testInt() throws Exception{
+    try{
+   
+        Call call = new Call();
+        URL url = new URL("http","127.0.0.1",EngineUtils.TESTING_PORT,"/axis/services/EchoXMLService");
+        EndpointReference epr = new EndpointReference(AddressingConstants.WSA_TO, url.toString());
+        call.setTo(epr);
+        SOAPEnvelope reply = call.sendReceive(this.getechoIntEnvelope());
+        reply.serialize(XMLOutputFactory.newInstance().createXMLStreamWriter(System.out), false);
+        
+    }catch(Exception e){
+        e.printStackTrace();
+        tearDown();
+        throw e;
+    }    
+}
+public void testString() throws Exception{
+//    try{
+//        OMFactory fac = OMFactory.newInstance();
+//
+//        OMNamespace omNs = fac.createOMNamespace("http://localhost/my","my");
+//        OMElement method =  fac.createOMElement("echoOMElement",omNs) ;
+//        OMElement value =  fac.createOMElement("myValue",omNs) ;
+//        value.setValue("Isaac Assimov, the foundation Sega");
+//        method.addChild(value);
+//        
+//        Call call = new Call();
+//        URL url = new URL("http","127.0.0.1",EngineUtils.TESTING_PORT,"/axis/services/EchoXMLService");
+//        
+//        CallBack callback = new CallBack() {
+//            public void doWork(OMElement ele) {
+//                System.out.print("got the result = " + ele +" :)");
+//
+//            }
+//            public void reportError(Exception e) {
+//                log.info("reporting error from callback !");
+//                e.printStackTrace();
+//            }
+//        };
+//        
+//        call.asyncCall(method,url,callback);
+//        log.info("send the reqest");
+//        
+//        Thread.sleep(1000);
+//    }catch(Exception e){
+//        e.printStackTrace();
+//        tearDown();
+//        throw e;
+//    }    
+}
+
+ public static void main(String[] args) {
+ 	new SampleEnvironmentCreator();
+	
+}
+
+private SOAPEnvelope getechoIntEnvelope() throws Exception {
+
+    SOAPEnvelope envelope = new StAXSOAPModelBuilder(XMLInputFactory.newInstance().createXMLStreamReader(
+            new FileReader(getTestResourceFile("echo/echoInt.xml")))).getSOAPEnvelope();
+    envelope.serialize(XMLOutputFactory.newInstance().createXMLStreamWriter(System.out), false);
+    return envelope;
+}
+	
+    
 }

Modified: webservices/axis/trunk/java/dev/scratch/prototype2/samples/org/apache/axis/samples/userguide/example1/TestServer.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/prototype2/samples/org/apache/axis/samples/userguide/example1/TestServer.java?view=diff&r1=149378&r2=149379
==============================================================================
--- webservices/axis/trunk/java/dev/scratch/prototype2/samples/org/apache/axis/samples/userguide/example1/TestServer.java (original)
+++ webservices/axis/trunk/java/dev/scratch/prototype2/samples/org/apache/axis/samples/userguide/example1/TestServer.java Tue Feb  1 01:53:27 2005
@@ -26,7 +26,7 @@
 	public static void main(String[] args) throws Exception {
 		
 		new SampleEnvironmentCreator().setUp();
-		Thread.sleep(150000);
+		Thread.sleep(300000);
 	}
 	
 	protected void tearDown() throws Exception {