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 2008/08/14 14:50:30 UTC

svn commit: r685873 - in /tuscany/branches/sca-java-1.3.1/modules/interface-java-jaxws/src: main/java/org/apache/tuscany/sca/interfacedef/java/jaxws/ test/java/org/apache/tuscany/sca/interfacedef/java/jaxws/ test/resources/wsdl/

Author: slaws
Date: Thu Aug 14 05:50:24 2008
New Revision: 685873

URL: http://svn.apache.org/viewvc?rev=685873&view=rev
Log:
TUSCANY-2505 - Fix up wrapper element names

Modified:
    tuscany/branches/sca-java-1.3.1/modules/interface-java-jaxws/src/main/java/org/apache/tuscany/sca/interfacedef/java/jaxws/JAXWSJavaInterfaceProcessor.java
    tuscany/branches/sca-java-1.3.1/modules/interface-java-jaxws/src/test/java/org/apache/tuscany/sca/interfacedef/java/jaxws/JAXWSJavaInterfaceProcessorTestCase.java
    tuscany/branches/sca-java-1.3.1/modules/interface-java-jaxws/src/test/resources/wsdl/StockExceptionTest.wsdl

Modified: tuscany/branches/sca-java-1.3.1/modules/interface-java-jaxws/src/main/java/org/apache/tuscany/sca/interfacedef/java/jaxws/JAXWSJavaInterfaceProcessor.java
URL: http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.3.1/modules/interface-java-jaxws/src/main/java/org/apache/tuscany/sca/interfacedef/java/jaxws/JAXWSJavaInterfaceProcessor.java?rev=685873&r1=685872&r2=685873&view=diff
==============================================================================
--- tuscany/branches/sca-java-1.3.1/modules/interface-java-jaxws/src/main/java/org/apache/tuscany/sca/interfacedef/java/jaxws/JAXWSJavaInterfaceProcessor.java (original)
+++ tuscany/branches/sca-java-1.3.1/modules/interface-java-jaxws/src/main/java/org/apache/tuscany/sca/interfacedef/java/jaxws/JAXWSJavaInterfaceProcessor.java Thu Aug 14 05:50:24 2008
@@ -203,6 +203,11 @@
                             QName qname = new QName(inputNS, inputName);
                             DataType dt = new DataTypeImpl<XMLType>(wrapperClass, new XMLType(qname, qname));
                             dataBindingExtensionPoint.introspectType(dt, operation);
