You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by ch...@apache.org on 2005/02/03 15:53:34 UTC

svn commit: r151159 - in webservices/axis/trunk/java/dev/scratch/prototype2/src/samples/userguide/sample1/src/org: ./ apache/ apache/axis/ apache/axis/samples/ apache/axis/samples/userguide/ apache/axis/samples/userguide/sample1/ apache/axis/samples/userguide/sample1/client/ apache/axis/samples/userguide/sample1/server/

Author: chathura
Date: Thu Feb  3 06:53:32 2005
New Revision: 151159

URL: http://svn.apache.org/viewcvs?view=rev&rev=151159
Log:
Changed Package and Fixed EchoInt and EchoString (Sync)

Added:
    webservices/axis/trunk/java/dev/scratch/prototype2/src/samples/userguide/sample1/src/org/
    webservices/axis/trunk/java/dev/scratch/prototype2/src/samples/userguide/sample1/src/org/apache/
    webservices/axis/trunk/java/dev/scratch/prototype2/src/samples/userguide/sample1/src/org/apache/axis/
    webservices/axis/trunk/java/dev/scratch/prototype2/src/samples/userguide/sample1/src/org/apache/axis/samples/
    webservices/axis/trunk/java/dev/scratch/prototype2/src/samples/userguide/sample1/src/org/apache/axis/samples/userguide/
    webservices/axis/trunk/java/dev/scratch/prototype2/src/samples/userguide/sample1/src/org/apache/axis/samples/userguide/sample1/
    webservices/axis/trunk/java/dev/scratch/prototype2/src/samples/userguide/sample1/src/org/apache/axis/samples/userguide/sample1/client/
    webservices/axis/trunk/java/dev/scratch/prototype2/src/samples/userguide/sample1/src/org/apache/axis/samples/userguide/sample1/client/EchoInt.java
    webservices/axis/trunk/java/dev/scratch/prototype2/src/samples/userguide/sample1/src/org/apache/axis/samples/userguide/sample1/client/EchoString.java
    webservices/axis/trunk/java/dev/scratch/prototype2/src/samples/userguide/sample1/src/org/apache/axis/samples/userguide/sample1/client/InteropTest_Stub.java
    webservices/axis/trunk/java/dev/scratch/prototype2/src/samples/userguide/sample1/src/org/apache/axis/samples/userguide/sample1/server/
    webservices/axis/trunk/java/dev/scratch/prototype2/src/samples/userguide/sample1/src/org/apache/axis/samples/userguide/sample1/server/SampleEnvironmentCreator.java
    webservices/axis/trunk/java/dev/scratch/prototype2/src/samples/userguide/sample1/src/org/apache/axis/samples/userguide/sample1/server/TestServer.java

Added: webservices/axis/trunk/java/dev/scratch/prototype2/src/samples/userguide/sample1/src/org/apache/axis/samples/userguide/sample1/client/EchoInt.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/prototype2/src/samples/userguide/sample1/src/org/apache/axis/samples/userguide/sample1/client/EchoInt.java?view=auto&rev=151159
==============================================================================
--- webservices/axis/trunk/java/dev/scratch/prototype2/src/samples/userguide/sample1/src/org/apache/axis/samples/userguide/sample1/client/EchoInt.java (added)
+++ webservices/axis/trunk/java/dev/scratch/prototype2/src/samples/userguide/sample1/src/org/apache/axis/samples/userguide/sample1/client/EchoInt.java Thu Feb  3 06:53:32 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.sample1.client;
+
+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.setEndPointReference(new EndpointReference(AddressingConstants.WSA_TO, url.toString()));
+		Integer echoInt = clientStub.echoInt(new Integer(794));
+		System.out.println(echoInt);
+		
+	}
+
+}

