You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by sl...@apache.org on 2010/08/11 09:33:59 UTC

svn commit: r984313 - /tuscany/sca-java-2.x/trunk/modules/interface-java-jaxws/src/main/java/org/apache/tuscany/sca/interfacedef/java/jaxws/JAXWSJavaInterfaceProcessor.java

Author: slaws
Date: Wed Aug 11 07:33:59 2010
New Revision: 984313

URL: http://svn.apache.org/viewvc?rev=984313&view=rev
Log:
TUSCANY-3641 - Update interface processing to set remotable when @WebServiceProvider encountered

Modified:
    tuscany/sca-java-2.x/trunk/modules/interface-java-jaxws/src/main/java/org/apache/tuscany/sca/interfacedef/java/jaxws/JAXWSJavaInterfaceProcessor.java

Modified: tuscany/sca-java-2.x/trunk/modules/interface-java-jaxws/src/main/java/org/apache/tuscany/sca/interfacedef/java/jaxws/JAXWSJavaInterfaceProcessor.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/interface-java-jaxws/src/main/java/org/apache/tuscany/sca/interfacedef/java/jaxws/JAXWSJavaInterfaceProcessor.java?rev=984313&r1=984312&r2=984313&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/interface-java-jaxws/src/main/java/org/apache/tuscany/sca/interfacedef/java/jaxws/JAXWSJavaInterfaceProcessor.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/interface-java-jaxws/src/main/java/org/apache/tuscany/sca/interfacedef/java/jaxws/JAXWSJavaInterfaceProcessor.java Wed Aug 11 07:33:59 2010
@@ -38,6 +38,7 @@ import javax.jws.soap.SOAPBinding.Style;
 import javax.xml.namespace.QName;
 import javax.xml.ws.RequestWrapper;
 import javax.xml.ws.ResponseWrapper;
+import javax.xml.ws.WebServiceProvider;
 
 import org.apache.tuscany.sca.core.ExtensionPointRegistry;
 import org.apache.tuscany.sca.core.UtilityExtensionPoint;
@@ -104,6 +105,7 @@ public class JAXWSJavaInterfaceProcessor
 
         final Class<?> clazz = contract.getJavaClass();
         WebService webService = clazz.getAnnotation(WebService.class);
+        
         String tns = JavaXMLMapper.getNamespace(clazz);
         String localName = clazz.getSimpleName();
         if (webService != null) {
@@ -113,6 +115,16 @@ public class JAXWSJavaInterfaceProcessor
             // Mark SEI as Remotable
             contract.setRemotable(true);
         }
+        
+        WebServiceProvider webServiceProvider = clazz.getAnnotation(WebServiceProvider.class);
+        if (webServiceProvider != null) {
+            tns = getValue(webServiceProvider.targetNamespace(), tns);
+            localName = getValue(webServiceProvider.serviceName(), localName);
+            contract.setQName(new QName(tns, localName));
+            // Mark SEI as Remotable
+            contract.setRemotable(true);
+        }
+        
         if (!contract.isRemotable()) {
             return;
         }