+                            // TUSCANY-2505
+                            if (dt.getLogical() instanceof XMLType) {
+                                XMLType xmlType = (XMLType)dt.getLogical();
+                                xmlType.setElementName(qname);
+                            }
                             return dt;
                         } catch (ClassNotFoundException e) {
                             GeneratedClassLoader cl = new GeneratedClassLoader(clazz.getClassLoader());
@@ -235,9 +240,14 @@
                         try {
                             Class<?> wrapperClass =
                                 Class.forName(outputWrapperClassName, false, clazz.getClassLoader());
-                            QName qname = new QName(inputNS, inputName);
+                            QName qname = new QName(outputNS, outputName);
                             DataType dt = new DataTypeImpl<XMLType>(wrapperClass, new XMLType(qname, qname));
                             dataBindingExtensionPoint.introspectType(dt, operation);
+                            // TUSCANY-2505
+                            if (dt.getLogical() instanceof XMLType) {
+                                XMLType xmlType = (XMLType)dt.getLogical();
+                                xmlType.setElementName(qname);
+                            }
                             return dt;
                         } catch (ClassNotFoundException e) {
                             GeneratedClassLoader cl = new GeneratedClassLoader(clazz.getClassLoader());

Modified: tuscany/branches/sca-java-1.3.1/modules/interface-java-jaxws/src/test/java/org/apache/tuscany/sca/interfacedef/java/jaxws/JAXWSJavaInterfaceProcessorTestCase.java
URL: http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.3.1/modules/interface-java-jaxws/src/test/java/org/apache/tuscany/sca/interfacedef/java/jaxws/JAXWSJavaInterfaceProcessorTestCase.java?rev=685873&r1=685872&r2=685873&view=diff
==============================================================================
--- tuscany/branches/sca-java-1.3.1/modules/interface-java-jaxws/src/test/java/org/apache/tuscany/sca/interfacedef/java/jaxws/JAXWSJavaInterfaceProcessorTestCase.java (original)
+++ tuscany/branches/sca-java-1.3.1/modules/interface-java-jaxws/src/test/java/org/apache/tuscany/sca/interfacedef/java/jaxws/JAXWSJavaInterfaceProcessorTestCase.java Thu Aug 14 05:50:24 2008
@@ -22,13 +22,21 @@
 import javax.jws.WebMethod;
 import javax.jws.WebService;
 import javax.jws.soap.SOAPBinding;
+import javax.xml.namespace.QName;
 
+import junit.framework.Assert;
 import junit.framework.TestCase;
 
+import org.apache.tuscany.sca.databinding.DataBindingExtensionPoint;
+import org.apache.tuscany.sca.databinding.DefaultDataBindingExtensionPoint;
+import org.apache.tuscany.sca.databinding.jaxb.DefaultXMLAdapterExtensionPoint;
+import org.apache.tuscany.sca.databinding.jaxb.XMLAdapterExtensionPoint;
 import org.apache.tuscany.sca.interfacedef.Operation;
 import org.apache.tuscany.sca.interfacedef.java.DefaultJavaInterfaceFactory;
 import org.apache.tuscany.sca.interfacedef.java.JavaInterface;
 
+import com.example.stock.StockExceptionTest;
+
 /**
  *
  * @version $Rev$ $Date$
@@ -42,7 +50,20 @@
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        interfaceProcessor = new JAXWSJavaInterfaceProcessor();
+        DataBindingExtensionPoint db = new DefaultDataBindingExtensionPoint();
+        XMLAdapterExtensionPoint xa = new DefaultXMLAdapterExtensionPoint();
+        interfaceProcessor = new JAXWSJavaInterfaceProcessor(db, new JAXWSFaultExceptionMapper(db, xa), xa);
+    }
+
+    public void testWrapper() throws Exception {
+        DefaultJavaInterfaceFactory iFactory = new DefaultJavaInterfaceFactory();
+        JavaInterface contract = iFactory.createJavaInterface(StockExceptionTest.class);
+
+        interfaceProcessor.visitInterface(contract);
+        Operation op = contract.getOperations().get(0);
+        Assert.assertTrue(!op.isWrapperStyle());
+        Assert.assertEquals(new QName("http://www.example.com/stock", "stockQuoteOffer"), op.getWrapper().getInputWrapperElement().getQName());
+        Assert.assertEquals(new QName("http://www.example.com/stock", "stockQuoteOfferResponse"), op.getWrapper().getOutputWrapperElement().getQName());
     }
 
     /**

Modified: tuscany/branches/sca-java-1.3.1/modules/interface-java-jaxws/src/test/resources/wsdl/StockExceptionTest.wsdl
URL: http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.3.1/modules/interface-java-jaxws/src/test/resources/wsdl/StockExceptionTest.wsdl?rev=685873&r1=685872&r2=685873&view=diff
==============================================================================
--- tuscany/branches/sca-java-1.3.1/modules/interface-java-jaxws/src/test/resources/wsdl/StockExceptionTest.wsdl (original)
+++ tuscany/branches/sca-java-1.3.1/modules/interface-java-jaxws/src/test/resources/wsdl/StockExceptionTest.wsdl Thu Aug 14 05:50:24 2008
@@ -40,14 +40,14 @@
                     </sequence>
                 </complexType>
             </element>
-            <element name="stockQuoteOfferResponse">
-                <complexType>
-                    <sequence>
-                        <element name="stockQuoteOfferReturn" minOccurs="0" type="tns:StockOffer"/>
-                    </sequence>
-                </complexType>
+            <!--  TUSCANY 2505, make the responseWrapper non-anonymous -->
+            <element name="stockQuoteOfferResponse" type="tns:StockQuoteOfferResponseType">
             </element>
-            
+             <complexType name="StockQuoteOfferResponseType">
+                <sequence>
+                    <element name="stockQuoteOfferReturn" minOccurs="0" type="tns:StockOffer" />
+                </sequence>
+            </complexType>            
             <!-- Faults -->
             <element name="InvalidSymbolFault">
                 <complexType>