You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by sa...@apache.org on 2005/12/28 16:02:16 UTC

svn commit: r359540 - in /webservices/axis2/trunk/java/modules/core: src/org/apache/axis2/deployment/ src/org/apache/axis2/description/ test-resources/wsdl/ test/org/apache/axis2/deployment/

Author: sanka
Date: Wed Dec 28 07:02:03 2005
New Revision: 359540

URL: http://svn.apache.org/viewcvs?rev=359540&view=rev
Log:
Fixed: Schema Element is not set properly in the AxisMessage.
Added: test1.wsdl, more comprehensvie wsdl document for testing.
Modified: AxisService not to use PolicyUtil until a testcase is added to test
its functionality

Added:
    webservices/axis2/trunk/java/modules/core/test-resources/wsdl/
    webservices/axis2/trunk/java/modules/core/test-resources/wsdl/test1.wsdl
Modified:
    webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/deployment/AxisServiceBuilder.java
    webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/description/AxisService.java
    webservices/axis2/trunk/java/modules/core/test/org/apache/axis2/deployment/AxisServiceBuilderTest.java

Modified: webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/deployment/AxisServiceBuilder.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/deployment/AxisServiceBuilder.java?rev=359540&r1=359539&r2=359540&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/deployment/AxisServiceBuilder.java (original)
+++ webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/deployment/AxisServiceBuilder.java Wed Dec 28 07:02:03 2005
@@ -160,9 +160,11 @@
                 AxisOperation axisOperation = AxisOperationFactory
                         .getAxisOperation(getMessageExchangePattern(bindingOperation));
 
+                // setting parent
+                axisOperation.setParent(axisService);
                 // setting operation name
                 axisOperation.setName(new QName(operation.getName()));
-
+                
                 // Input
                 Input input = operation.getInput();
                 AxisMessage inAxisMsg = axisOperation
@@ -179,7 +181,11 @@
                     // axisService.addSchema(getXmlSchema(wrapper));
 
                 } else {
-                    inAxisMsg.setElementQName(inMsg.getQName());
+                    Iterator parts = inMsg.getParts().values().iterator();
+                    Part part = (Part) parts.next();
+                    QName qname = part.getElementName();
+                    inAxisMsg.setElementQName(qname);
+                    
                 }
 
                 // Output
@@ -200,7 +206,10 @@
                         // axisService.addSchema(getXmlSchema(wrapper));
 
                     } else {
-                        outAxisMsg.setElementQName(outMsg.getQName());
+                        Iterator parts = outMsg.getParts().values().iterator();
+                        Part part = (Part) parts.next();
+                        QName qname = part.getElementName();
+                        outAxisMsg.setElementQName(qname);
                     }
                 }
 

Modified: webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/description/AxisService.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/description/AxisService.java?rev=359540&r1=359539&r2=359540&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/description/AxisService.java (original)
+++ webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/description/AxisService.java Wed Dec 28 07:02:03 2005
@@ -350,7 +350,7 @@
             WSDLDescription desc = axisService2WOM.generateWOM();
             
             // populate it with policy information ..
-            PolicyUtil.populatePolicy(desc, this);
+            //PolicyUtil.populatePolicy(desc, this);
             
             WOMWriter womWriter = WOMWriterFactory.createWriter(org.apache.wsdl.WSDLConstants.WSDL_1_1);
             womWriter.setdefaultWSDLPrefix("wsdl");

