Author: ffang
Date: Wed Jun 13 05:33:06 2007
New Revision: 546839
URL: http://svn.apache.org/viewvc?view=rev&rev=546839
Log:
[CXF-726] get servlet mode of xml binding samples working
Added:
incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/servlet/hello_world_xml_wrapped.wsdl
(with props)
Modified:
incubator/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/servlet/ServletController.java
incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/servlet/CXFServletTest.java
incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/servlet/cxf-servlet.xml
Modified:
incubator/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/servlet/ServletController.java
URL:
http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/servlet/ServletController.java?view=diff&rev=546839&r1=546838&r2=546839
==============================================================================
---
incubator/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/servlet/ServletController.java
(original)
+++
incubator/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/servlet/ServletController.java
Wed Jun 13 05:33:06 2007
@@ -41,6 +41,7 @@
import org.apache.cxf.transport.https.SSLUtils;
import org.apache.cxf.transports.http.QueryHandler;
import org.apache.cxf.transports.http.QueryHandlerRegistry;
+import org.xmlsoap.schemas.wsdl.http.AddressType;
public class ServletController {
@@ -68,6 +69,9 @@
if (ad.equals(path)
|| ad.equals(lastBase + path)) {
d2.getEndpointInfo().setAddress(base + path);
+ if (d2.getEndpointInfo().getExtensor(AddressType.class) !=
null) {
+
d2.getEndpointInfo().getExtensor(AddressType.class).setLocation(base + path);
+ }
}
}
lastBase = base;
Modified:
incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/servlet/CXFServletTest.java
URL:
http://svn.apache.org/viewvc/incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/servlet/CXFServletTest.java?view=diff&rev=546839&r1=546838&r2=546839
==============================================================================
---
incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/servlet/CXFServletTest.java
(original)
+++
incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/servlet/CXFServletTest.java
Wed Jun 13 05:33:06 2007
@@ -89,13 +89,13 @@
WebResponse res = client.getResponse(CONTEXT_URL + "/services");
WebLink[] links = res.getLinks();
- assertEquals("There should get one link for service", 1, links.length);
+ assertEquals("There should get two link for service", 2, links.length);
assertEquals(CONTEXT_URL + "/services/greeter?wsdl",
links[0].getURLString());
assertEquals("text/html", res.getContentType());
res = client.getResponse(CONTEXT_URL + "/services");
links = res.getLinks();
- assertEquals("There should get one link for service", 1, links.length);
+ assertEquals("There should get two link for service", 2, links.length);
assertEquals(CONTEXT_URL + "/services/greeter?wsdl",
links[0].getURLString());
assertEquals("text/html", res.getContentType());
@@ -117,6 +117,23 @@
res.getText().contains("<wsdl:operation
name=\"greetMe\">"));
assertTrue("the soap address should changed",
res.getText().contains("<soap:address location=\"" +
CONTEXT_URL + "/services/greeter\""));
+
+ }
+
+ @Test
+ public void testGetWSDLWithXMLBinding() throws Exception {
+ ServletUnitClient client = newClient();
+ client.setExceptionsThrownOnErrorStatus(true);
+
+ WebRequest req = new GetMethodQueryWebRequest(CONTEXT_URL +
"/services/greeter2?wsdl");
+
+ WebResponse res = client.getResponse(req);
+ assertEquals(200, res.getResponseCode());
+ assertEquals("text/xml", res.getContentType());
+ assertTrue("the wsdl should contain the opertion greetMe",
+ res.getText().contains("<wsdl:operation
name=\"greetMe\">"));
+ assertTrue("the http address should changed",
+ res.getText().contains(CONTEXT_URL +
"/services/greeter2\""));
}
Modified:
incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/servlet/cxf-servlet.xml
URL:
http://svn.apache.org/viewvc/incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/servlet/cxf-servlet.xml?view=diff&rev=546839&r1=546838&r2=546839
==============================================================================
---
incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/servlet/cxf-servlet.xml
(original)
+++
incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/servlet/cxf-servlet.xml
Wed Jun 13 05:33:06 2007
@@ -29,5 +29,12 @@
address="/greeter"
implementor="org.apache.hello_world_soap_http.GreeterImpl"
wsdlLocation="/org/apache/cxf/systest/servlet/hello_world.wsdl" />
+
+ <jaxws:endpoint
+ id="greeter2"
+ address="/greeter2"
+ implementor="org.apache.hello_world_xml_http.wrapped.GreeterImpl"
+
wsdlLocation="/org/apache/cxf/systest/servlet/hello_world_xml_wrapped.wsdl"
/>
+
</beans>
Added:
incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/servlet/hello_world_xml_wrapped.wsdl
URL:
http://svn.apache.org/viewvc/incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/servlet/hello_world_xml_wrapped.wsdl?view=auto&rev=546839
==============================================================================
---
incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/servlet/hello_world_xml_wrapped.wsdl
(added)
+++
incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/servlet/hello_world_xml_wrapped.wsdl
Wed Jun 13 05:33:06 2007
@@ -0,0 +1,190 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you 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.
+-->
+<wsdl:definitions name="HelloWorld"
+ targetNamespace="http://apache.org/hello_world_xml_http/wrapped"
+ xmlns="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
+ xmlns:tns="http://apache.org/hello_world_xml_http/wrapped"
+ xmlns:x1="http://apache.org/hello_world_xml_http/wrapped/types"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xformat="http://cxf.apache.org/bindings/xformat"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <wsdl:types>
+ <schema
+
targetNamespace="http://apache.org/hello_world_xml_http/wrapped/types"
+ xmlns="http://www.w3.org/2001/XMLSchema"
+ elementFormDefault="qualified">
+ <element name="sayHi">
+ <complexType />
+ </element>
+ <element name="sayHiResponse">
+ <complexType>
+ <sequence>
+ <element name="responseType" type="xsd:string" />
+ </sequence>
+ </complexType>
+ </element>
+
+ <element name="greetMe">
+ <complexType>
+ <sequence>
+ <element name="requestType" type="xsd:string" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="greetMeResponse">
+ <complexType>
+ <sequence>
+ <element name="responseType" type="xsd:string" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="greetMeOneWay">
+ <complexType>
+ <sequence>
+ <element name="requestType" type="xsd:string" />
+ </sequence>
+ </complexType>
+ </element>
+
+ <element name="pingMe">
+ <complexType />
+ </element>
+ <element name="pingMeResponse">
+ <complexType />
+ </element>
+ <element name="faultDetail">
+ <complexType>
+ <sequence>
+ <element name="minor" type="xsd:short" />
+ <element name="major" type="xsd:short" />
+ </sequence>
+ </complexType>
+ </element>
+ </schema>
+ </wsdl:types>
+ <wsdl:message name="sayHiRequest">
+ <wsdl:part element="x1:sayHi" name="in" />
+ </wsdl:message>
+ <wsdl:message name="sayHiResponse">
+ <wsdl:part element="x1:sayHiResponse" name="out" />
+ </wsdl:message>
+ <wsdl:message name="greetMeRequest">
+ <wsdl:part element="x1:greetMe" name="in" />
+ </wsdl:message>
+ <wsdl:message name="greetMeResponse">
+ <wsdl:part element="x1:greetMeResponse" name="out" />
+ </wsdl:message>
+ <wsdl:message name="greetMeOneWayRequest">
+ <wsdl:part element="x1:greetMeOneWay" name="in" />
+ </wsdl:message>
+
+ <wsdl:message name="pingMeRequest">
+ <wsdl:part name="in" element="x1:pingMe" />
+ </wsdl:message>
+ <wsdl:message name="pingMeResponse">
+ <wsdl:part name="out" element="x1:pingMeResponse" />
+ </wsdl:message>
+ <wsdl:message name="pingMeFault">
+ <wsdl:part name="faultDetail" element="x1:faultDetail" />
+ </wsdl:message>
+
+ <wsdl:portType name="Greeter">
+ <wsdl:operation name="sayHi">
+ <wsdl:input message="tns:sayHiRequest" name="sayHiRequest" />
+ <wsdl:output message="tns:sayHiResponse"
+ name="sayHiResponse" />
+ </wsdl:operation>
+
+ <wsdl:operation name="greetMe">
+ <wsdl:input message="tns:greetMeRequest"
+ name="greetMeRequest" />
+ <wsdl:output message="tns:greetMeResponse"
+ name="greetMeResponse" />
+ </wsdl:operation>
+
+ <wsdl:operation name="greetMeOneWay">
+ <wsdl:input message="tns:greetMeOneWayRequest"
+ name="greetMeOneWayRequest" />
+ </wsdl:operation>
+
+ <wsdl:operation name="pingMe">
+ <wsdl:input name="pingMeRequest"
+ message="tns:pingMeRequest" />
+ <wsdl:output name="pingMeResponse"
+ message="tns:pingMeResponse" />
+ <wsdl:fault name="pingMeFault" message="tns:pingMeFault" />
+ </wsdl:operation>
+
+ </wsdl:portType>
+ <wsdl:binding name="Greeter_XMLBinding" type="tns:Greeter">
+ <xformat:binding />
+
+ <wsdl:operation name="sayHi">
+ <wsdl:input name="sayHiRequest" />
+ <wsdl:output name="sayHiResponse" />
+ </wsdl:operation>
+
+ <wsdl:operation name="greetMe">
+ <wsdl:input name="greetMeRequest" />
+ <wsdl:output name="greetMeResponse" />
+ </wsdl:operation>
+
+ <wsdl:operation name="greetMeOneWay">
+ <wsdl:input name="greetMeOneWayRequest" />
+ </wsdl:operation>
+
+ <wsdl:operation name="pingMe">
+ <wsdl:input />
+ <wsdl:output />
+ <wsdl:fault name="pingMeFault" />
+ </wsdl:operation>
+ </wsdl:binding>
+
+ <wsdl:service name="XMLService">
+ <wsdl:port binding="tns:Greeter_XMLBinding" name="XMLPort">
+ <http:address
+ location="http://localhost:9032/XMLService/XMLPort" />
+ </wsdl:port>
+
+ <wsdl:port binding="tns:Greeter_XMLBinding" name="XMLDispatchPort">
+ <http:address
+ location="http://localhost:9007/XMLService/XMLDispatchPort" />
+ </wsdl:port>
+
+ <wsdl:port binding="tns:Greeter_XMLBinding" name="XMLProviderPort">
+ <http:address
+ location="http://localhost:9022/XMLService/XMLProviderPort" />
+ </wsdl:port>
+
+ <wsdl:port binding="tns:Greeter_XMLBinding" name="RestProviderPort">
+ <http:address
+
location="http://localhost:9023/XMLService/RestProviderPort/Customer" />
+ </wsdl:port>
+
+ <wsdl:port binding="tns:Greeter_XMLBinding" name="XMLFaultPort">
+ <http:address
+ location="http://localhost:9033/XMLService/XMLFaultPort" />
+ </wsdl:port>
+
+ </wsdl:service>
+
+</wsdl:definitions>
+
Propchange:
incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/servlet/hello_world_xml_wrapped.wsdl
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/servlet/hello_world_xml_wrapped.wsdl
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange:
incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/servlet/hello_world_xml_wrapped.wsdl
------------------------------------------------------------------------------
svn:mime-type = text/xml