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 ng...@apache.org on 2006/09/07 17:32:32 UTC
svn commit: r441121 - in /webservices/axis2/trunk/java/modules/jaxws:
src/org/apache/axis2/jaxws/client/proxy/
test/org/apache/axis2/jaxws/proxy/doclitnonwrapped/sei/
test/org/apache/axis2/proxy/
Author: ngallardo
Date: Thu Sep 7 08:32:31 2006
New Revision: 441121
URL: http://svn.apache.org/viewvc?view=rev&rev=441121
Log:
AXIS2-1099
Contributor: Nikhil Thaker
Adding support for non-wrapped pattern, document/literal WSDLs.
Modified:
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/client/proxy/DocLitProxyHandler.java
webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/doclitnonwrapped/sei/DocLitnonWrappedProxy.java
webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/proxy/AsyncCallback.java
webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/proxy/ProxyNonWrappedTests.java
Modified: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/client/proxy/DocLitProxyHandler.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/client/proxy/DocLitProxyHandler.java?view=diff&rev=441121&r1=441120&r2=441121
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/client/proxy/DocLitProxyHandler.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/client/proxy/DocLitProxyHandler.java Thu Sep 7 08:32:31 2006
@@ -23,7 +23,6 @@
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.Hashtable;
import java.util.Map;
@@ -34,8 +33,6 @@
import javax.xml.ws.AsyncHandler;
import org.apache.axiom.om.OMElement;
-import org.apache.axiom.soap.SOAPBody;
-import org.apache.axiom.soap.SOAPEnvelope;
import org.apache.axis2.jaxws.ExceptionFactory;
import org.apache.axis2.jaxws.core.MessageContext;
import org.apache.axis2.jaxws.i18n.Messages;
@@ -47,7 +44,6 @@
import org.apache.axis2.jaxws.message.factory.MessageFactory;
import org.apache.axis2.jaxws.registry.FactoryRegistry;
import org.apache.axis2.jaxws.spi.ServiceDelegate;
-import org.apache.axis2.jaxws.util.WSDLWrapper;
import org.apache.axis2.jaxws.wrapper.JAXBWrapperTool;
import org.apache.axis2.jaxws.wrapper.impl.JAXBWrapperException;
import org.apache.axis2.jaxws.wrapper.impl.JAXBWrapperToolImpl;
@@ -333,7 +329,7 @@
public ArrayList<String> getParamNames(Object[] objects){
ArrayList<String> names = proxyDescriptor.getParamNames();
//TODO Should this logic be moved to Operation Description.
- ArrayList<Object> paramValues = createArgList(objects);
+ ArrayList<Object> paramValues = createArgList(names, objects);
if(names.size() == paramValues.size()){
return names;
}
@@ -359,7 +355,7 @@
}
//if object array not null check if there is only AsyncHandler object param, if yes then its Async call
//with no parameter. Lets filter AsyncHandler and check for return objects, if they are 0 return value;
- ArrayList<Object> paramValues = createArgList(objects);
+ ArrayList<Object> paramValues = createArgList(names, objects);
//@webparams and paramValues identified in method should match.
if(names.size() > 0 && names.size() != paramValues.size()){
@@ -387,7 +383,7 @@
return values;
}
- private ArrayList<Object> createArgList(Object[] objects){
+ private ArrayList<Object> createArgList(ArrayList<String> names, Object[] objects){
if(this.argList !=null){
return argList;
}
@@ -396,13 +392,20 @@
if(objects == null){
return argList;
}
+ int i =0;
for(Object obj:objects){
//skip AsycHandler Object
- if(obj instanceof AsyncHandler){
+ if(obj instanceof AsyncHandler){
+ if(isAsync() && proxyDescriptor.isClazzDocLitBare()){
+ //doeble check and remove the name of AsyncHandler from names list, work around for how wsImport generates doc/lit bare art-effects.
+ names.remove(i);
+ }
+ i++;
continue;
}
argList.add(obj);
+ i++;
}
return argList;
}
Modified: webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/doclitnonwrapped/sei/DocLitnonWrappedProxy.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/doclitnonwrapped/sei/DocLitnonWrappedProxy.java?view=diff&rev=441121&r1=441120&r2=441121
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/doclitnonwrapped/sei/DocLitnonWrappedProxy.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/doclitnonwrapped/sei/DocLitnonWrappedProxy.java Thu Sep 7 08:32:31 2006
@@ -1,12 +1,16 @@
package org.apache.axis2.jaxws.proxy.doclitnonwrapped.sei;
+import java.util.concurrent.Future;
+
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import javax.jws.soap.SOAPBinding.ParameterStyle;
+import javax.xml.ws.AsyncHandler;
+import javax.xml.ws.Response;
import org.test.proxy.doclitnonwrapped.Invoke;
import org.test.proxy.doclitnonwrapped.ReturnType;
@@ -21,6 +25,30 @@
@WebService(name = "DocLitnonWrappedProxy", targetNamespace = "http://doclitnonwrapped.proxy.test.org")
@SOAPBinding(parameterStyle = ParameterStyle.BARE)
public interface DocLitnonWrappedProxy {
+ /**
+ *
+ * @param allByMyself
+ * @return
+ * returns javax.xml.ws.Response<org.test.proxy.doclitnonwrapped.ReturnType>
+ */
+ @WebMethod(operationName = "invoke", action = "http://doclitnonwrapped.proxy.test.org/invokeReturn")
+ public Response<ReturnType> invokeAsync(
+ @WebParam(name = "invoke", targetNamespace = "http://doclitnonwrapped.proxy.test.org", partName = "allByMyself")
+ Invoke allByMyself);
+
+ /**
+ *
+ * @param allByMyself
+ * @param asyncHandler
+ * @return
+ * returns java.util.concurrent.Future<? extends java.lang.Object>
+ */
+ @WebMethod(operationName = "invoke", action = "http://doclitnonwrapped.proxy.test.org/invokeReturn")
+ public Future<?> invokeAsync(
+ @WebParam(name = "invoke", targetNamespace = "http://doclitnonwrapped.proxy.test.org", partName = "allByMyself")
+ Invoke allByMyself,
+ @WebParam(name = "invokeResponse", targetNamespace = "", partName = "asyncHandler")
+ AsyncHandler<ReturnType> asyncHandler);
/**
Modified: webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/proxy/AsyncCallback.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/proxy/AsyncCallback.java?view=diff&rev=441121&r1=441120&r2=441121
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/proxy/AsyncCallback.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/proxy/AsyncCallback.java Thu Sep 7 08:32:31 2006
@@ -35,10 +35,15 @@
if(obj instanceof ReturnType){
ReturnType type = (ReturnType)obj;
System.out.println(">>Return String = "+type.getReturnStr());
+ return;
}
- else{
- System.out.println("Response.get should have been ReturnType" );
+ if(obj instanceof org.test.proxy.doclitnonwrapped.ReturnType){
+ org.test.proxy.doclitnonwrapped.ReturnType returnType = (org.test.proxy.doclitnonwrapped.ReturnType)obj;
+ System.out.println(">>Return String = "+returnType.getReturnStr());
+ return;
}
+ System.out.println("Response.get should have been ReturnType" );
+
}catch(ExecutionException e){
e.printStackTrace();
}catch(InterruptedException e){
Modified: webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/proxy/ProxyNonWrappedTests.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/proxy/ProxyNonWrappedTests.java?view=diff&rev=441121&r1=441120&r2=441121
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/proxy/ProxyNonWrappedTests.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/proxy/ProxyNonWrappedTests.java Thu Sep 7 08:32:31 2006
@@ -16,11 +16,17 @@
*/
package org.apache.axis2.proxy;
+import java.io.File;
+import java.net.URL;
+import java.util.concurrent.Future;
+
import javax.xml.namespace.QName;
+import javax.xml.ws.AsyncHandler;
import javax.xml.ws.BindingProvider;
import javax.xml.ws.Service;
import org.apache.axis2.jaxws.proxy.doclitnonwrapped.sei.DocLitnonWrappedProxy;
+import org.apache.axis2.jaxws.proxy.doclitnonwrapped.sei.ProxyDocLitUnwrappedService;
import org.test.proxy.doclitnonwrapped.Invoke;
import org.test.proxy.doclitnonwrapped.ObjectFactory;
import org.test.proxy.doclitnonwrapped.ReturnType;
@@ -34,9 +40,10 @@
*/
public class ProxyNonWrappedTests extends TestCase {
- QName serviceName = new QName("http://doclitnonwrapped.test.org", "ProxyDocLitUnwrappedService");
+ QName serviceName = new QName("http://doclitnonwrapped.proxy.test.org", "ProxyDocLitUnwrappedService");
private String axisEndpoint = "http://localhost:8080/axis2/services/ProxyDocLitUnwrappedService";
private QName portName = new QName("http://org.apache.axis2.proxy.doclitwrapped", "ProxyDocLitWrappedPort");
+ private String wsdlLocation = "test-resources/wsdl/ProxyDocLitnonWrapped.wsdl";
public ProxyNonWrappedTests() {
super();
// TODO Auto-generated constructor stub
@@ -71,7 +78,36 @@
}
public void testInvokeAsyncCallback(){
-
+ try{
+ System.out.println("---------------------------------------");
+ System.out.println("DocLitNonWrapped test case: " + getName());
+ //Create wsdl url
+ File wsdl= new File(wsdlLocation);
+ URL wsdlUrl = wsdl.toURL();
+ ObjectFactory factory = new ObjectFactory();
+ //create input object to web service operation
+ Invoke invokeObj = factory.createInvoke();
+ invokeObj.setInvokeStr("test request for twoWay Async Operation");
+ //Create Service
+ ProxyDocLitUnwrappedService service = new ProxyDocLitUnwrappedService(wsdlUrl, serviceName);
+ //Create proxy
+ DocLitnonWrappedProxy proxy = service.getProxyDocLitnonWrappedPort();
+ System.out.println(">>Invoking Binding Provider property");
+ //Setup Endpoint url -- optional.
+ BindingProvider p = (BindingProvider)proxy;
+ p.getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY,axisEndpoint);
+ System.out.println(">> Invoking Proxy Asynchronous Callback");
+ AsyncHandler<ReturnType> handler = new AsyncCallback();
+ //Invoke operation Asynchronously.
+ Future<?> monitor = proxy.invokeAsync(invokeObj, handler);
+ while(!monitor.isDone()){
+ Thread.sleep(1000);
+ }
+ System.out.println("---------------------------------------");
+ }catch(Exception e){
+ e.printStackTrace();
+ fail("Exception received" + e);
+ }
}
public void testInvokeAsyncPolling(){
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org