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......");
+ }
+}