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 am...@apache.org on 2007/08/14 15:54:54 UTC
svn commit: r565760 - in /webservices/axis2/trunk/java/modules:
rmi/src/org/apache/axis2/rmi/client/ rmi/src/org/apache/axis2/rmi/databind/
rmi/src/org/apache/axis2/rmi/metadata/ rmi/test/org/apache/axis2/rmi/client/
rmi/test/org/apache/axis2/rmi/datab...
Author: amilas
Date: Tue Aug 14 06:54:52 2007
New Revision: 565760
URL: http://svn.apache.org/viewvc?view=rev&rev=565760
Log:
Add the proxy support to create client stubs. in this way user can invoke their
java service as in a normal java envirionment
Added:
webservices/axis2/trunk/java/modules/rmi/src/org/apache/axis2/rmi/client/ProxyInvocationHandler.java
webservices/axis2/trunk/java/modules/rmi/src/org/apache/axis2/rmi/client/RMIClientProxy.java
webservices/axis2/trunk/java/modules/rmi/test/org/apache/axis2/rmi/server/services/Service1Interface.java
webservices/axis2/trunk/java/modules/samples/rmi/src/sample/rmi/server/Service1Interface.java
webservices/axis2/trunk/java/modules/samples/rmi/src/sample/rmi/server/Service2Interface.java
webservices/axis2/trunk/java/modules/samples/rmi/src/sample/rmi/server/Service3Interface.java
webservices/axis2/trunk/java/modules/samples/rmi/src/sample/rmi/server/Service4Interface.java
Modified:
webservices/axis2/trunk/java/modules/rmi/src/org/apache/axis2/rmi/client/RMIClient.java
webservices/axis2/trunk/java/modules/rmi/src/org/apache/axis2/rmi/databind/JavaObjectSerializer.java
webservices/axis2/trunk/java/modules/rmi/src/org/apache/axis2/rmi/metadata/Service.java
webservices/axis2/trunk/java/modules/rmi/test/org/apache/axis2/rmi/client/RMIClientService1Test.java
webservices/axis2/trunk/java/modules/rmi/test/org/apache/axis2/rmi/databind/RequestResponseTest.java
webservices/axis2/trunk/java/modules/rmi/test/org/apache/axis2/rmi/server/ServerTest.java
webservices/axis2/trunk/java/modules/rmi/test/org/apache/axis2/rmi/server/services/Service1.java
webservices/axis2/trunk/java/modules/samples/rmi/src/sample/rmi/client/TestService1.java
webservices/axis2/trunk/java/modules/samples/rmi/src/sample/rmi/client/TestService2.java
webservices/axis2/trunk/java/modules/samples/rmi/src/sample/rmi/client/TestService3.java
webservices/axis2/trunk/java/modules/samples/rmi/src/sample/rmi/client/TestService4.java
webservices/axis2/trunk/java/modules/samples/rmi/src/sample/rmi/server/Service1.java
webservices/axis2/trunk/java/modules/samples/rmi/src/sample/rmi/server/Service2.java
webservices/axis2/trunk/java/modules/samples/rmi/src/sample/rmi/server/Service3.java
webservices/axis2/trunk/java/modules/samples/rmi/src/sample/rmi/server/Service4.java
Added: webservices/axis2/trunk/java/modules/rmi/src/org/apache/axis2/rmi/client/ProxyInvocationHandler.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/rmi/src/org/apache/axis2/rmi/client/ProxyInvocationHandler.java?view=auto&rev=565760
==============================================================================
--- webservices/axis2/trunk/java/modules/rmi/src/org/apache/axis2/rmi/client/ProxyInvocationHandler.java (added)
+++ webservices/axis2/trunk/java/modules/rmi/src/org/apache/axis2/rmi/client/ProxyInvocationHandler.java Tue Aug 14 06:54:52 2007
@@ -0,0 +1,39 @@
+/*
+ * Copyright 2004,2005 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.axis2.rmi.client;
+
+import org.apache.axis2.rmi.Configurator;
+import org.apache.axis2.AxisFault;
+
+import java.lang.reflect.InvocationHandler;
+import java.lang.reflect.Method;
+
+
+public class ProxyInvocationHandler implements InvocationHandler {
+
+ private RMIClient rmiClient;
+
+ public ProxyInvocationHandler(Class interfaceClass,
+ Configurator configurator,
+ String epr) throws AxisFault {
+ this.rmiClient = new RMIClient(interfaceClass,configurator,epr);
+ }
+
+ public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
+ // invoke the rmiclient object
+ return this.rmiClient.invokeMethod(method.getName(),args);
+ }
+}
Modified: webservices/axis2/trunk/java/modules/rmi/src/org/apache/axis2/rmi/client/RMIClient.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/rmi/src/org/apache/axis2/rmi/client/RMIClient.java?view=diff&rev=565760&r1=565759&r2=565760
==============================================================================
--- webservices/axis2/trunk/java/modules/rmi/src/org/apache/axis2/rmi/client/RMIClient.java (original)
+++ webservices/axis2/trunk/java/modules/rmi/src/org/apache/axis2/rmi/client/RMIClient.java Tue Aug 14 06:54:52 2007
@@ -102,7 +102,7 @@
}
public Object invokeMethod(String operationName,
- List inputObjects) throws Exception {
+ Object[] inputObjects) throws Exception {
Operation operation = this.service.getOperation(operationName);
OMElement inputOMElement = getInputOMElement(inputObjects,
@@ -140,7 +140,7 @@
return returnObject;
}
- private OMElement getInputOMElement(final List inputObjects,
+ private OMElement getInputOMElement(final Object[] inputObjects,
final Operation operation,
final JavaObjectSerializer javaObjectSerializer,
OMFactory omFactory) {
Added: webservices/axis2/trunk/java/modules/rmi/src/org/apache/axis2/rmi/client/RMIClientProxy.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/rmi/src/org/apache/axis2/rmi/client/RMIClientProxy.java?view=auto&rev=565760
==============================================================================
--- webservices/axis2/trunk/java/modules/rmi/src/org/apache/axis2/rmi/client/RMIClientProxy.java (added)
+++ webservices/axis2/trunk/java/modules/rmi/src/org/apache/axis2/rmi/client/RMIClientProxy.java Tue Aug 14 06:54:52 2007
@@ -0,0 +1,44 @@
+/*
+ * Copyright 2004,2005 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.axis2.rmi.client;
+
+import org.apache.axis2.rmi.Configurator;
+import org.apache.axis2.AxisFault;
+
+import java.lang.reflect.Proxy;
+import java.lang.reflect.InvocationHandler;
+
+/**
+ * this class is used to generate the proxy clients.
+ */
+
+public class RMIClientProxy {
+ public static Object createProxy(Class interfaceClass,
+ Configurator configurator,
+ String epr) throws AxisFault {
+ InvocationHandler invocationHandler = new ProxyInvocationHandler(interfaceClass,configurator,epr);
+ Object proxy = Proxy.newProxyInstance(Thread.currentThread().getContextClassLoader(),
+ new Class[]{interfaceClass},
+ invocationHandler);
+ return proxy;
+
+ }
+
+ public static Object createProxy(Class interfaceClass,
+ String epr) throws AxisFault {
+ return createProxy(interfaceClass,new Configurator(),epr);
+ }
+}
Modified: webservices/axis2/trunk/java/modules/rmi/src/org/apache/axis2/rmi/databind/JavaObjectSerializer.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/rmi/src/org/apache/axis2/rmi/databind/JavaObjectSerializer.java?view=diff&rev=565760&r1=565759&r2=565760
==============================================================================
--- webservices/axis2/trunk/java/modules/rmi/src/org/apache/axis2/rmi/databind/JavaObjectSerializer.java (original)
+++ webservices/axis2/trunk/java/modules/rmi/src/org/apache/axis2/rmi/databind/JavaObjectSerializer.java Tue Aug 14 06:54:52 2007
@@ -67,7 +67,7 @@
* @throws XmlSerializingException
*/
- public void serializeInputElement(List objects,
+ public void serializeInputElement(Object[] objects,
XmlElement inputXmlElement,
List inputParameters,
XMLStreamWriter writer) throws XMLStreamException,
@@ -77,12 +77,16 @@
inputXmlElement.getNamespace(),
inputXmlElement.getName(),
namespacePrefix);
- for (int i = 0; i < objects.size(); i++) {
- serializeParameter(objects.get(i),
- (Parameter) inputParameters.get(i),
- writer,
- namespacePrefix);
+ // input objects null means no parameters
+ if (objects != null) {
+ for (int i = 0; i < objects.length; i++) {
+ serializeParameter(objects[i],
+ (Parameter) inputParameters.get(i),
+ writer,
+ namespacePrefix);
+ }
}
+
writer.writeEndElement();
}
Modified: webservices/axis2/trunk/java/modules/rmi/src/org/apache/axis2/rmi/metadata/Service.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/rmi/src/org/apache/axis2/rmi/metadata/Service.java?view=diff&rev=565760&r1=565759&r2=565760
==============================================================================
--- webservices/axis2/trunk/java/modules/rmi/src/org/apache/axis2/rmi/metadata/Service.java (original)
+++ webservices/axis2/trunk/java/modules/rmi/src/org/apache/axis2/rmi/metadata/Service.java Tue Aug 14 06:54:52 2007
@@ -123,8 +123,8 @@
javaMethod = javaMethods[i];
// we generate oprations only from the public methods
//TODO : remove overload methods
- if (Modifier.isPublic(javaMethod.getModifiers()) &&
- !Modifier.isAbstract(javaMethod.getModifiers())) {
+ if (this.javaClass.isInterface() || (Modifier.isPublic(javaMethod.getModifiers()) &&
+ !Modifier.isAbstract(javaMethod.getModifiers()))) {
operation = new Operation(javaMethod);
operation.setNamespace(this.namespace);
operation.populateMetaData(configurator, this.processedTypeMap, this.exceptionClassToParameterMap);
Modified: webservices/axis2/trunk/java/modules/rmi/test/org/apache/axis2/rmi/client/RMIClientService1Test.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/rmi/test/org/apache/axis2/rmi/client/RMIClientService1Test.java?view=diff&rev=565760&r1=565759&r2=565760
==============================================================================
--- webservices/axis2/trunk/java/modules/rmi/test/org/apache/axis2/rmi/client/RMIClientService1Test.java (original)
+++ webservices/axis2/trunk/java/modules/rmi/test/org/apache/axis2/rmi/client/RMIClientService1Test.java Tue Aug 14 06:54:52 2007
@@ -16,6 +16,7 @@
package org.apache.axis2.rmi.client;
import org.apache.axis2.rmi.server.services.Service1;
+import org.apache.axis2.rmi.server.services.Service1Interface;
import org.apache.axis2.AxisFault;
import java.util.List;
@@ -26,31 +27,42 @@
public class RMIClientService1Test extends TestCase {
- public void testMethod11(){
+ public void testMethod11() {
+ try {
+ Service1Interface proxy = (Service1Interface) RMIClientProxy.createProxy(Service1Interface.class,
+ "http://localhost:8085/axis2/services/Service1");
+ String result = proxy.method1("Hellow world");
+ assertEquals(result, "Hellow world");
+ } catch (AxisFault axisFault) {
+ axisFault.printStackTrace();
+ }
+
+ }
+
+ public void testMethod12() {
try {
- RMIClient rmiClient = new RMIClient(Service1.class,
+ Service1Interface proxy = (Service1Interface) RMIClientProxy.createProxy(Service1Interface.class,
"http://localhost:8085/axis2/services/Service1");
- List inputObject = new ArrayList();
- inputObject.add("Hellow world");
- String returnString = (String) rmiClient.invokeMethod("method1",inputObject);
- assertEquals(returnString,"Hellow world");
- } catch (Exception e) {
- fail();
+ String result = proxy.method1(null);
+ assertEquals(result, null);
+ } catch (AxisFault axisFault) {
+ axisFault.printStackTrace();
}
+
}
- public void testMethod12(){
+ public void testMethod2() {
try {
- RMIClient rmiClient = new RMIClient(Service1.class,
+ Service1Interface proxy = (Service1Interface) RMIClientProxy.createProxy(Service1Interface.class,
"http://localhost:8085/axis2/services/Service1");
- List inputObject = new ArrayList();
- inputObject.add(null);
- String returnString = (String) rmiClient.invokeMethod("method1",inputObject);
- assertNull(returnString);
- } catch (Exception e) {
- fail();
+ String[] result = proxy.method2(new String[]{"param1","param2"});
+ assertEquals(result[0], "param1");
+ assertEquals(result[1], "param2");
+ } catch (AxisFault axisFault) {
+ axisFault.printStackTrace();
}
+
}
}
Modified: webservices/axis2/trunk/java/modules/rmi/test/org/apache/axis2/rmi/databind/RequestResponseTest.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/rmi/test/org/apache/axis2/rmi/databind/RequestResponseTest.java?view=diff&rev=565760&r1=565759&r2=565760
==============================================================================
--- webservices/axis2/trunk/java/modules/rmi/test/org/apache/axis2/rmi/databind/RequestResponseTest.java (original)
+++ webservices/axis2/trunk/java/modules/rmi/test/org/apache/axis2/rmi/databind/RequestResponseTest.java Tue Aug 14 06:54:52 2007
@@ -53,7 +53,7 @@
throws XMLStreamException, XmlSerializingException, XmlParsingException {
StringWriter inputStringWriter = new StringWriter();
XMLStreamWriter inputXmlStreamWriter = StAXUtils.createXMLStreamWriter(inputStringWriter);
- this.javaObjectSerializer.serializeInputElement(inputObjects,
+ this.javaObjectSerializer.serializeInputElement(inputObjects.toArray(),
operation.getInputElement(),
operation.getInputParameters(),
inputXmlStreamWriter);
Modified: webservices/axis2/trunk/java/modules/rmi/test/org/apache/axis2/rmi/server/ServerTest.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/rmi/test/org/apache/axis2/rmi/server/ServerTest.java?view=diff&rev=565760&r1=565759&r2=565760
==============================================================================
--- webservices/axis2/trunk/java/modules/rmi/test/org/apache/axis2/rmi/server/ServerTest.java (original)
+++ webservices/axis2/trunk/java/modules/rmi/test/org/apache/axis2/rmi/server/ServerTest.java Tue Aug 14 06:54:52 2007
@@ -36,8 +36,8 @@
public class ServerTest {
- public static final String AXIS2_CONFIG_FILE = "conf/axis2.xml";
- public static final String AXIS2_REPOSITORY_LOCATION = "repository";
+ public static final String AXIS2_CONFIG_FILE = "modules/rmi/conf/axis2.xml";
+ public static final String AXIS2_REPOSITORY_LOCATION = "modules/rmi/repository";
public void deployAndStartService() {
try {
Modified: webservices/axis2/trunk/java/modules/rmi/test/org/apache/axis2/rmi/server/services/Service1.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/rmi/test/org/apache/axis2/rmi/server/services/Service1.java?view=diff&rev=565760&r1=565759&r2=565760
==============================================================================
--- webservices/axis2/trunk/java/modules/rmi/test/org/apache/axis2/rmi/server/services/Service1.java (original)
+++ webservices/axis2/trunk/java/modules/rmi/test/org/apache/axis2/rmi/server/services/Service1.java Tue Aug 14 06:54:52 2007
@@ -16,7 +16,7 @@
package org.apache.axis2.rmi.server.services;
-public class Service1 {
+public class Service1 implements Service1Interface {
public String method1(String param1) {
return param1;
Added: webservices/axis2/trunk/java/modules/rmi/test/org/apache/axis2/rmi/server/services/Service1Interface.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/rmi/test/org/apache/axis2/rmi/server/services/Service1Interface.java?view=auto&rev=565760
==============================================================================
--- webservices/axis2/trunk/java/modules/rmi/test/org/apache/axis2/rmi/server/services/Service1Interface.java (added)
+++ webservices/axis2/trunk/java/modules/rmi/test/org/apache/axis2/rmi/server/services/Service1Interface.java Tue Aug 14 06:54:52 2007
@@ -0,0 +1,12 @@
+package org.apache.axis2.rmi.server.services;
+
+public interface Service1Interface {
+
+ public String method1(String param1);
+
+ public String[] method2(String[] param1);
+
+ public int mehtod3(int param1);
+
+ public int[] mehtod4(int[] param1);
+}
Modified: webservices/axis2/trunk/java/modules/samples/rmi/src/sample/rmi/client/TestService1.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/samples/rmi/src/sample/rmi/client/TestService1.java?view=diff&rev=565760&r1=565759&r2=565760
==============================================================================
--- webservices/axis2/trunk/java/modules/samples/rmi/src/sample/rmi/client/TestService1.java (original)
+++ webservices/axis2/trunk/java/modules/samples/rmi/src/sample/rmi/client/TestService1.java Tue Aug 14 06:54:52 2007
@@ -16,11 +16,8 @@
package sample.rmi.client;
import org.apache.axis2.rmi.Configurator;
-import org.apache.axis2.rmi.client.RMIClient;
-import sample.rmi.server.Service1;
-
-import java.util.ArrayList;
-import java.util.List;
+import org.apache.axis2.rmi.client.RMIClientProxy;
+import sample.rmi.server.Service1Interface;
public class TestService1 {
@@ -36,28 +33,28 @@
public void testMethod1() {
try {
- RMIClient rmiClient = new RMIClient(Service1.class, this.configurator, "http://localhost:8080/axis2/services/Service1");
- List inputObjects = new ArrayList();
- inputObjects.add("Hellow");
- inputObjects.add(" World");
- String result = (String) rmiClient.invokeMethod("method1", inputObjects);
+ Service1Interface proxy =
+ (Service1Interface) RMIClientProxy.createProxy(Service1Interface.class,
+ this.configurator,
+ "http://localhost:8080/axis2/services/Service1");
+ String result = proxy.method1("Hellow"," World");
System.out.println("Result ==> " + result);
} catch (Exception e) {
- e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
+ e.printStackTrace();
}
}
public void testMethod2() {
try {
- RMIClient rmiClient = new RMIClient(Service1.class, configurator, "http://localhost:8080/axis2/services/Service1");
- List inputObjects = new ArrayList();
- inputObjects.add(new Integer(5));
- inputObjects.add(new Integer(15));
- Integer result = (Integer) rmiClient.invokeMethod("method2", inputObjects);
+ Service1Interface proxy =
+ (Service1Interface) RMIClientProxy.createProxy(Service1Interface.class,
+ this.configurator,
+ "http://localhost:8080/axis2/services/Service1");
+ Integer result = proxy.method2(new Integer(5),new Integer(15));
System.out.println("Result ==> " + result);
} catch (Exception e) {
- e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
+ e.printStackTrace();
}
}
Modified: webservices/axis2/trunk/java/modules/samples/rmi/src/sample/rmi/client/TestService2.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/samples/rmi/src/sample/rmi/client/TestService2.java?view=diff&rev=565760&r1=565759&r2=565760
==============================================================================
--- webservices/axis2/trunk/java/modules/samples/rmi/src/sample/rmi/client/TestService2.java (original)
+++ webservices/axis2/trunk/java/modules/samples/rmi/src/sample/rmi/client/TestService2.java Tue Aug 14 06:54:52 2007
@@ -17,7 +17,10 @@
import org.apache.axis2.rmi.Configurator;
import org.apache.axis2.rmi.client.RMIClient;
+import org.apache.axis2.rmi.client.RMIClientProxy;
import sample.rmi.server.Service2;
+import sample.rmi.server.Service1Interface;
+import sample.rmi.server.Service2Interface;
import sample.rmi.server.dto.ChildClass;
import sample.rmi.server.dto.ParentClass;
import sample.rmi.server.dto.TestClass1;
@@ -41,14 +44,14 @@
public void testMethod11() {
try {
- RMIClient rmiClient = new RMIClient(Service2.class, configurator, "http://localhost:8080/axis2/services/Service2");
- List inputObjects = new ArrayList();
-
+ Service2Interface proxy =
+ (Service2Interface) RMIClientProxy.createProxy(Service2Interface.class,
+ this.configurator,
+ "http://localhost:8080/axis2/services/Service2");
ParentClass parentClass = new ParentClass();
parentClass.setParam1("test param1");
parentClass.setParam2(10);
- inputObjects.add(parentClass);
- ParentClass result = (ParentClass) rmiClient.invokeMethod("method1", inputObjects);
+ ParentClass result = proxy.method1(parentClass);
System.out.println("Result param 1 ==> " + result.getParam1());
System.out.println("Result param 2 ==> " + result.getParam2());
} catch (Exception e) {
@@ -59,16 +62,16 @@
public void testMethod12() {
try {
- RMIClient rmiClient = new RMIClient(Service2.class, configurator, "http://localhost:8080/axis2/services/Service2");
- List inputObjects = new ArrayList();
-
+ Service2Interface proxy =
+ (Service2Interface) RMIClientProxy.createProxy(Service2Interface.class,
+ this.configurator,
+ "http://localhost:8080/axis2/services/Service2");
ChildClass childClass = new ChildClass();
childClass.setParam1("test param1");
childClass.setParam2(10);
childClass.setParam3("test param3");
childClass.setParam4(new Integer(12));
- inputObjects.add(childClass);
- ChildClass result = (ChildClass) rmiClient.invokeMethod("method1", inputObjects);
+ ChildClass result = (ChildClass) proxy.method1(childClass);
System.out.println("Result param 1 ==> " + result.getParam1());
System.out.println("Result param 2 ==> " + result.getParam2());
System.out.println("Result param 3 ==> " + result.getParam3());
@@ -82,14 +85,14 @@
public void testMethod2() {
try {
- RMIClient rmiClient = new RMIClient(Service2.class, configurator, "http://localhost:8080/axis2/services/Service2");
- List inputObjects = new ArrayList();
-
+ Service2Interface proxy =
+ (Service2Interface) RMIClientProxy.createProxy(Service2Interface.class,
+ this.configurator,
+ "http://localhost:8080/axis2/services/Service2");
TestClass1 testClass1 = new TestClass1();
testClass1.setParam1("test param1");
testClass1.setParma2("test param2");
- inputObjects.add(testClass1);
- TestClass1 result = (TestClass1) rmiClient.invokeMethod("method2", inputObjects);
+ TestClass1 result = proxy.method2(testClass1);
System.out.println("Result param 1 ==> " + result.getParam1());
System.out.println("Result param 2 ==> " + result.getParma2());
} catch (Exception e) {
Modified: webservices/axis2/trunk/java/modules/samples/rmi/src/sample/rmi/client/TestService3.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/samples/rmi/src/sample/rmi/client/TestService3.java?view=diff&rev=565760&r1=565759&r2=565760
==============================================================================
--- webservices/axis2/trunk/java/modules/samples/rmi/src/sample/rmi/client/TestService3.java (original)
+++ webservices/axis2/trunk/java/modules/samples/rmi/src/sample/rmi/client/TestService3.java Tue Aug 14 06:54:52 2007
@@ -16,11 +16,15 @@
package sample.rmi.client;
import sample.rmi.server.Service3;
+import sample.rmi.server.Service2Interface;
+import sample.rmi.server.Service3Interface;
import sample.rmi.server.exception.Exception1;
import sample.rmi.server.exception.Exception2;
import sample.rmi.server.exception.Exception3;
import org.apache.axis2.rmi.Configurator;
import org.apache.axis2.rmi.client.RMIClient;
+import org.apache.axis2.rmi.client.RMIClientProxy;
+import org.apache.axis2.AxisFault;
import java.util.ArrayList;
import java.util.List;
@@ -40,48 +44,56 @@
public void testMethod1() {
try {
- RMIClient rmiClient = new RMIClient(Service3.class, configurator, "http://localhost:8080/axis2/services/Service3");
- List inputObjects = new ArrayList();
- rmiClient.invokeMethod("method1", inputObjects);
- } catch (Exception e) {
- if (e instanceof Exception1) {
- System.out.println("Got the exception 1");
- } else {
- e.printStackTrace();
- }
+ Service3Interface proxy =
+ (Service3Interface) RMIClientProxy.createProxy(Service3Interface.class,
+ this.configurator,
+ "http://localhost:8080/axis2/services/Service3");
+ proxy.method1();
+ } catch (AxisFault axisFault) {
+ axisFault.printStackTrace();
+ } catch (Exception1 exception1) {
+ System.out.println("Got the exception 1");
}
+
}
public void testMethod2() {
+
try {
- RMIClient rmiClient = new RMIClient(Service3.class, configurator, "http://localhost:8080/axis2/services/Service3");
- List inputObjects = new ArrayList();
- inputObjects.add("test string");
- rmiClient.invokeMethod("method2", inputObjects);
- } catch (Exception e) {
- if (e instanceof Exception2) {
- System.out.println("Got the exception 2");
- } else {
- e.printStackTrace();
- }
+ Service3Interface proxy =
+ (Service3Interface) RMIClientProxy.createProxy(Service3Interface.class,
+ this.configurator,
+ "http://localhost:8080/axis2/services/Service3");
+ proxy.method2("test string");
+ } catch (AxisFault axisFault) {
+ axisFault.printStackTrace();
+ } catch (Exception2 exception2) {
+ System.out.println("Got the exception 2");
+ } catch (Exception1 exception1) {
+ exception1.printStackTrace();
}
+
}
public void testMethod3() {
try {
- RMIClient rmiClient = new RMIClient(Service3.class, configurator, "http://localhost:8080/axis2/services/Service3");
- List inputObjects = new ArrayList();
- inputObjects.add(new Integer(5));
- rmiClient.invokeMethod("method3", inputObjects);
- } catch (Exception e) {
- if (e instanceof Exception3) {
- System.out.println("Got the exception 3");
- } else {
- e.printStackTrace();
- }
+ Service3Interface proxy =
+ (Service3Interface) RMIClientProxy.createProxy(Service3Interface.class,
+ this.configurator,
+ "http://localhost:8080/axis2/services/Service3");
+ proxy.method3(5);
+ } catch (AxisFault axisFault) {
+ axisFault.printStackTrace();
+ } catch (Exception3 exception3) {
+ System.out.println("Got the exception 3");
+ } catch (Exception2 exception2) {
+ exception2.printStackTrace();
+ } catch (Exception1 exception1) {
+ exception1.printStackTrace();
}
+
}
public static void main(String[] args) {
Modified: webservices/axis2/trunk/java/modules/samples/rmi/src/sample/rmi/client/TestService4.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/samples/rmi/src/sample/rmi/client/TestService4.java?view=diff&rev=565760&r1=565759&r2=565760
==============================================================================
--- webservices/axis2/trunk/java/modules/samples/rmi/src/sample/rmi/client/TestService4.java (original)
+++ webservices/axis2/trunk/java/modules/samples/rmi/src/sample/rmi/client/TestService4.java Tue Aug 14 06:54:52 2007
@@ -16,10 +16,13 @@
package sample.rmi.client;
import sample.rmi.server.Service4;
+import sample.rmi.server.Service3Interface;
+import sample.rmi.server.Service4Interface;
import sample.rmi.server.dto.ChildClass;
import sample.rmi.server.dto.ParentClass;
import org.apache.axis2.rmi.Configurator;
import org.apache.axis2.rmi.client.RMIClient;
+import org.apache.axis2.rmi.client.RMIClientProxy;
import java.util.ArrayList;
import java.util.List;
@@ -41,30 +44,25 @@
public void testMethod11() {
try {
- RMIClient rmiClient = new RMIClient(Service4.class, this.configurator, "http://localhost:8080/axis2/services/Service4");
- List inputObjects = new ArrayList();
- inputObjects.add(null);
- Object result = rmiClient.invokeMethod("method1", inputObjects);
+ Service4Interface proxy =
+ (Service4Interface) RMIClientProxy.createProxy(Service4Interface.class,
+ this.configurator,
+ "http://localhost:8080/axis2/services/Service4");
+ Object result = proxy.method1(null);
} catch (Exception e) {
e.printStackTrace();
}
- try {
- RMIClient rmiClient = new RMIClient(Service4.class, this.configurator, "http://localhost:8080/axis2/services/Service4");
- List inputObjects = new ArrayList();
- Object result = rmiClient.invokeMethod("method1", inputObjects);
- } catch (Exception e) {
- e.printStackTrace();
- }
}
public void testMethod12() {
try {
- RMIClient rmiClient = new RMIClient(Service4.class, this.configurator, "http://localhost:8080/axis2/services/Service4");
- List inputObjects = new ArrayList();
- inputObjects.add("test string");
- Object result = rmiClient.invokeMethod("method1", inputObjects);
+ Service4Interface proxy =
+ (Service4Interface) RMIClientProxy.createProxy(Service4Interface.class,
+ this.configurator,
+ "http://localhost:8080/axis2/services/Service4");
+ Object result = proxy.method1("test string");
System.out.println("Got the string " + result);
} catch (Exception e) {
e.printStackTrace();
@@ -74,13 +72,15 @@
public void testMethod13() {
try {
- RMIClient rmiClient = new RMIClient(Service4.class, this.configurator, "http://localhost:8080/axis2/services/Service4");
- List inputObjects = new ArrayList();
+ Service4Interface proxy =
+ (Service4Interface) RMIClientProxy.createProxy(Service4Interface.class,
+ this.configurator,
+ "http://localhost:8080/axis2/services/Service4");
+
ParentClass parentClass = new ParentClass();
parentClass.setParam1("test string");
parentClass.setParam2(3);
- inputObjects.add(parentClass);
- ParentClass result = (ParentClass) rmiClient.invokeMethod("method1", inputObjects);
+ ParentClass result = (ParentClass) proxy.method1(parentClass);
System.out.println("Param 1 ==>" + result.getParam1());
System.out.println("Param 2 ==>" + result.getParam2());
} catch (Exception e) {
@@ -90,12 +90,11 @@
public void testMethod3() {
try {
- RMIClient rmiClient = new RMIClient(Service4.class, this.configurator, "http://localhost:8080/axis2/services/Service4");
- List inputObjects = new ArrayList();
- inputObjects.add("Param1");
- inputObjects.add("Param2");
- inputObjects.add("Param3");
- String[] result = (String[]) rmiClient.invokeMethod("method3", inputObjects);
+ Service4Interface proxy =
+ (Service4Interface) RMIClientProxy.createProxy(Service4Interface.class,
+ this.configurator,
+ "http://localhost:8080/axis2/services/Service4");
+ String[] result = proxy.method3("Param1","Param2","Param3");
System.out.println("Object 1 ==>" + result[0]);
System.out.println("Object 2 ==>" + result[1]);
System.out.println("Object 3 ==>" + result[2]);
@@ -107,8 +106,10 @@
public void testMethod2() {
try {
- RMIClient rmiClient = new RMIClient(Service4.class, this.configurator, "http://localhost:8080/axis2/services/Service4");
- List inputObjects = new ArrayList();
+ Service4Interface proxy =
+ (Service4Interface) RMIClientProxy.createProxy(Service4Interface.class,
+ this.configurator,
+ "http://localhost:8080/axis2/services/Service4");
List param1 = new ArrayList();
param1.add(new ChildClass());
@@ -118,10 +119,7 @@
param2.add(new ParentClass());
param2.add(new Float(2.34f));
- inputObjects.add(param1);
- inputObjects.add(param2);
-
- List result = (List) rmiClient.invokeMethod("method2", inputObjects);
+ List result = proxy.method2(param1,param2);
System.out.println("Object 1 ==>" + result.get(1));
System.out.println("Object 3 ==>" + result.get(3));
Modified: webservices/axis2/trunk/java/modules/samples/rmi/src/sample/rmi/server/Service1.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/samples/rmi/src/sample/rmi/server/Service1.java?view=diff&rev=565760&r1=565759&r2=565760
==============================================================================
--- webservices/axis2/trunk/java/modules/samples/rmi/src/sample/rmi/server/Service1.java (original)
+++ webservices/axis2/trunk/java/modules/samples/rmi/src/sample/rmi/server/Service1.java Tue Aug 14 06:54:52 2007
@@ -15,7 +15,7 @@
*/
package sample.rmi.server;
-public class Service1 {
+public class Service1 implements Service1Interface {
public String method1(String param1, String param2){
return param1 + param2;
Added: webservices/axis2/trunk/java/modules/samples/rmi/src/sample/rmi/server/Service1Interface.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/samples/rmi/src/sample/rmi/server/Service1Interface.java?view=auto&rev=565760
==============================================================================
--- webservices/axis2/trunk/java/modules/samples/rmi/src/sample/rmi/server/Service1Interface.java (added)
+++ webservices/axis2/trunk/java/modules/samples/rmi/src/sample/rmi/server/Service1Interface.java Tue Aug 14 06:54:52 2007
@@ -0,0 +1,12 @@
+package sample.rmi.server;
+
+/**
+ * Author: amila
+ * Date: Aug 14, 2007
+ */
+public interface Service1Interface {
+
+ public String method1(String param1, String param2);
+
+ public int method2(int param1, int param2);
+}
Modified: webservices/axis2/trunk/java/modules/samples/rmi/src/sample/rmi/server/Service2.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/samples/rmi/src/sample/rmi/server/Service2.java?view=diff&rev=565760&r1=565759&r2=565760
==============================================================================
--- webservices/axis2/trunk/java/modules/samples/rmi/src/sample/rmi/server/Service2.java (original)
+++ webservices/axis2/trunk/java/modules/samples/rmi/src/sample/rmi/server/Service2.java Tue Aug 14 06:54:52 2007
@@ -19,7 +19,7 @@
import sample.rmi.server.dto.TestClass1;
-public class Service2 {
+public class Service2 implements Service2Interface {
public ParentClass method1(ParentClass param1){
return param1;
Added: webservices/axis2/trunk/java/modules/samples/rmi/src/sample/rmi/server/Service2Interface.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/samples/rmi/src/sample/rmi/server/Service2Interface.java?view=auto&rev=565760
==============================================================================
--- webservices/axis2/trunk/java/modules/samples/rmi/src/sample/rmi/server/Service2Interface.java (added)
+++ webservices/axis2/trunk/java/modules/samples/rmi/src/sample/rmi/server/Service2Interface.java Tue Aug 14 06:54:52 2007
@@ -0,0 +1,12 @@
+package sample.rmi.server;
+
+import sample.rmi.server.dto.ParentClass;
+import sample.rmi.server.dto.TestClass1;
+
+
+public interface Service2Interface {
+
+ public ParentClass method1(ParentClass param1);
+
+ public TestClass1 method2(TestClass1 param1);
+}
Modified: webservices/axis2/trunk/java/modules/samples/rmi/src/sample/rmi/server/Service3.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/samples/rmi/src/sample/rmi/server/Service3.java?view=diff&rev=565760&r1=565759&r2=565760
==============================================================================
--- webservices/axis2/trunk/java/modules/samples/rmi/src/sample/rmi/server/Service3.java (original)
+++ webservices/axis2/trunk/java/modules/samples/rmi/src/sample/rmi/server/Service3.java Tue Aug 14 06:54:52 2007
@@ -19,7 +19,7 @@
import sample.rmi.server.exception.Exception2;
import sample.rmi.server.exception.Exception3;
-public class Service3 {
+public class Service3 implements Service3Interface {
public void method1() throws Exception1 {
throw new Exception1("Test Exception1");
Added: webservices/axis2/trunk/java/modules/samples/rmi/src/sample/rmi/server/Service3Interface.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/samples/rmi/src/sample/rmi/server/Service3Interface.java?view=auto&rev=565760
==============================================================================
--- webservices/axis2/trunk/java/modules/samples/rmi/src/sample/rmi/server/Service3Interface.java (added)
+++ webservices/axis2/trunk/java/modules/samples/rmi/src/sample/rmi/server/Service3Interface.java Tue Aug 14 06:54:52 2007
@@ -0,0 +1,15 @@
+package sample.rmi.server;
+
+import sample.rmi.server.exception.Exception1;
+import sample.rmi.server.exception.Exception2;
+import sample.rmi.server.exception.Exception3;
+
+
+public interface Service3Interface {
+
+ public void method1() throws Exception1;
+
+ public String method2(String param1) throws Exception2, Exception1;
+
+ public int method3(int param1) throws Exception3, Exception2, Exception1;
+}
Modified: webservices/axis2/trunk/java/modules/samples/rmi/src/sample/rmi/server/Service4.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/samples/rmi/src/sample/rmi/server/Service4.java?view=diff&rev=565760&r1=565759&r2=565760
==============================================================================
--- webservices/axis2/trunk/java/modules/samples/rmi/src/sample/rmi/server/Service4.java (original)
+++ webservices/axis2/trunk/java/modules/samples/rmi/src/sample/rmi/server/Service4.java Tue Aug 14 06:54:52 2007
@@ -18,7 +18,7 @@
import java.util.List;
-public class Service4 {
+public class Service4 implements Service4Interface {
public Object method1(Object param1){
return param1;
Added: webservices/axis2/trunk/java/modules/samples/rmi/src/sample/rmi/server/Service4Interface.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/samples/rmi/src/sample/rmi/server/Service4Interface.java?view=auto&rev=565760
==============================================================================
--- webservices/axis2/trunk/java/modules/samples/rmi/src/sample/rmi/server/Service4Interface.java (added)
+++ webservices/axis2/trunk/java/modules/samples/rmi/src/sample/rmi/server/Service4Interface.java Tue Aug 14 06:54:52 2007
@@ -0,0 +1,12 @@
+package sample.rmi.server;
+
+import java.util.List;
+
+
+public interface Service4Interface {
+ public Object method1(Object param1);
+
+ public List method2(List param1, List param2);
+
+ public String[] method3(String param1,String param2,String param3);
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org