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;
}