cxf-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ff...@apache.org
Subject svn commit: r546839 - in /incubator/cxf/trunk: rt/transports/http/src/main/java/org/apache/cxf/transport/servlet/ systests/src/test/java/org/apache/cxf/systest/servlet/
Date Wed, 13 Jun 2007 12:33:07 GMT
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



Mime
View raw message