Added: webservices/axis/trunk/java/dev/scratch/prototype2/src/samples/userguide/sample1/src/org/apache/axis/samples/userguide/sample1/client/EchoString.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/prototype2/src/samples/userguide/sample1/src/org/apache/axis/samples/userguide/sample1/client/EchoString.java?view=auto&rev=151159
==============================================================================
--- webservices/axis/trunk/java/dev/scratch/prototype2/src/samples/userguide/sample1/src/org/apache/axis/samples/userguide/sample1/client/EchoString.java (added)
+++ webservices/axis/trunk/java/dev/scratch/prototype2/src/samples/userguide/sample1/src/org/apache/axis/samples/userguide/sample1/client/EchoString.java Thu Feb  3 06:53:32 2005
@@ -0,0 +1,40 @@
+/*
+ * 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.sample1.client;
+
+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 EchoString {
+
+	public static void main(String[] args) throws Exception{
+		InteropTest_Stub stub =new InteropTest_Stub();
+		URL url = new URL("http","127.0.0.1",EngineUtils.TESTING_PORT,"/axis/services/EchoXMLService");
+		stub.setEndPointReference(new EndpointReference(AddressingConstants.WSA_TO, url.toString()));
+		System.out.println(stub.echoString("does this damn think work"));
+		
+		
+	}
+	
+	
+}

Added: webservices/axis/trunk/java/dev/scratch/prototype2/src/samples/userguide/sample1/src/org/apache/axis/samples/userguide/sample1/client/InteropTest_Stub.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/prototype2/src/samples/userguide/sample1/src/org/apache/axis/samples/userguide/sample1/client/InteropTest_Stub.java?view=auto&rev=151159
==============================================================================
--- webservices/axis/trunk/java/dev/scratch/prototype2/src/samples/userguide/sample1/src/org/apache/axis/samples/userguide/sample1/client/InteropTest_Stub.java (added)
+++ webservices/axis/trunk/java/dev/scratch/prototype2/src/samples/userguide/sample1/src/org/apache/axis/samples/userguide/sample1/client/InteropTest_Stub.java Thu Feb  3 06:53:32 2005
@@ -0,0 +1,166 @@
+/*
+ * 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.sample1.client;
+
+import java.util.Iterator;
+
+import org.apache.axis.addressing.EndpointReference;
+import org.apache.axis.clientapi.Call;
+import org.apache.axis.engine.AxisFault;
+import org.apache.axis.om.OMElement;
+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.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+/**
+ * This file is hand written for the M1 demp purposes and will be 
+ * auto generated fron WSDLx4Java tool.
+ * 
+ */
+public class InteropTest_Stub {
+
+	private OMFactory omFactory = OMFactory.newInstance();
+	private Call call = new Call();
+	protected Log log = LogFactory.getLog(this.getClass());
+	
+		
+	
+	/////////////////////////////////////////////////////////////
+	///					  User setter methods                 ///
+	/////////////////////////////////////////////////////////////
+	
+	public void setEndPointReference(EndpointReference epr){
+		this.call.setTo(epr);		
+	}
+	
+	
+	
+	///////////////////////////////////////////////////////////////
+	///                  Webservice Operations					///
+	///////////////////////////////////////////////////////////////
+	
+	public java.lang.String echoString(java.lang.String inputValue)throws AxisFault{
+		this.validate();
+		SOAPEnvelope responceEnvelop = call.sendReceive(this.getSOAPEnvelopForEchoString(inputValue));	
+		return this.getEchoStringFromSOAPEnvelop(responceEnvelop);	
+	}
+	
+	public Integer echoInt(Integer inputValue) throws AxisFault{
+		this.validate();
+		SOAPEnvelope responceEnvelop = call.sendReceive(this.getSOAPEnvelopForEchoInt(inputValue));		
+		return this.getEchoIntFromSOAPEnvelop(responceEnvelop);		
+	}
+	
+	
+	
+	////////////////////////////////////////////////////////////////
+	//						Util Methods						  //
+	////////////////////////////////////////////////////////////////
+	
+	
+	protected SOAPEnvelope getSOAPEnvelopForEchoString(String value){
+		SOAPEnvelope envelop = OMFactory.newInstance().getDefaultEnvelope();
+		OMNamespace interopNamespace = envelop.declareNamespace("http://soapinterop.org/", "interop");
+		OMElement echoStringMessage = omFactory.createOMElement("echoString", interopNamespace);
+		OMElement text = omFactory.createOMElement("Text", interopNamespace);
+		text.addChild(omFactory.createText(value));
+		echoStringMessage.addChild(text);
+		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) 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 && "echoStringResponse".equalsIgnoreCase(((OMElement)child).getLocalName())){
+				response = (OMElement)child;				
+			}
+		}		
+		Iterator textChild = response.getChildren();
+		while(textChild.hasNext()){
+			OMNode  child = (OMNode) textChild.next();
+			if(child instanceof OMElement && "echoStringReturn".equalsIgnoreCase(((OMElement)child).getLocalName())){
+				
+				OMNode val =((OMElement)child).getFirstChild();
+				if(val instanceof OMText)
+					return new String(((OMText)val).getValue());
+				
+			}
+		}
+		
+		this.log.info("Invalid data Binding");
+		throw new AxisFault("Invalid data Binding");		
+	}
+	
+	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{
+		String errorMessage = null;
+		if(null == this.call.getTO())
+			errorMessage = "End Point reference is not set: ";
+		
+		if(null != errorMessage){
+			errorMessage = "One or more Errors occured :: "+ errorMessage;
+			throw new AxisFault(errorMessage);
+		}
+	}
+	
+}

