You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@synapse.apache.org by ve...@apache.org on 2008/09/11 20:38:07 UTC

svn commit: r694406 - in /synapse/trunk/java/modules/core/src: main/java/org/apache/synapse/core/axis2/ test/java/org/apache/synapse/core/axis2/ test/resources/org/apache/synapse/core/axis2/ test/resources/org/apache/synapse/core/axis2/schema/

Author: veithen
Date: Thu Sep 11 11:38:06 2008
New Revision: 694406

URL: http://svn.apache.org/viewvc?rev=694406&view=rev
Log:
SYNAPSE-442: Applied fix suggested by Stoil Valchkov. Also added the contributed test code as a unit test.

Added:
    synapse/trunk/java/modules/core/src/test/resources/org/apache/synapse/core/axis2/SimpleStockService.wsdl
    synapse/trunk/java/modules/core/src/test/resources/org/apache/synapse/core/axis2/schema/
    synapse/trunk/java/modules/core/src/test/resources/org/apache/synapse/core/axis2/schema/SimpleStockService-GetQuote.xsd
    synapse/trunk/java/modules/core/src/test/resources/org/apache/synapse/core/axis2/schema/SimpleStockService-PlaceOrder.xsd
Modified:
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/CustomWSDLLocator.java
    synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/core/axis2/ProxyServiceTest.java

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/CustomWSDLLocator.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/CustomWSDLLocator.java?rev=694406&r1=694405&r2=694406&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/CustomWSDLLocator.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/CustomWSDLLocator.java Thu Sep 11 11:38:06 2008
@@ -73,9 +73,12 @@
             result = resourceMap.resolve(synCfg, relativeLocation);
         }
         if (result == null) {
-            result = new InputSource(SynapseConfigUtils.resolveRelativeURI(parentLocation, relativeLocation));
+            String location = SynapseConfigUtils.resolveRelativeURI(parentLocation, relativeLocation);
+            result = new InputSource(location);
+            latestImportURI = location;
+        } else {
+            latestImportURI = relativeLocation;
         }
-        this.latestImportURI = relativeLocation;
         return result;
     }
 

Modified: synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/core/axis2/ProxyServiceTest.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/core/axis2/ProxyServiceTest.java?rev=694406&r1=694405&r2=694406&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/core/axis2/ProxyServiceTest.java (original)
+++ synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/core/axis2/ProxyServiceTest.java Thu Sep 11 11:38:06 2008
@@ -87,4 +87,16 @@
         // referring to locations such as "my-matches?xsd=xsd0.xsd".
         axisService.printWSDL(new ByteArrayOutputStream());
     }
+    
+    /**
+     * Test a proxy service with recursive imports and without a {@link ResourceMap}.
+     * Regression test for SYNAPSE-442.
+     */
+    public void testRecursiveImports2() throws Exception {
+        ProxyService testService = new ProxyService("mytest");
+        SynapseConfiguration synCfg = new SynapseConfiguration();
+        AxisConfiguration axisCfg = new AxisConfiguration();
+        testService.setWsdlURI(getClass().getResource("SimpleStockService.wsdl").toURI());
+        testService.buildAxisService(synCfg, axisCfg);
+    }
 }

Added: synapse/trunk/java/modules/core/src/test/resources/org/apache/synapse/core/axis2/SimpleStockService.wsdl
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/test/resources/org/apache/synapse/core/axis2/SimpleStockService.wsdl?rev=694406&view=auto
==============================================================================
--- synapse/trunk/java/modules/core/src/test/resources/org/apache/synapse/core/axis2/SimpleStockService.wsdl (added)
+++ synapse/trunk/java/modules/core/src/test/resources/org/apache/synapse/core/axis2/SimpleStockService.wsdl Thu Sep 11 11:38:06 2008
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions xmlns:axis2="http://services.samples"  xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://services.samples" xmlns:ns1="http://services.samples/xsd/GetQuote" xmlns:ns2="http://services.samples/xsd/PlaceOrder">
+
+<wsdl:types>
+	<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://services.samples">
+			<xs:import namespace="http://services.samples/xsd/GetQuote" schemaLocation="schema/SimpleStockService-GetQuote.xsd"/>
+	</xs:schema>
+</wsdl:types>	
+	
+	<wsdl:message name="placeOrderMessage">
+		<wsdl:part name="part1" element="ns1:placeOrder"/>
+	</wsdl:message>
+	<wsdl:message name="getQuoteMessage">
+		<wsdl:part name="part1" element="ns1:getQuote"/>
+	</wsdl:message>
+	<wsdl:message name="getQuoteResponseMessage">
+		<wsdl:part name="part1" element="ns1:getQuoteResponse"/>
+	</wsdl:message>
+	<wsdl:portType name="SimpleStockQuoteServicePortType">
+		<wsdl:operation name="placeOrder">
+			<wsdl:input message="axis2:placeOrderMessage" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" wsaw:Action="urn:placeOrder"/>
+		</wsdl:operation>
+		<wsdl:operation name="getQuote">
+			<wsdl:input message="axis2:getQuoteMessage" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" wsaw:Action="urn:getQuote"/>
+			<wsdl:output message="axis2:getQuoteResponseMessage" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" wsaw:Action="http://services.samples/SimpleStockQuoteServicePortType/getQuoteResponse"/>
+		</wsdl:operation>
+	</wsdl:portType>
+	<wsdl:binding name="SimpleStockQuoteServiceSOAP11Binding" type="axis2:SimpleStockQuoteServicePortType">
+		<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+		<wsdl:operation name="placeOrder">
+			<soap:operation soapAction="urn:placeOrder" style="document"/>
+			<wsdl:input>
+				<soap:body use="literal"/>
+			</wsdl:input>
+		</wsdl:operation>
+		<wsdl:operation name="getQuote">
+			<soap:operation soapAction="urn:getQuote" style="document"/>
+			<wsdl:input>
+				<soap:body use="literal"/>
+			</wsdl:input>
+			<wsdl:output>
+				<soap:body use="literal"/>
+			</wsdl:output>
+		</wsdl:operation>
+	</wsdl:binding>
+	<wsdl:service name="SimpleStockQuoteService">
+		<wsdl:port name="SimpleStockQuoteServiceSOAP11port_http" binding="axis2:SimpleStockQuoteServiceSOAP11Binding">
+			<soap:address location="http://localhost:5555/web/WmPolicyGateway/services/user_name_req_PGService"/>
+		</wsdl:port>
+	</wsdl:service>
+	<!-- wsdl:documentation>SimpleStockQuoteService</wsdl:documentation-->
+</wsdl:definitions>

