You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by ng...@apache.org on 2006/09/07 20:13:40 UTC

svn commit: r441165 - in /webservices/axis2/trunk/java/modules/jaxws: ./ src/org/apache/axis2/jaxws/client/proxy/ test-resources/wsdl/ test/org/apache/axis2/jaxws/framework/ test/org/apache/axis2/jaxws/sample/ test/org/apache/axis2/jaxws/sample/addnumb...

Author: ngallardo
Date: Thu Sep  7 11:13:39 2006
New Revision: 441165

URL: http://svn.apache.org/viewvc?view=rev&rev=441165
Log:
AXIS2-1114
Contributor: Nikhil Thaker

Additional checking for nulls in the proxy.

Added:
    webservices/axis2/trunk/java/modules/jaxws/test-resources/wsdl/AddNumbers.wsdl
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/sample/AddNumbersTests.java
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbers/
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbers/AddNumbersFault_Exception.java
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbers/AddNumbersPortType.java
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbers/AddNumbersPortTypeImpl.java
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbers/AddNumbersService.java
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbers/META-INF/
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbers/META-INF/AddNumbers.wsdl
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbers/META-INF/services.xml
Modified:
    webservices/axis2/trunk/java/modules/jaxws/maven.xml
    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/framework/JAXWSTest.java
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/proxy/ProxyTests.java

Modified: webservices/axis2/trunk/java/modules/jaxws/maven.xml
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/maven.xml?view=diff&rev=441165&r1=441164&r2=441165
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/maven.xml (original)
+++ webservices/axis2/trunk/java/modules/jaxws/maven.xml Thu Sep  7 11:13:39 2006
@@ -78,7 +78,13 @@
 			<classpath location="${compiled.classes.dir}"/>
 			<arg line="-d ${schema.generated.src.dir} -quiet -wsdl ${wsdl.source.dir}/ProxyDocLitnonWrapped.wsdl"/>
 		</java>
-
+    	<ant:echo>Generating java from AddNumbers.wsdl</ant:echo>
+    	    	    	<java classname="com.sun.tools.xjc.Driver" fork="true"> 
+    	    	    		<jvmarg line="${maven.junit.jvmargs}"/>
+    	    	    	    <classpath refid="maven.dependency.classpath"/>
+    	    	    	    <classpath location="${compiled.classes.dir}"/>
+    	   	    	    	<arg line="-d ${schema.generated.src.dir} -quiet -wsdl ${wsdl.source.dir}/AddNumbers.wsdl"/>
+    	     	    	</java>
     	<ant:echo>Generating java from jaxbsource</ant:echo>
     	<java classname="com.sun.tools.xjc.Driver" fork="true"> 
     	    <jvmarg line="${maven.junit.jvmargs}"/>
@@ -194,6 +200,17 @@
 		  </ant:fileset>
 		</ant:copy>
 		
+		<ant:copy toDir="target/test-classes/services/AddNumbersService/">
+			<ant:fileset dir="target/test-classes">
+			   <ant:include name="org/apache/axis2/jaxws/sample/addnumbers/**"/>
+			</ant:fileset>
+			<ant:fileset dir="test/org/apache/axis2/jaxws/sample/addnumbers">
+			   <ant:include name="META-INF/**"/>
+			</ant:fileset>
+			<ant:fileset dir="target/classes">
+			   <ant:include name="org/apache/axis2/jaxws/server/**"/>
+			</ant:fileset>
+		</ant:copy>
 	</preGoal>
 
     <!-- Create the API and Impl jars --> 

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=441165&r1=441164&r2=441165
==============================================================================
--- 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 11:13:39 2006
@@ -17,18 +17,15 @@
 package org.apache.axis2.jaxws.client.proxy;
 
 import java.beans.IntrospectionException;
-import java.beans.Introspector;
-import java.beans.PropertyDescriptor;
-import java.lang.reflect.Field;
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
 import java.util.ArrayList;
-import java.util.Hashtable;
+import java.util.Arrays;
+import java.util.HashMap;
 import java.util.Map;
 
 import javax.xml.bind.JAXBContext;
 import javax.xml.bind.JAXBException;
-import javax.xml.bind.annotation.XmlElement;
 import javax.xml.stream.XMLStreamException;
 import javax.xml.ws.AsyncHandler;
 
