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 sc...@apache.org on 2007/01/11 23:10:08 UTC

svn commit: r495403 - in /webservices/axis2/trunk/java/modules: jaxws-api/project.xml jaxws-api/src/javax/xml/ws/spi/FactoryFinder.java jaxws/src/org/apache/axis2/jaxws/message/databinding/impl/JAXBBlockFactoryImpl.java

Author: scheu
Date: Thu Jan 11 14:10:08 2007
New Revision: 495403

URL: http://svn.apache.org/viewvc?view=rev&rev=495403
Log:
AXIS2-1957
Contributor: Mike Rheinheimer
Fixed JAX-WS compliance problem with JAXB

AXIS2-1840
Contributor: Ming Cheung
AccessController Fix

Modified:
    webservices/axis2/trunk/java/modules/jaxws-api/project.xml
    webservices/axis2/trunk/java/modules/jaxws-api/src/javax/xml/ws/spi/FactoryFinder.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/databinding/impl/JAXBBlockFactoryImpl.java

Modified: webservices/axis2/trunk/java/modules/jaxws-api/project.xml
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws-api/project.xml?view=diff&rev=495403&r1=495402&r2=495403
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws-api/project.xml (original)
+++ webservices/axis2/trunk/java/modules/jaxws-api/project.xml Thu Jan 11 14:10:08 2007
@@ -84,6 +84,11 @@
             <version>${pom.currentVersion}</version>
         </dependency>
         <dependency>
+            <groupId>org.apache.axis2</groupId>
+            <artifactId>axis2-kernel</artifactId>
+            <version>${pom.currentVersion}</version>
+        </dependency>
+        <dependency>
             <groupId>javax.xml.bind</groupId>
             <artifactId>jaxb-api</artifactId>
             <version>${jaxbri.version}</version>

Modified: webservices/axis2/trunk/java/modules/jaxws-api/src/javax/xml/ws/spi/FactoryFinder.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws-api/src/javax/xml/ws/spi/FactoryFinder.java?view=diff&rev=495403&r1=495402&r2=495403
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws-api/src/javax/xml/ws/spi/FactoryFinder.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws-api/src/javax/xml/ws/spi/FactoryFinder.java Thu Jan 11 14:10:08 2007
@@ -22,10 +22,10 @@
 import java.io.InputStreamReader;
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
-import java.security.AccessController;
 import java.security.PrivilegedAction;
 import java.util.Properties;
 
+import org.apache.axis2.java.security.AccessController;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 

Modified: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/databinding/impl/JAXBBlockFactoryImpl.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/databinding/impl/JAXBBlockFactoryImpl.java?view=diff&rev=495403&r1=495402&r2=495403
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/databinding/impl/JAXBBlockFactoryImpl.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/databinding/impl/JAXBBlockFactoryImpl.java Thu Jan 11 14:10:08 2007
@@ -50,11 +50,13 @@
 	public Block createFrom(OMElement omElement, Object context, QName qName) throws XMLStreamException, MessageException {
 		// The context for a JAXBFactory must be non-null and should be a JAXBBlockContext.
 		if (context == null) {
-			throw ExceptionFactory.makeMessageException(Messages.getMessage("JAXBBlockFactoryErr1", "null"), null);
+		    // JAXWS spec 4.3.4 conformance requires a WebServiceException whose cause is JAXBException
+			throw ExceptionFactory.makeWebServiceException(new JAXBException(Messages.getMessage("JAXBBlockFactoryErr1", "null")));
 		} else if (context instanceof JAXBBlockContext) {
 			;
 		} else {
-			throw ExceptionFactory.makeMessageException(Messages.getMessage("JAXBBlockFactoryErr1", context.getClass().getName()), null);
+		    // JAXWS spec 4.3.4 conformance requires a WebServiceException whose cause is JAXBException
+			throw ExceptionFactory.makeWebServiceException(new JAXBException(Messages.getMessage("JAXBBlockFactoryErr1", context.getClass().getName())));
 		}
 		return new JAXBBlockImpl(omElement, (JAXBBlockContext) context, qName, this);
 	}
@@ -67,18 +69,21 @@
 		// The context must be non-null and should be a JAXBBlockContext.
 		// For legacy reasons, a JAXBContext is also supported (and wrapped into a JAXBBlockContext)
 		if (context == null) {
-			throw ExceptionFactory.makeMessageException(Messages.getMessage("JAXBBlockFactoryErr1", "null"), null);
+            // JAXWS spec 4.3.4 conformance requires a WebServiceException whose cause is JAXBException
+            throw ExceptionFactory.makeWebServiceException(new JAXBException(Messages.getMessage("JAXBBlockFactoryErr1", "null")));
 		} else if (context instanceof JAXBBlockContext) {
 			;
 		} else {
-			throw ExceptionFactory.makeMessageException(Messages.getMessage("JAXBBlockFactoryErr1", context.getClass().getName()), null);
+		    // JAXWS spec 4.3.4 conformance requires a WebServiceException whose cause is JAXBException
+			throw ExceptionFactory.makeWebServiceException(new JAXBException(Messages.getMessage("JAXBBlockFactoryErr1", context.getClass().getName())));
 		}
         
         // The business object must be either a JAXBElement or a block with an @XmlRootElement qname.  The best way
         // to verify this is to get the QName from the business object.
         QName bQName = XMLRootElementUtil.getXmlRootElementQName(businessObject);
         if (bQName == null) {
-            throw ExceptionFactory.makeMessageException(Messages.getMessage("JAXBBlockFactoryErr2", businessObject.getClass().getName()), null);
+            // JAXWS spec 4.3.4 conformance requires a WebServiceException whose cause is JAXBException
+            throw ExceptionFactory.makeWebServiceException(new JAXBException(Messages.getMessage("JAXBBlockFactoryErr2", businessObject.getClass().getName())));
         }
         
         // If the business obect qname does not match the parameter, use the business object qname



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