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/11/08 04:44:50 UTC

svn commit: r472375 - in /webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws: client/proxy/JAXWSProxyHandler.java wrapper/impl/PropertyInfo.java

Author: ngallardo
Date: Tue Nov  7 19:44:50 2006
New Revision: 472375

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

Nikhil's patch for this holder related issue.

Modified:
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/client/proxy/JAXWSProxyHandler.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/wrapper/impl/PropertyInfo.java

Modified: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/client/proxy/JAXWSProxyHandler.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/client/proxy/JAXWSProxyHandler.java?view=diff&rev=472375&r1=472374&r2=472375
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/client/proxy/JAXWSProxyHandler.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/client/proxy/JAXWSProxyHandler.java Tue Nov  7 19:44:50 2006
@@ -334,7 +334,7 @@
 	
 	private boolean isValidMethodCall(Method method){
 		Class clazz = method.getDeclaringClass();
-		if(clazz == javax.xml.ws.BindingProvider.class || clazz == seiClazz){
+		if(clazz.isAssignableFrom(javax.xml.ws.BindingProvider.class) || clazz.isAssignableFrom(seiClazz)){
 			return true;
 		}
 		return false;

Modified: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/wrapper/impl/PropertyInfo.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/wrapper/impl/PropertyInfo.java?view=diff&rev=472375&r1=472374&r2=472375
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/wrapper/impl/PropertyInfo.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/wrapper/impl/PropertyInfo.java Tue Nov  7 19:44:50 2006
@@ -21,11 +21,14 @@
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
 
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
 
 public class PropertyInfo {
 	String propertyName;
 	PropertyDescriptor descriptor;
-	
+	private static Log log = LogFactory.getLog(PropertyInfo.class);
 	/**
 	 * @param propertyName
 	 * @param descriptor
@@ -46,9 +49,22 @@
 		return method.invoke(targetBean, null);
 	}
 	
-	public void set(Object targetBean, Object propValue)throws InvocationTargetException, IllegalAccessException{
+	public void set(Object targetBean, Object propValue)throws InvocationTargetException, IllegalAccessException, JAXBWrapperException{
 		Method method = descriptor.getWriteMethod();
-		method.invoke(targetBean, propValue);
+		Object[] object = new Object[]{propValue};
+		Class[] paramTypes = method.getParameterTypes();
+		if(paramTypes !=null && paramTypes.length ==1){
+			Class paramType = paramTypes[0];
+			if(paramType.isPrimitive() && propValue == null){
+				//Ignoring null value for primitive type, this could potentially be the way of a customer indicating to set
+				//default values defined in JAXBObject/xmlSchema.
+				if(log.isDebugEnabled()){
+					log.debug("Ignoring null value for primitive type, this is the way to set default values defined in JAXBObject/xmlSchema. for primitive types");
+				}
+				return;
+			}
+		}
+		method.invoke(targetBean, object);
 	}
 	
 }



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