@@ -168,7 +165,7 @@
 	 * @throws InvocationTargetException
 	 */
 
-	private Object createDocLitWrappedResponse(Method method, MessageContext response)throws IllegalAccessException, ClassNotFoundException, JAXBWrapperException, JAXBException, javax.xml.stream.XMLStreamException, MessageException, IntrospectionException, NoSuchFieldException, InvocationTargetException{
+	private Object createDocLitWrappedResponse(Method method, MessageContext response)throws ClassNotFoundException, JAXBWrapperException, JAXBException, javax.xml.stream.XMLStreamException, MessageException{
 		Class wrapperClazz = proxyDescriptor.getResponseWrapperClass(isAsync());
 		String resultName = proxyDescriptor.getWebResultName(isAsync());
 		JAXBContext ctx = JAXBContext.newInstance(new Class[]{wrapperClazz});
@@ -198,7 +195,7 @@
 	 * @param response
 	 * @return
 	 */
-	private Object createDocLitNONWrappedResponse(Method method, MessageContext response) throws IllegalAccessException, JAXBException, MessageException, XMLStreamException, InvocationTargetException, IntrospectionException, NoSuchFieldException{
+	private Object createDocLitNONWrappedResponse(Method method, MessageContext response) throws JAXBWrapperException, JAXBException, MessageException, XMLStreamException{
 		
 		Message responseMsg = response.getMessage();
 		Class returnType = proxyDescriptor.getReturnType(isAsync());
@@ -226,51 +223,6 @@
 		
 	}
 
-	/*
-	 * this method return property descriptor to read or write the property value.
-	 * It reads all the property descriptor on the java bean. Then determins if java field name is the the actual property who's pd has been requested.
-	 * if true it returns pd.
-	 * Also the propertyName supplied is compared with java field name and if they dont match than xmlElement annotation on JAXB Object is lookedup. if they
-	 * dont match then xmlElement is compared with java field name using lowercases and finally return the pd.
-	 * if property descriptor not found for a perticular property just return null.
-	 */
-	private PropertyDescriptor getPropertyDescriptor(Class returnClazz, String propertyName)throws IntrospectionException, NoSuchFieldException{
-		PropertyDescriptor[] allPds = Introspector.getBeanInfo(returnClazz).getPropertyDescriptors();
-		Field[] fields = returnClazz.getDeclaredFields();
-		for(PropertyDescriptor pd:allPds){
-			for(Field field:fields){
-				if(propertyName == null){
-					//if this happens I will get the first property that has datatype same as return clazz and return its descriptor.
-					if(field.getType() == returnClazz){
-						return pd;
-					}
-				}
-				String javaFieldName = field.getName();
-				String pdName = pd.getDisplayName();
-				if(javaFieldName.equals(pdName)){
-					if(javaFieldName.equals(propertyName)){
-						return pd;
-						
-					}else{
-						XmlElement xmlElement =field.getAnnotation(XmlElement.class);
-						if(xmlElement == null){
-							//TODO:What happens if xmlElement not defined.
-							
-						}
-						String xmlName =xmlElement.name();
-						if(xmlName.equals(propertyName)){
-							return pd;
-						}
-						if(xmlName.toLowerCase().equals(propertyName.toLowerCase())){
-							return pd;
-						}
-					}
-				}
-			}
-		}
-		
-		throw ExceptionFactory.makeWebServiceException(Messages.getMessage("noWebResultForProperty", propertyName, returnClazz.getName()));
-	}
 	
 	
 	/** 
@@ -284,14 +236,12 @@
 	 * @throws InvocationTargetException
 	 * @throws IllegalAccessException
 	 */
-	private Object getWebResultObject(Class wrapperClazz, Object businessObject, String propertyName) throws NoSuchFieldException, IntrospectionException,InvocationTargetException, IllegalAccessException{
-		PropertyDescriptor pd = getPropertyDescriptor(wrapperClazz, propertyName);
-		if(pd == null){
-			//TODO: what happens if pd not found.
-		}
-		Method readMethod = pd.getReadMethod();
-		Object webResult = readMethod.invoke(wrapperClazz.cast(businessObject), null);
-		return webResult;
+	private Object getWebResultObject(Class wrapperClazz, Object businessObject, String propertyName) throws JAXBWrapperException{
+		
+		JAXBWrapperTool wrapTool = new JAXBWrapperToolImpl();
+		Object[] webResult = wrapTool.unWrap(businessObject,new ArrayList<String>(Arrays.asList(new String[]{propertyName})));
+		return webResult[0];
+		
 	}
 	
 	private MessageContext initializeRequest(Block messageBlock) throws XMLStreamException, MessageException{
@@ -348,7 +298,7 @@
 	}
 	//TODO: Should we move this to OperationDescription.
 	public Map<String, Object> getParamValues(Object[] objects, ArrayList<String> names){
-		Map<String, Object> values = new Hashtable<String, Object>();
+		Map<String, Object> values = new HashMap<String, Object>();
 		
 		if(objects == null){
 			return values;

Added: webservices/axis2/trunk/java/modules/jaxws/test-resources/wsdl/AddNumbers.wsdl
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/test-resources/wsdl/AddNumbers.wsdl?view=auto&rev=441165
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/test-resources/wsdl/AddNumbers.wsdl (added)
+++ webservices/axis2/trunk/java/modules/jaxws/test-resources/wsdl/AddNumbers.wsdl Thu Sep  7 11:13:39 2006
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+
+<definitions name="AddNumbers" targetNamespace="http://org/test/addnumbers"
+	xmlns:tns="http://org/test/addnumbers" xmlns="http://schemas.xmlsoap.org/wsdl/"
+	xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+	xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
+
+
+	<types>
+		<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
+			elementFormDefault="qualified" targetNamespace="http://org/test/addnumbers">
+			<element name="addNumbersResponse">
+				<complexType>
+					<sequence>
+						<element name="return" type="xsd:int" />
+					</sequence>
+				</complexType>
+			</element>
+
+			<element name="addNumbers">
+				<complexType>
+					<sequence>
+						<element name="arg0" type="xsd:int" />
+						<element name="arg1" type="xsd:int" />
+					</sequence>
+				</complexType>
+			</element>
+
+			<element name="AddNumbersFault">
+				<complexType>
+					<sequence>
+						<element name="faultInfo" type="xsd:string" />
+						<element name="message" type="xsd:string" />
+					</sequence>
+				</complexType>
+			</element>
+
+			<element name="oneWayInt">
+				<complexType>
+					<sequence>
+						<element name="arg0" type="xsd:int" />
+					</sequence>
+				</complexType>
+			</element>
+
+		</xsd:schema>
+	</types>
+
+	<message name="addNumbers">
+		<part name="parameters" element="tns:addNumbers" />
+	</message>
+	<message name="addNumbersResponse">
+		<part name="result" element="tns:addNumbersResponse" />
+	</message>
+	<message name="addNumbersFault">
+		<part name="AddNumbersFault" element="tns:AddNumbersFault" />
+	</message>
+	<message name="oneWayInt">
+		<part name="parameters" element="tns:oneWayInt" />
+	</message>
+
+	<portType name="AddNumbersPortType">
+		<operation name="addNumbers">
+			<input message="tns:addNumbers" name="add" />
+			<output message="tns:addNumbersResponse" name="addResponse" />
+			<fault name="addNumbersFault" message="tns:addNumbersFault" />
+		</operation>
+		<operation name="oneWayInt">
+			<input message="tns:oneWayInt" />
+		</operation>
+	</portType>
+	<binding name="AddNumbersBinding" type="tns:AddNumbersPortType">
+		<soap:binding transport="http://schemas.xmlsoap.org/soap/http"
+			style="document" />
+		<operation name="addNumbers">
+			<soap:operation soapAction="" />
+			<input>
+				<soap:body use="literal" />
+			</input>
+			<output>
+				<soap:body use="literal" />
+			</output>
+			<fault name="addNumbersFault">
+				<soap:fault name="addNumbersFault" use="literal" />
+			</fault>
+		</operation>
+		<operation name="oneWayInt">
+			<soap:operation soapAction="" />
+			<input>
+				<soap:body use="literal" />
+			</input>
+		</operation>
+	</binding>
+	<service name="AddNumbersService">
+		<port name="AddNumbersPort" binding="tns:AddNumbersBinding">
+			<soap:address
+				location="http://localhost:9080/AddNumber/AddNumbersImplService" />
+		</port>
+	</service>
+</definitions>

Modified: webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/framework/JAXWSTest.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/framework/JAXWSTest.java?view=diff&rev=441165&r1=441164&r2=441165
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/framework/JAXWSTest.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/framework/JAXWSTest.java Thu Sep  7 11:13:39 2006
@@ -38,6 +38,7 @@
 import org.apache.axis2.jaxws.message.SOAP12Tests;
 import org.apache.axis2.jaxws.message.XMLStreamReaderSplitterTests;
 import org.apache.axis2.jaxws.provider.*;
+import org.apache.axis2.jaxws.sample.AddNumbersTests;
 import org.apache.axis2.jaxws.sample.AddressBookTests;
 import org.apache.axis2.proxy.ProxyNonWrappedTests;
 import org.apache.axis2.proxy.ProxyTests;
@@ -78,6 +79,7 @@
         suite.addTestSuite(ExceptionFactoryTests.class);
 
         suite.addTestSuite(AddressBookTests.class);
+        suite.addTestSuite(AddNumbersTests.class);
         
         // Start (and stop) the server only once for all the tests
         TestSetup testSetup = new TestSetup(suite) {

Added: webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/sample/AddNumbersTests.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/sample/AddNumbersTests.java?view=auto&rev=441165
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/sample/AddNumbersTests.java (added)
+++ webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/sample/AddNumbersTests.java Thu Sep  7 11:13:39 2006
@@ -0,0 +1,32 @@
+/**
+ * 
+ */
+package org.apache.axis2.jaxws.sample;
+
+import javax.xml.ws.BindingProvider;
+
+import junit.framework.TestCase;
+
+import org.apache.axis2.jaxws.sample.addnumbers.AddNumbersPortType;
+import org.apache.axis2.jaxws.sample.addnumbers.AddNumbersService;
+
+
+public class AddNumbersTests extends TestCase {
+	String axisEndpoint = "http://localhost:8080/axis2/services/AddNumbersService";
+	public void testAddNumbers(){
+		try{
+			System.out.println("----------------------------------");
+		    System.out.println("test: " + getName());
+			AddNumbersService service = new AddNumbersService();
+			AddNumbersPortType proxy = service.getAddNumbersPort();
+			BindingProvider p =	(BindingProvider)proxy;
+			p.getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY,axisEndpoint);	
+			int total = proxy.addNumbers(10,10);
+			
+			System.out.println("Total =" +total);
+			System.out.println("----------------------------------");
+		}catch(Exception e){
+			e.printStackTrace();
+		}
+	}
+}

Added: webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbers/AddNumbersFault_Exception.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbers/AddNumbersFault_Exception.java?view=auto&rev=441165
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbers/AddNumbersFault_Exception.java (added)
+++ webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbers/AddNumbersFault_Exception.java Thu Sep  7 11:13:39 2006
@@ -0,0 +1,56 @@
+
+package org.apache.axis2.jaxws.sample.addnumbers;
+
+import javax.xml.ws.WebFault;
+
+import org.test.addnumbers.AddNumbersFault;
+
+
+/**
+ * This class was generated by the JAXWS SI.
+ * JAX-WS RI 2.0_01-b15-fcs
+ * Generated source version: 2.0
+ * 
+ */
+@WebFault(faultBean="", name = "AddNumbersFault", targetNamespace = "http://duke/org")
+public class AddNumbersFault_Exception
+    extends Exception
+{
+
+    /**
+     * Java type that goes as soapenv:Fault detail element.
+     * 
+     */
+    private AddNumbersFault faultInfo;
+
+    /**
+     * 
+     * @param faultInfo
+     * @param message
+     */
+    public AddNumbersFault_Exception(String message, AddNumbersFault faultInfo) {
+        super(message);
+        this.faultInfo = faultInfo;
+    }
+
+    /**
+     * 
+     * @param faultInfo
+     * @param message
+     * @param cause
+     */
+    public AddNumbersFault_Exception(String message, AddNumbersFault faultInfo, Throwable cause) {
+        super(message, cause);
+        this.faultInfo = faultInfo;
+    }
+
+    /**
+     * 
+     * @return
+     *     returns fault bean: duke.org.AddNumbersFault
+     */
+    public AddNumbersFault getFaultInfo() {
+        return faultInfo;
+    }
+
+}

Added: webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbers/AddNumbersPortType.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbers/AddNumbersPortType.java?view=auto&rev=441165
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbers/AddNumbersPortType.java (added)
+++ webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbers/AddNumbersPortType.java Thu Sep  7 11:13:39 2006
@@ -0,0 +1,56 @@
+
+package org.apache.axis2.jaxws.sample.addnumbers;
+
+import javax.jws.Oneway;
+import javax.jws.WebMethod;
+import javax.jws.WebParam;
+import javax.jws.WebResult;
+import javax.jws.WebService;
+import javax.xml.ws.RequestWrapper;
+import javax.xml.ws.ResponseWrapper;
+
+
+
+
+/**
+ * This class was generated by the JAXWS SI.
+ * JAX-WS RI 2.0_01-b15-fcs
+ * Generated source version: 2.0
+ * 
+ */
+@WebService(name = "AddNumbersPortType", targetNamespace = "http://org/test/addnumbers")
+public interface AddNumbersPortType {
+
+
+    /**
+     * 
+     * @param arg1
+     * @param arg0
+     * @return
+     *     returns int
+     * @throws AddNumbersFault_Exception
+     */
+    @WebMethod
+    @WebResult(targetNamespace = "http://org/test/addnumbers")
+    @RequestWrapper(localName = "addNumbers", targetNamespace = "http://org/test/addnumbers", className = "org.test.addnumbers.AddNumbers")
+    @ResponseWrapper(localName = "addNumbersResponse", targetNamespace = "http://org/test/addnumbers", className = "org.test.addnumbers.AddNumbersResponse")
+    public int addNumbers(
+        @WebParam(name = "arg0", targetNamespace = "http://org/test/addnumbers")
+        int arg0,
+        @WebParam(name = "arg1", targetNamespace = "http://org/test/addnumbers")
+        int arg1)
+        throws AddNumbersFault_Exception
+    ;
+
+    /**
+     * 
+     * @param arg0
+     */
+    @WebMethod
+    @Oneway
+    @RequestWrapper(localName = "oneWayInt", targetNamespace = "http://org/test/addnumbers", className = "org.test.addnumbers.OneWayInt")
+    public void oneWayInt(
+        @WebParam(name = "arg0", targetNamespace = "http://org/test/addnumbers")
+        int arg0);
+
+}

Added: webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbers/AddNumbersPortTypeImpl.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbers/AddNumbersPortTypeImpl.java?view=auto&rev=441165
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbers/AddNumbersPortTypeImpl.java (added)
+++ webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbers/AddNumbersPortTypeImpl.java Thu Sep  7 11:13:39 2006
@@ -0,0 +1,29 @@
+/**
+ * 
+ */
+package org.apache.axis2.jaxws.sample.addnumbers;
+
+import javax.jws.WebService;
+
+
+@WebService(endpointInterface="org.apache.axis2.jaxws.sample.addnumbers.AddNumbersPortType")
+public class AddNumbersPortTypeImpl implements AddNumbersPortType {
+
+	/* (non-Javadoc)
+	 * @see org.apache.axis2.jaxws.sample.addnumbers.AddNumbersPortType#addNumbers(int, int)
+	 */
+	public int addNumbers(int arg0, int arg1) throws AddNumbersFault_Exception {
+		// TODO Auto-generated method stub
+		return arg0+arg1;
+		
+	}
+
+	/* (non-Javadoc)
+	 * @see org.apache.axis2.jaxws.sample.addnumbers.AddNumbersPortType#oneWayInt(int)
+	 */
+	public void oneWayInt(int arg0) {
+		// TODO Auto-generated method stub
+
+	}
+
+}

Added: webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbers/AddNumbersService.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbers/AddNumbersService.java?view=auto&rev=441165
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbers/AddNumbersService.java (added)
+++ webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbers/AddNumbersService.java Thu Sep  7 11:13:39 2006
@@ -0,0 +1,61 @@
+
+package org.apache.axis2.jaxws.sample.addnumbers;
+
+import java.io.File;
+import java.net.MalformedURLException;
+import java.net.URL;
+import javax.xml.namespace.QName;
+import javax.xml.ws.Service;
+import javax.xml.ws.WebEndpoint;
+import javax.xml.ws.WebServiceClient;
+
+
+/**
+ * This class was generated by the JAXWS SI.
+ * JAX-WS RI 2.0_01-b15-fcs
+ * Generated source version: 2.0
+ * 
+ */
+@WebServiceClient(name = "AddNumbersService", targetNamespace = "http://duke/org", wsdlLocation = "AddNumbers1.wsdl")
+public class AddNumbersService
+    extends Service
+{
+
+    private final static URL ADDNUMBERSSERVICE_WSDL_LOCATION;
+    private static String wsdlLocation="/test/org/apache/axis2/jaxws/sample/addnumbers/META-INF/AddNumbers.wsdl";
+    static {
+        URL url = null;
+        try {
+        	try{
+	        	String baseDir = new File(".").getCanonicalPath();
+	        	wsdlLocation = new File(baseDir + wsdlLocation).getAbsolutePath();
+        	}catch(Exception e){
+        		e.printStackTrace();
+        	}
+        	File file = new File(wsdlLocation);
+        	url = file.toURL();
+        } catch (MalformedURLException e) {
+            e.printStackTrace();
+        }
+        ADDNUMBERSSERVICE_WSDL_LOCATION = url;
+    }
+
+    public AddNumbersService(URL wsdlLocation, QName serviceName) {
+        super(wsdlLocation, serviceName);
+    }
+
+    public AddNumbersService() {
+        super(ADDNUMBERSSERVICE_WSDL_LOCATION, new QName("http://duke/org", "AddNumbersService"));
+    }
+
+    /**
+     * 
+     * @return
+     *     returns AddNumbersPortType
+     */
+    @WebEndpoint(name = "AddNumbersPort")
+    public AddNumbersPortType getAddNumbersPort() {
+        return (AddNumbersPortType)super.getPort(new QName("http://duke/org", "AddNumbersPort"), AddNumbersPortType.class);
+    }
+
+}

Added: webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbers/META-INF/AddNumbers.wsdl
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbers/META-INF/AddNumbers.wsdl?view=auto&rev=441165
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbers/META-INF/AddNumbers.wsdl (added)
+++ webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbers/META-INF/AddNumbers.wsdl Thu Sep  7 11:13:39 2006
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+
+<definitions name="AddNumbers" targetNamespace="http://duke/org"
+	xmlns:tns="http://duke/org" xmlns="http://schemas.xmlsoap.org/wsdl/"
+	xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+	xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
+
+
+	<types>
+		<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
+			elementFormDefault="qualified" targetNamespace="http://duke/org">
+			<element name="addNumbersResponse">
+				<complexType>
+					<sequence>
+						<element name="return" type="xsd:int" />
+					</sequence>
+				</complexType>
+			</element>
+
+			<element name="addNumbers">
+				<complexType>
+					<sequence>
+						<element name="arg0" type="xsd:int" />
+						<element name="arg1" type="xsd:int" />
+					</sequence>
+				</complexType>
+			</element>
+
+			<element name="AddNumbersFault">
+				<complexType>
+					<sequence>
+						<element name="faultInfo" type="xsd:string" />
+						<element name="message" type="xsd:string" />
+					</sequence>
+				</complexType>
+			</element>
+
+			<element name="oneWayInt">
+				<complexType>
+					<sequence>
+						<element name="arg0" type="xsd:int" />
+					</sequence>
+				</complexType>
+			</element>
+
+		</xsd:schema>
+	</types>
+
+	<message name="addNumbers">
+		<part name="parameters" element="tns:addNumbers" />
+	</message>
+	<message name="addNumbersResponse">
+		<part name="result" element="tns:addNumbersResponse" />
+	</message>
+	<message name="addNumbersFault">
+		<part name="AddNumbersFault" element="tns:AddNumbersFault" />
+	</message>
+	<message name="oneWayInt">
+		<part name="parameters" element="tns:oneWayInt" />
+	</message>
+
+	<portType name="AddNumbersPortType">
+		<operation name="addNumbers">
+			<input message="tns:addNumbers" name="add" />
+			<output message="tns:addNumbersResponse" name="addResponse" />
+			<fault name="addNumbersFault" message="tns:addNumbersFault" />
+		</operation>
+		<operation name="oneWayInt">
+			<input message="tns:oneWayInt" />
+		</operation>
+	</portType>
+	<binding name="AddNumbersBinding" type="tns:AddNumbersPortType">
+		<soap:binding transport="http://schemas.xmlsoap.org/soap/http"
+			style="document" />
+		<operation name="addNumbers">
+			<soap:operation soapAction="" />
+			<input>
+				<soap:body use="literal" />
+			</input>
+			<output>
+				<soap:body use="literal" />
+			</output>
+			<fault name="addNumbersFault">
+				<soap:fault name="addNumbersFault" use="literal" />
+			</fault>
+		</operation>
+		<operation name="oneWayInt">
+			<soap:operation soapAction="" />
+			<input>
+				<soap:body use="literal" />
+			</input>
+		</operation>
+	</binding>
+	<service name="AddNumbersService">
+		<port name="AddNumbersPort" binding="tns:AddNumbersBinding">
+			<soap:address
+				location="http://localhost:9080/AddNumber/AddNumbersImplService" />
+		</port>
+	</service>
+</definitions>

Added: webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbers/META-INF/services.xml
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbers/META-INF/services.xml?view=auto&rev=441165
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbers/META-INF/services.xml (added)
+++ webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbers/META-INF/services.xml Thu Sep  7 11:13:39 2006
@@ -0,0 +1,14 @@
+<serviceGroup>
+ <service name="AddNumbersService">
+  <messageReceivers>
+   <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out" class="org.apache.axis2.jaxws.server.JAXWSMessageReceiver"/>
+  </messageReceivers>
+  <parameter locked="false" name="ServiceClass">org.apache.axis2.jaxws.sample.addnumbers.AddNumbersPortTypeImpl</parameter>
+  <operation name="addNumbers" mep="http://www.w3.org/2004/08/wsdl/in-out">
+    <actionMapping/>
+  </operation>
+  <operation name="oneWayInt" mep="http://www.w3.org/2004/08/wsdl/in-only">
+    <actionMapping/>
+  </operation>
+ </service>
+</serviceGroup>

Modified: webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/proxy/ProxyTests.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/proxy/ProxyTests.java?view=diff&rev=441165&r1=441164&r2=441165
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/proxy/ProxyTests.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/proxy/ProxyTests.java Thu Sep  7 11:13:39 2006
@@ -17,26 +17,18 @@
 package org.apache.axis2.proxy;
 
 import java.io.File;
-import java.io.StringWriter;
 import java.net.URL;
 import java.util.concurrent.Future;
 
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.Marshaller;
-import javax.xml.bind.Unmarshaller;
 import javax.xml.namespace.QName;
-import javax.xml.stream.XMLOutputFactory;
-import javax.xml.stream.XMLStreamWriter;
 import javax.xml.ws.AsyncHandler;
 import javax.xml.ws.BindingProvider;
-import javax.xml.ws.Response;
 import javax.xml.ws.Service;
 
 import junit.framework.TestCase;
 
 import org.apache.axis2.jaxws.proxy.doclitwrapped.sei.DocLitWrappedProxy;
 import org.apache.axis2.jaxws.proxy.doclitwrapped.sei.ProxyDocLitWrappedService;
-import org.test.proxy.doclitwrapped.ReturnType;
 
 
 public class ProxyTests extends TestCase {
@@ -80,7 +72,33 @@
 			e.printStackTrace();
 		}
 	}
-	
+    
+    public void testInvokeWithNullParam(){
+        try{ 
+            if(!runningOnAxis){
+                return;
+            }
+            System.out.println("---------------------------------------");
+            System.out.println("Test Name: "+getName());
+            File wsdl= new File(wsdlLocation); 
+            URL wsdlUrl = wsdl.toURL(); 
+            Service service = Service.create(null, serviceName); 
+            Object proxy =service.getPort(portName, DocLitWrappedProxy.class);
+            System.out.println(">>Invoking Binding Provider property");
+            BindingProvider p = (BindingProvider)proxy;
+            p.getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY,axisEndpoint);
+
+            DocLitWrappedProxy dwp = (DocLitWrappedProxy)proxy;
+            System.out.println(">> Invoking Proxy Synchronously");
+            String request = null;
+            String response = dwp.invoke(request);
+            System.out.println("Proxy Response =" + response);
+            System.out.println("---------------------------------------");
+        }catch(Exception e){ 
+            e.printStackTrace(); 
+            fail("Exception received" + e);
+        }
+    }
 	public void testInvoke(){
 		try{ 
 			if(!runningOnAxis){



---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org