Added: synapse/trunk/java/modules/core/src/test/resources/org/apache/synapse/core/axis2/schema/SimpleStockService-GetQuote.xsd
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/test/resources/org/apache/synapse/core/axis2/schema/SimpleStockService-GetQuote.xsd?rev=694406&view=auto
==============================================================================
--- synapse/trunk/java/modules/core/src/test/resources/org/apache/synapse/core/axis2/schema/SimpleStockService-GetQuote.xsd (added)
+++ synapse/trunk/java/modules/core/src/test/resources/org/apache/synapse/core/axis2/schema/SimpleStockService-GetQuote.xsd Thu Sep 11 11:38:06 2008
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:tns="http://services.samples/xsd/GetQuote" xmlns:po="http://services.samples/xsd/PlaceOrder" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://services.samples/xsd/GetQuote" elementFormDefault="qualified" attributeFormDefault="qualified">
+
+	<xs:import namespace="http://services.samples/xsd/PlaceOrder" schemaLocation="SimpleStockService-PlaceOrder.xsd"/>
+
+	<xs:element name="getQuote">
+		<xs:complexType>
+			<xs:sequence>
+				<xs:element name="request" type="tns:GetQuote"/>
+			</xs:sequence>
+		</xs:complexType>
+	</xs:element>
+	<xs:element name="GetQuote" type="tns:GetQuote"/>
+	<xs:complexType name="GetQuote">
+		<xs:sequence>
+			<xs:element name="symbol" type="xs:string"/>
+		</xs:sequence>
+	</xs:complexType>
+	<xs:element name="getQuoteResponse">
+		<xs:complexType>
+			<xs:sequence>
+				<xs:element name="return" type="tns:GetQuoteResponse"/>
+			</xs:sequence>
+		</xs:complexType>
+	</xs:element>
+	<xs:element name="GetQuoteResponse" type="tns:GetQuoteResponse"/>
+	<xs:complexType name="GetQuoteResponse">
+		<xs:sequence>
+			<xs:element name="change" type="xs:double"/>
+			<xs:element name="earnings" type="xs:double"/>
+			<xs:element name="high" type="xs:double"/>
+			<xs:element name="last" type="xs:double"/>
+			<xs:element name="lastTradeTimestamp" type="xs:string"/>
+			<xs:element name="low" type="xs:double"/>
+			<xs:element name="marketCap" type="xs:double"/>
+			<xs:element name="name" type="xs:string"/>
+			<xs:element name="open" type="xs:double"/>
+			<xs:element name="peRatio" type="xs:double"/>
+			<xs:element name="percentageChange" type="xs:double"/>
+			<xs:element name="prevClose" type="xs:double"/>
+			<xs:element name="symbol" type="xs:string"/>
+			<xs:element name="volume" type="xs:int"/>
+		</xs:sequence>
+	</xs:complexType>
+	
+	
+	<xs:element name="placeOrder">
+		<xs:complexType>
+			<xs:sequence>
+				<xs:element name="order" type="po:PlaceOrder"/>
+			</xs:sequence>
+		</xs:complexType>
+	</xs:element>
+	
+</xs:schema>

Added: synapse/trunk/java/modules/core/src/test/resources/org/apache/synapse/core/axis2/schema/SimpleStockService-PlaceOrder.xsd
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/test/resources/org/apache/synapse/core/axis2/schema/SimpleStockService-PlaceOrder.xsd?rev=694406&view=auto
==============================================================================
--- synapse/trunk/java/modules/core/src/test/resources/org/apache/synapse/core/axis2/schema/SimpleStockService-PlaceOrder.xsd (added)
+++ synapse/trunk/java/modules/core/src/test/resources/org/apache/synapse/core/axis2/schema/SimpleStockService-PlaceOrder.xsd Thu Sep 11 11:38:06 2008
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:tns="http://services.samples/xsd/PlaceOrder" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://services.samples/xsd/PlaceOrder" elementFormDefault="qualified" attributeFormDefault="qualified">
+	<xs:complexType name="PlaceOrder">
+		<xs:sequence>
+			<xs:element name="price" type="xs:double"/>
+			<xs:element name="quantity" type="xs:int"/>
+			<xs:element name="symbol" type="xs:string"/>
+		</xs:sequence>
+	</xs:complexType>
+</xs:schema>