Author: nagy Date: Fri Apr 16 17:29:04 2010 New Revision: 935004 URL: http://svn.apache.org/viewvc?rev=935004&view=rev Log: Fix to bring use of features during service creation in line with spec so as to prevent potential portability issues.
Modified: axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/jaxws/spi/ServiceDelegate.java axis/axis2/java/core/trunk/modules/metadata/src/org/apache/axis2/jaxws/i18n/resource.properties Modified: axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/jaxws/spi/ServiceDelegate.java URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/jaxws/spi/ServiceDelegate.java?rev=935004&r1=935003&r2=935004&view=diff ============================================================================== --- axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/jaxws/spi/ServiceDelegate.java (original) +++ axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/jaxws/spi/ServiceDelegate.java Fri Apr 16 17:29:04 2010 @@ -85,8 +85,6 @@ public class ServiceDelegate extends jav private HandlerResolver handlerResolver = null; - private WebServiceFeature[] features = null; - /** * NON-STANDARD SPI! Set any metadata to be used on the creation of the NEXT Service by this thread. * NOTE that this uses ThreadLocal to store the metadata, and that ThreadLocal is cleared after it is @@ -200,12 +198,17 @@ public class ServiceDelegate extends jav public ServiceDelegate(URL url, QName qname, Class clazz, WebServiceFeature... features) throws WebServiceException { super(); this.serviceQname = qname; - this.features = features; if (!isValidServiceName()) { throw ExceptionFactory .makeWebServiceException(Messages.getMessage("serviceDelegateConstruct0", "")); } + + if ((features != null) && (features.length != 0)) { + throw ExceptionFactory + .makeWebServiceException(Messages.getMessage("serviceDelegateConstruct2", serviceQname.toString())); + } + // Get any metadata that is to be used to build up this service, then reset it so it isn't used // to create any other services. DescriptionBuilderComposite sparseComposite = getServiceMetadata(); @@ -266,7 +269,7 @@ public class ServiceDelegate extends jav */ public <T> Dispatch<T> createDispatch(QName portName, Class<T> type, Mode mode) throws WebServiceException { - return createDispatch(portName, type, mode, (WebServiceFeature[]) features); + return createDispatch(portName, type, mode, (WebServiceFeature[]) null); } /* @@ -274,7 +277,7 @@ public class ServiceDelegate extends jav * @see javax.xml.ws.spi.ServiceDelegate#createDispatch(javax.xml.namespace.QName, javax.xml.bind.JAXBContext, javax.xml.ws.Service.Mode) */ public Dispatch<java.lang.Object> createDispatch(QName portName, JAXBContext context, Mode mode) { - return createDispatch(portName, context, mode, (WebServiceFeature[]) features); + return createDispatch(portName, context, mode, (WebServiceFeature[]) null); } @Override @@ -500,7 +503,7 @@ public class ServiceDelegate extends jav * @see javax.xml.ws.spi.ServiceDelegate#getPort(java.lang.Class) */ public <T> T getPort(Class<T> sei) throws WebServiceException { - return getPort((QName) null, sei, (WebServiceFeature[]) features); + return getPort((QName) null, sei, (WebServiceFeature[]) null); } /* @@ -508,7 +511,7 @@ public class ServiceDelegate extends jav * @see javax.xml.ws.spi.ServiceDelegate#getPort(javax.xml.namespace.QName, java.lang.Class) */ public <T> T getPort(QName portName, Class<T> sei) throws WebServiceException { - return getPort(portName, sei, (WebServiceFeature[]) features); + return getPort(portName, sei, (WebServiceFeature[]) null); } @Override Modified: axis/axis2/java/core/trunk/modules/metadata/src/org/apache/axis2/jaxws/i18n/resource.properties URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/metadata/src/org/apache/axis2/jaxws/i18n/resource.properties?rev=935004&r1=935003&r2=935004&view=diff ============================================================================== --- axis/axis2/java/core/trunk/modules/metadata/src/org/apache/axis2/jaxws/i18n/resource.properties (original) +++ axis/axis2/java/core/trunk/modules/metadata/src/org/apache/axis2/jaxws/i18n/resource.properties Fri Apr 16 17:29:04 2010 @@ -349,4 +349,6 @@ missingInvocationController=An invocatio unknownClassType=Unknown class type {0} axisEndpointReferenceFactoryErr=Cannot create an endpoint reference because the service name is null, and the port name is set to {0} axisEndpointReferenceFactoryErr2=Cannot create an endpoint reference because the address, service name, and/or port name are null. -dispatchInvalidTypeWithMode=Unsupported Dispatch Type: Dispatch type javax.xml.soap.SOAPMessage cannot be used with messages in Payload mode. \ No newline at end of file +dispatchInvalidTypeWithMode=Unsupported Dispatch Type: Dispatch type javax.xml.soap.SOAPMessage cannot be used with messages in Payload mode. +serviceDelegateConstruct2=An attempt was made to construct the ServiceDelegate object with the {0} service and with WebServicesFeatures, but there are no standard features defined for service creation in the current specification. +