Added: webservices/axis2/trunk/java/modules/core/test-resources/wsdl/test1.wsdl
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/core/test-resources/wsdl/test1.wsdl?rev=359540&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/core/test-resources/wsdl/test1.wsdl (added)
+++ webservices/axis2/trunk/java/modules/core/test-resources/wsdl/test1.wsdl Wed Dec 28 07:02:03 2005
@@ -0,0 +1,193 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- 
+
+The original wsdl document was taken from: "http://wsi.alphaworks.ibm.com:8080/wspolicy/interop2.jsp"
+
+-->
+<wsdl:definitions 
+    targetNamespace="http://ws-policy.tests" 
+    xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" 
+    xmlns:intf="http://ws-policy.tests" 
+    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 
+    xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
+    xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" 
+    xmlns:apachesoap="http://xml.apache.org/xml-soap" 
+    xmlns="http://schemas.xmlsoap.org/wsdl" 
+    xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
+	<wsp:UsingPolicy wsdl:Required="true" />
+	<!--
+		Dummy Assertion scattered throughout as a "spoiler", i.e. the marker value of 9 
+		should NEVER appear in any of the Effective Policies calculated.
+	-->
+	<wsp:Policy wsu:Id="Dummy1-9">
+		<intf:PolicyTestAssertion1 marker="9" />
+	</wsp:Policy>
+
+	<!--
+		Message level assertions.  
+	-->
+	<wsp:Policy wsu:Id="Message1-6">
+		<intf:MessagePolicyTestAssertion1 marker="6" />
+	</wsp:Policy>
+	<wsp:Policy wsu:Id="Message2-7">
+		<intf:MessagePolicyTestAssertion2 marker="7" />
+	</wsp:Policy>
+	<wsp:Policy wsu:Id="Message2-Aggregate">
+		<intf:MessagePolicyTestAssertion2 marker="8" />
+		<wsp:PolicyReference URI="#Message2-7" />
+	</wsp:Policy>
+
+	<!--
+		Operation level assertions.  
+	-->
+	<wsp:Policy wsu:Id="Operation1-6">
+		<intf:OperationPolicyTestAssertion1 marker="6" />
+	</wsp:Policy>
+
+	<wsp:Policy wsu:Id="Operation2-7">
+		<intf:OperationPolicyTestAssertion2 marker="7" />
+	</wsp:Policy>
+	<wsp:Policy wsu:Id="Operation2-Aggregate">
+		<intf:OperationPolicyTestAssertion2 marker="8" />
+		<wsp:PolicyReference URI="#Operation2-7" />
+	</wsp:Policy>
+
+	<!--
+		Endpoint level assertions.  
+	-->
+	<wsp:Policy wsu:Id="Endpoint2-7">
+		<intf:EndpointPolicyTestAssertion2 marker="7" />
+	</wsp:Policy>
+
+	<wsp:Policy wsu:Id="Endpoint2-Aggregate">
+		<intf:EndpointPolicyTestAssertion2 marker="8" />
+		<wsp:PolicyReference URI="#Endpoint2-7" />
+	</wsp:Policy>
+
+	<!--
+		Service level assertions.  
+	-->
+	<wsp:Policy wsu:Id="Service1-6">
+		<intf:ServicePolicyTestAssertion1 marker="6" />
+	</wsp:Policy>
+	<wsp:Policy wsu:Id="Service2-7">
+		<intf:ServicePolicyTestAssertion2 marker="7" />
+	</wsp:Policy>
+	<wsp:Policy wsu:Id="Service2-Aggregate">
+		<intf:ServicePolicyTestAssertion2 marker="8" />
+		<wsp:PolicyReference URI="#Service2-7" />
+	</wsp:Policy>
+
+	<wsdl:types>
+		<schema elementFormDefault="qualified" targetNamespace="http://ws-policy.tests" xmlns="http://www.w3.org/2001/XMLSchema">
+			<element name="SimpleRequest">
+				<complexType>
+					<sequence>
+						<element name="request" nillable="true" type="xsd:string" />
+					</sequence>
+				</complexType>
+			</element>
+			<element name="SimpleResponse">
+				<complexType>
+					<sequence>
+						<element name="response" nillable="true" type="xsd:string" />
+					</sequence>
+				</complexType>
+			</element>
+		</schema>
+	</wsdl:types>
+	
+	<wsdl:message name="MyRequestMessage">	
+		<wsp:PolicyReference URI="#Message2-Aggregate" />				
+		<wsdl:part name="parameters" element="intf:SimpleRequest" />
+	</wsdl:message>
+	
+	<wsdl:message name="MyResponseMessage">
+		<wsp:PolicyReference URI="#Message2-Aggregate" />				
+		<wsdl:part name="parameters" element="intf:SimpleResponse" />
+	</wsdl:message>
+	
+	<wsdl:message name="MyFaultMessage">
+		<wsp:PolicyReference URI="#Message2-Aggregate"/>				
+		<wsdl:part name="parameters" element="intf:SimpleFault" />
+	</wsdl:message>
+	<wsdl:portType name="MyPortType" wsp:PolicyURIs="#Endpoint2-Aggregate">
+		<wsdl:operation name="MyOperation">
+			<wsp:Policy>
+                                <wsp:PolicyReference URI="Operation2-Aggregate"/>
+				<wsp:PolicyReference URI="#Operation1-6"/>	
+			</wsp:Policy>
+			<wsdl:input name="MyInput" message="intf:MyRequestMessage" wsp:PolicyURIs="#Message1-6" />
+			<wsdl:output name="MyOutput" message="intf:MyResponseMessage" wsp:PolicyURIs="#Message1-6" />
+			<wsdl:fault name="MyFault" message="intf:MyFaultMessage" wsp:PolicyURIs="#Message1-6" />
+		</wsdl:operation>
+	</wsdl:portType>
+
+	<wsdl:binding name="MyBinding" type="intf:MyPortType">
+		<wsp:Policy wsu:Id="Endpoint1-6">
+			<intf:EndpointPolicyTestAssertion1 marker="6" />
+		</wsp:Policy>
+		<wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
+		<wsdl:operation name="MyOperation">
+			<wsp:Policy>
+				<wsp:ExactlyOne>
+					<intf:OperationPolicyTestAssertion1 marker="3" />
+					<intf:OperationPolicyTestAssertion2 marker="3" />
+				</wsp:ExactlyOne>
+			</wsp:Policy>
+
+			<wsdlsoap:operation soapAction="" />
+			<wsdl:input name="MyInput">
+				<wsp:Policy>
+					<wsp:ExactlyOne>
+						<intf:MessagePolicyTestAssertion1 marker="2" />
+						<intf:MessagePolicyTestAssertion2 marker="2" />
+					</wsp:ExactlyOne>
+				</wsp:Policy>
+				<wsdlsoap:body use="literal" />
+			</wsdl:input>
+			<wsdl:output name="MyOutput">
+				<wsp:Policy>
+					<wsp:ExactlyOne>
+						<intf:MessagePolicyTestAssertion1 marker="1" />
+						<intf:MessagePolicyTestAssertion2 marker="1" />
+					</wsp:ExactlyOne>
+				</wsp:Policy>
+				<wsdlsoap:body use="literal" />
+			</wsdl:output>
+			<wsdl:fault name="MyFault">
+				<wsp:Policy>
+					<wsp:ExactlyOne>
+						<intf:MessagePolicyTestAssertion1 marker="0" />
+						<intf:MessagePolicyTestAssertion2 marker="0" />
+					</wsp:ExactlyOne>
+				</wsp:Policy>
+				<wsdlsoap:body use="literal" />
+			</wsdl:fault>
+		</wsdl:operation>
+	</wsdl:binding>
+
+	<wsdl:service name="MyService">
+		<wsp:Policy>
+			<wsp:ExactlyOne>
+				<intf:ServicePolicyTestAssertion1 marker="5" />
+				<intf:ServicePolicyTestAssertion2 marker="5" />
+			</wsp:ExactlyOne>
+			<wsp:PolicyReference URI="#Service1-6" />
+			<wsp:PolicyReference URI="#Service2-Aggregate" />
+		</wsp:Policy>
+
+		<wsdl:port name="MyPort" binding="intf:MyBinding">
+			<wsp:Policy>
+				<wsp:ExactlyOne>
+					<intf:EndpointPolicyTestAssertion1 marker="4" />
+					<intf:EndpointPolicyTestAssertion2 marker="4" />
+				</wsp:ExactlyOne>
+			</wsp:Policy>
+			<wsdlsoap:address location="http://localhost:9080/services/MyServiceMyPort" />
+		</wsdl:port>
+
+	</wsdl:service>		
+
+</wsdl:definitions>