Added: webservices/axis/trunk/java/dev/scratch/prototype2/src/samples/userguide/sample1/src/org/apache/axis/samples/userguide/sample1/server/SampleEnvironmentCreator.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/prototype2/src/samples/userguide/sample1/src/org/apache/axis/samples/userguide/sample1/server/SampleEnvironmentCreator.java?view=auto&rev=151159
==============================================================================
--- webservices/axis/trunk/java/dev/scratch/prototype2/src/samples/userguide/sample1/src/org/apache/axis/samples/userguide/sample1/server/SampleEnvironmentCreator.java (added)
+++ webservices/axis/trunk/java/dev/scratch/prototype2/src/samples/userguide/sample1/src/org/apache/axis/samples/userguide/sample1/server/SampleEnvironmentCreator.java Thu Feb  3 06:53:32 2005
@@ -0,0 +1,171 @@
+/*
+ * 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.sample1.server;
+
+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;
+import org.apache.axis.engine.Echo;
+import org.apache.axis.engine.EngineRegistry;
+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;
+
+/**
+ * @author chathura@opensource.lk
+ * 
+ */
+public class SampleEnvironmentCreator extends  AbstractTestCase{
+	
+    private Log log = LogFactory.getLog(getClass());
+    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");
+
+    private EngineRegistry engineRegistry;
+    private MessageContext mc;
+    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);
+    }
+    
+    public void setUp() throws Exception {
+        AxisGlobal global = new AxisGlobal();
+        engineRegistry = new org.apache.axis.impl.engine.EngineRegistryImpl(global);
+        
+        AxisService service = new AxisService(serviceName);
+        service.setClassLoader(Thread.currentThread().getContextClassLoader());
+        service.setServiceClass(Echo.class);
+        service.setProvider(new SimpleJavaProvider());
+
+        AxisOperation operation1 = new SimpleAxisOperationImpl(operationName1);
+        service.addOperation(operation1);
+        
+        AxisOperation operation2 = new SimpleAxisOperationImpl(operationName2);
+        service.addOperation(operation2);
+
+        EngineUtils.createExecutionChains(service);
+        engineRegistry.addService(service);
+        
+        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;
+}
+	
+    
+}

Added: webservices/axis/trunk/java/dev/scratch/prototype2/src/samples/userguide/sample1/src/org/apache/axis/samples/userguide/sample1/server/TestServer.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/prototype2/src/samples/userguide/sample1/src/org/apache/axis/samples/userguide/sample1/server/TestServer.java?view=auto&rev=151159
==============================================================================
--- webservices/axis/trunk/java/dev/scratch/prototype2/src/samples/userguide/sample1/src/org/apache/axis/samples/userguide/sample1/server/TestServer.java (added)
+++ webservices/axis/trunk/java/dev/scratch/prototype2/src/samples/userguide/sample1/src/org/apache/axis/samples/userguide/sample1/server/TestServer.java Thu Feb  3 06:53:32 2005
@@ -0,0 +1,37 @@
+/*
+ * 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.sample1.server;
+
+import org.apache.axis.engine.EngineUtils;
+
+/**
+ * @author chathura@opensource.lk
+ * 
+ */
+public class TestServer {
+
+	public static void main(String[] args) throws Exception {
+		
+		new SampleEnvironmentCreator().setUp();
+		Thread.sleep(300000);
+	}
+	
+	protected void tearDown() throws Exception {
+        EngineUtils.stopServer();    
+        Thread.sleep(1000);
+        System.out.println("Server shuting down......");
+	}
+}