Modified: webservices/axis2/trunk/java/modules/core/test/org/apache/axis2/deployment/AxisServiceBuilderTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/core/test/org/apache/axis2/deployment/AxisServiceBuilderTest.java?rev=359540&r1=359539&r2=359540&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/core/test/org/apache/axis2/deployment/AxisServiceBuilderTest.java (original)
+++ webservices/axis2/trunk/java/modules/core/test/org/apache/axis2/deployment/AxisServiceBuilderTest.java Wed Dec 28 07:02:03 2005
@@ -4,63 +4,70 @@
 
 import javax.xml.namespace.QName;
 
+import junit.framework.TestCase;
+
 import org.apache.axis2.description.AxisMessage;
 import org.apache.axis2.description.AxisOperation;
 import org.apache.axis2.description.AxisService;
 import org.apache.wsdl.WSDLConstants;
 
-import junit.framework.TestCase;
-
 /*
-* Copyright 2004,2005 The Apache Software Foundation.
-*
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-*      http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 
 /**
  * TestCase for AxisServiceBuilder.
  */
 public class AxisServiceBuilderTest extends TestCase {
-	private AxisServiceBuilder builder;
+    private AxisServiceBuilder builder;
 
-	public AxisServiceBuilderTest() {
-		super("AxisServiceBuilderTest");
-	}
-
-	protected void setUp() throws Exception {
-		builder = new AxisServiceBuilder();
-		super.setUp();
-	}
-
-	public void testAxisServiceBuilder() throws Exception {
-
-		assertNotNull(builder);
-
-		AxisService service = builder.getAxisService(new FileInputStream(
-				"./test-resources/PingService.wsdl"));
-
-		assertNotNull(service);
-		assertEquals(service.getName(), "PingService");
-		AxisOperation operation = service.getOperation(new QName("Ping"));
-		assertNotNull(operation);
-		AxisMessage inMessage = operation
-				.getMessage(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
-		assertNotNull(inMessage);
-		assertEquals("PingRequest", inMessage.getElementQName().getLocalPart());
-		AxisMessage outMessage = operation
-				.getMessage(WSDLConstants.MESSAGE_LABEL_OUT_VALUE);
-		assertNotNull(outMessage);
-		assertEquals("PingResponse", outMessage.getElementQName()
-				.getLocalPart());
-	}
-}
\ No newline at end of file
+    public AxisServiceBuilderTest() {
+        super("AxisServiceBuilderTest");
+    }
+
+    protected void setUp() throws Exception {
+        super.setUp();
+        builder = new AxisServiceBuilder();
+    }
+
+    public void test1() throws Exception {
+
+        AxisService service = builder.getAxisService(new FileInputStream(
+                "./test-resources/wsdl/test1.wsdl"));
+
+        assertNotNull(service);
+        assertEquals("MyService", service.getName());
+        
+
+        AxisOperation axisOperation = service.getOperation(new QName(
+                "MyOperation"));
+        assertNotNull(axisOperation);
+
+        assertEquals(WSDLConstants.MEP_URI_IN_OUT, axisOperation
+                .getMessageExchangePattern());
+
+        AxisMessage input = axisOperation
+                .getMessage(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
+        assertNotNull(input);
+        assertEquals(input.getElementQName(), new QName(
+                "http://ws-policy.tests", "SimpleRequest"));
+
+        AxisMessage output = axisOperation
+                .getMessage(WSDLConstants.MESSAGE_LABEL_OUT_VALUE);
+        assertNotNull(output);
+        assertEquals(output.getElementQName(), new QName("http://ws-policy.tests",
+                "SimpleResponse"));
+    }
+}