cxf-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From dk...@apache.org
Subject svn commit: r582385 - in /incubator/cxf/trunk: common/common/src/main/java/org/apache/cxf/helpers/ rt/core/src/main/java/org/apache/cxf/transport/http/ systests/src/test/java/org/apache/cxf/systest/http_jetty/ systests/src/test/java/org/apache/cxf/syst...
Date Fri, 05 Oct 2007 20:57:31 GMT
Author: dkulp
Date: Fri Oct  5 13:57:29 2007
New Revision: 582385

URL: http://svn.apache.org/viewvc?rev=582385&view=rev
Log:
[CXF-1071, CXF-948] Fix issues with WSDLQueryHandler when using urls with extra params and
using catalogs for the imports

Added:
    incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/http_jetty/test.html
  (with props)
    incubator/cxf/trunk/testutils/src/main/java/org/apache/hello_world/GreeterImpl.java  
(with props)
    incubator/cxf/trunk/testutils/src/main/resources/wsdl/hello_world_bindings_catalog.wsdl
  (with props)
    incubator/cxf/trunk/testutils/src/main/resources/wsdl/hello_world_messages_catalog.wsdl
  (with props)
    incubator/cxf/trunk/testutils/src/main/resources/wsdl/hello_world_schema.xsd   (with props)
    incubator/cxf/trunk/testutils/src/main/resources/wsdl/hello_world_schema2.xsd   (with
props)
    incubator/cxf/trunk/testutils/src/main/resources/wsdl/hello_world_services_catalog.wsdl
  (with props)
    incubator/cxf/trunk/testutils/src/main/resources/wsdl/hello_world_wsdl_import_catalog.wsdl
  (with props)
Modified:
    incubator/cxf/trunk/common/common/src/main/java/org/apache/cxf/helpers/IOUtils.java
    incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/transport/http/WSDLQueryHandler.java
    incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/http_jetty/EngineLifecycleTest.java
    incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jaxws/OASISCatalogTest.java

Modified: incubator/cxf/trunk/common/common/src/main/java/org/apache/cxf/helpers/IOUtils.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/common/common/src/main/java/org/apache/cxf/helpers/IOUtils.java?rev=582385&r1=582384&r2=582385&view=diff
==============================================================================
--- incubator/cxf/trunk/common/common/src/main/java/org/apache/cxf/helpers/IOUtils.java (original)
+++ incubator/cxf/trunk/common/common/src/main/java/org/apache/cxf/helpers/IOUtils.java Fri
Oct  5 13:57:29 2007
@@ -88,6 +88,7 @@
             buf.append(new String(buffer, 0, n));
             n = input.read(buffer);
         }
+        input.close();
         return buf.toString();
     }
     public static String toString(final Reader input) 

Modified: incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/transport/http/WSDLQueryHandler.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/transport/http/WSDLQueryHandler.java?rev=582385&r1=582384&r2=582385&view=diff
==============================================================================
--- incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/transport/http/WSDLQueryHandler.java
(original)
+++ incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/transport/http/WSDLQueryHandler.java
Fri Oct  5 13:57:29 2007
@@ -24,8 +24,10 @@
 import java.net.MalformedURLException;
 import java.net.URL;
 import java.util.Collection;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.StringTokenizer;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.logging.Level;
 import java.util.logging.Logger;
@@ -50,6 +52,7 @@
 
 
 import org.apache.cxf.Bus;
+import org.apache.cxf.catalog.OASISCatalogManager;
 import org.apache.cxf.common.i18n.Message;
 import org.apache.cxf.common.logging.LogUtils;
 import org.apache.cxf.helpers.CastUtils;
@@ -80,13 +83,20 @@
     public boolean isRecognizedQuery(String baseUri, String ctx, 
                                      EndpointInfo endpointInfo, boolean contextMatchExact)
{
         if (baseUri != null 
-            && (baseUri.toLowerCase().contains("?wsdl")
-                || baseUri.toLowerCase().contains("?xsd="))) {
-            if (contextMatchExact) {
-                return endpointInfo.getAddress().contains(ctx);
-            } else {
-                // contextMatchStrategy will be "stem"
-                return endpointInfo.getAddress().contains(getStem(baseUri));
+            && (baseUri.contains("?") 
+                && (baseUri.toLowerCase().contains("wsdl")
+                || baseUri.toLowerCase().contains("xsd=")))) {
+            
+            int idx = baseUri.indexOf("?");
+            Map<String, String> map = parseQueryString(baseUri.substring(idx + 1));
+            if (map.containsKey("wsdl")
+                || map.containsKey("xsd")) {
+                if (contextMatchExact) {
+                    return endpointInfo.getAddress().contains(ctx);
+                } else {
+                    // contextMatchStrategy will be "stem"
+                    return endpointInfo.getAddress().contains(getStem(baseUri.substring(0,
idx)));
+                }
             }
         }
         return false;
@@ -95,20 +105,11 @@
     public void writeResponse(String baseUri, String ctxUri,
                               EndpointInfo endpointInfo, OutputStream os) {
         try {
-            int idx = baseUri.toLowerCase().indexOf("?wsdl");
-            String base = null;
-            String wsdl = "";
-            String xsd =  null;
-            if (idx != -1) {
-                base = baseUri.substring(0, baseUri.toLowerCase().indexOf("?wsdl"));
-                wsdl = baseUri.substring(baseUri.toLowerCase().indexOf("?wsdl") + 5);
-                if (wsdl.length() > 0) {
-                    wsdl = wsdl.substring(1);
-                }
-            } else {
-                base = baseUri.substring(0, baseUri.toLowerCase().indexOf("?xsd="));
-                xsd = baseUri.substring(baseUri.toLowerCase().indexOf("?xsd=") + 5);
-            }
+            int idx = baseUri.toLowerCase().indexOf("?");
+            Map<String, String> params = parseQueryString(baseUri.substring(idx + 1));
+            String base = baseUri.substring(0, baseUri.toLowerCase().indexOf("?"));
+            String wsdl = params.get("wsdl");
+            String xsd =  params.get("xsd");
             
             Map<String, Definition> mp = CastUtils.cast((Map)endpointInfo.getService()
                                                         .getProperty(WSDLQueryHandler.class.getName()));
@@ -131,7 +132,7 @@
                                                  + ".Schemas"));
             }
             
-            if (!mp.containsKey(wsdl)) {
+            if (!mp.containsKey("")) {
                 Definition def = new ServiceWSDLBuilder(bus, endpointInfo.getService()).build();
                 mp.put("", def);
                 updateDefinition(def, mp, smp, base, endpointInfo);
@@ -141,6 +142,12 @@
             Document doc;
             if (xsd == null) {
                 Definition def = mp.get(wsdl);
+                if (def == null) {
+                    String wsdl2 = resolveWithCatalogs(OASISCatalogManager.getCatalogManager(bus),
+                                                       wsdl,
+                                                       base);
+                    def = mp.get(wsdl2);
+                }
     
                 WSDLWriter wsdlWriter = bus.getExtension(WSDLManager.class)
                     .getWSDLFactory().newWSDLWriter();
@@ -148,8 +155,21 @@
                 doc = wsdlWriter.getDocument(def);
             } else {
                 SchemaReference si = smp.get(xsd);
-                ResourceManagerWSDLLocator rml = new ResourceManagerWSDLLocator(si.getReferencedSchema()
-                                                                                .getDocumentBaseURI(),
+                if (si == null) {
+                    String xsd2 = resolveWithCatalogs(OASISCatalogManager.getCatalogManager(bus),
+                                                       xsd,
+                                                       base);
+                    si = smp.get(xsd2);
+                }
+                
+                String uri = si.getReferencedSchema().getDocumentBaseURI();
+                uri = resolveWithCatalogs(OASISCatalogManager.getCatalogManager(bus),
+                                          uri,
+                                          si.getReferencedSchema().getDocumentBaseURI());
+                if (uri == null) {
+                    uri = si.getReferencedSchema().getDocumentBaseURI();
+                }
+                ResourceManagerWSDLLocator rml = new ResourceManagerWSDLLocator(uri,
                                                                                 bus);
                 
                 InputSource src = rml.getBaseInputSource();
@@ -207,20 +227,46 @@
         }
     }
     
+
+    static String resolveWithCatalogs(OASISCatalogManager catalogs, String start, String
base) {
+        String resolvedSchemaLocation = null;
+        try {
+            resolvedSchemaLocation = catalogs.getCatalog().resolveSystem(start);
+            if (resolvedSchemaLocation == null) {
+                resolvedSchemaLocation = catalogs.getCatalog().resolveURI(start);
+            }
+            if (resolvedSchemaLocation == null) {
+                resolvedSchemaLocation = catalogs.getCatalog().resolvePublic(start, base);
+            }
+        } catch (Exception ex) {
+            //ignore
+        }
+        return resolvedSchemaLocation;
+    }
     
     protected void updateDefinition(Definition def, Map<String, Definition> done,
                                   Map<String, SchemaReference> doneSchemas,
                                   String base, EndpointInfo ei) {
+        OASISCatalogManager catalogs = OASISCatalogManager.getCatalogManager(bus);    
+        
         Collection<List> imports = CastUtils.cast((Collection<?>)def.getImports().values());
         for (List lst : imports) {
             List<Import> impLst = CastUtils.cast(lst);
             for (Import imp : impLst) {
                 String start = imp.getLocationURI();
-                try {
-                    //check to see if it's aleady in a URL format.  If so, leave it.
-                    new URL(start);
-                } catch (MalformedURLException e) {
+                String resolvedSchemaLocation = resolveWithCatalogs(catalogs, start, base);
+                
+                if (resolvedSchemaLocation == null) {
+                    try {
+                        //check to see if it's aleady in a URL format.  If so, leave it.
+                        new URL(start);
+                    } catch (MalformedURLException e) {
+                        done.put(start, imp.getDefinition());
+                        updateDefinition(imp.getDefinition(), done, doneSchemas, base, ei);
+                    }
+                } else {
                     done.put(start, imp.getDefinition());
+                    done.put(resolvedSchemaLocation, imp.getDefinition());
                     updateDefinition(imp.getDefinition(), done, doneSchemas, base, ei);
                 }
             }
@@ -245,17 +291,25 @@
     protected void updateSchemaImports(Schema schema,
                                            Map<String, SchemaReference> doneSchemas,
                                            String base) {
+        OASISCatalogManager catalogs = OASISCatalogManager.getCatalogManager(bus);    
         Collection<List>  imports = CastUtils.cast((Collection<?>)schema.getImports().values());
         for (List lst : imports) {
             List<SchemaImport> impLst = CastUtils.cast(lst);
             for (SchemaImport imp : impLst) {
                 String start = imp.getSchemaLocationURI();
                 if (start != null && !doneSchemas.containsKey(start)) {
-                    try {
-                        //check to see if it's aleady in a URL format.  If so, leave it.
-                        new URL(start);
-                    } catch (MalformedURLException e) {
+                    String resolvedSchemaLocation = resolveWithCatalogs(catalogs, start,
base);
+                    if (resolvedSchemaLocation == null) {
+                        try {
+                            //check to see if it's aleady in a URL format.  If so, leave
it.
+                            new URL(start);
+                        } catch (MalformedURLException e) {
+                            doneSchemas.put(start, imp);
+                            updateSchemaImports(imp.getReferencedSchema(), doneSchemas, base);
+                        }
+                    } else {
                         doneSchemas.put(start, imp);
+                        doneSchemas.put(resolvedSchemaLocation, imp);
                         updateSchemaImports(imp.getReferencedSchema(), doneSchemas, base);
                     }
                 }
@@ -264,12 +318,23 @@
         List<SchemaReference> includes = CastUtils.cast(schema.getIncludes());
         for (SchemaReference included : includes) {
             String start = included.getSchemaLocationURI();
-            if (start != null && !doneSchemas.containsKey(start)) {
-                try {
-                    //check to see if it's aleady in a URL format.  If so, leave it.
-                    new URL(start);
-                } catch (MalformedURLException e) {
+
+            if (start != null) {
+                String resolvedSchemaLocation = resolveWithCatalogs(catalogs, start, base);
+                if (resolvedSchemaLocation == null) {
+                    if (!doneSchemas.containsKey(start)) {
+                        try {
+                            //check to see if it's aleady in a URL format.  If so, leave
it.
+                            new URL(start);
+                        } catch (MalformedURLException e) {
+                            doneSchemas.put(start, included);
+                            updateSchemaImports(included.getReferencedSchema(), doneSchemas,
base);
+                        }
+                    }
+                } else if (!doneSchemas.containsKey(start) 
+                    || !doneSchemas.containsKey(resolvedSchemaLocation)) {
                     doneSchemas.put(start, included);
+                    doneSchemas.put(resolvedSchemaLocation, included);
                     updateSchemaImports(included.getReferencedSchema(), doneSchemas, base);
                 }
             }
@@ -289,10 +354,30 @@
         } catch (MalformedURLException e) {
             LOG.log(Level.WARNING, "URL creation failed: ", e);
         }
-        String port = String.valueOf(url.getPort());
-        baseURI = baseURI.substring(baseURI.indexOf(port) + port.length(), baseURI.lastIndexOf("/"));
-        
+        if (url != null) {
+            baseURI = url.getPath();
+            int idx = baseURI.lastIndexOf('/');
+            if (idx != -1) {
+                baseURI = baseURI.substring(0, idx + 1);
+            }
+        }        
         return baseURI;
+    }
+    
+    static Map<String, String> parseQueryString(String s) {
+        Map<String, String> ht = new HashMap<String, String>();
+        StringTokenizer st = new StringTokenizer(s, "&");
+        while (st.hasMoreTokens()) {
+            String pair = (String)st.nextToken();
+            int pos = pair.indexOf('=');
+            if (pos == -1) {
+                ht.put(pair.toLowerCase(), "");
+            } else {
+                ht.put(pair.substring(0, pos).toLowerCase(),
+                       pair.substring(pos + 1));
+            }
+        }
+        return ht;
     }
      
 }

Modified: incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/http_jetty/EngineLifecycleTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/http_jetty/EngineLifecycleTest.java?rev=582385&r1=582384&r2=582385&view=diff
==============================================================================
--- incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/http_jetty/EngineLifecycleTest.java
(original)
+++ incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/http_jetty/EngineLifecycleTest.java
Fri Oct  5 13:57:29 2007
@@ -22,7 +22,6 @@
 
 import java.io.File;
 import java.io.FileInputStream;
-import java.io.IOException;
 import java.io.InputStream;
 import java.net.HttpURLConnection;
 import java.net.URL;
@@ -118,8 +117,9 @@
         
     }
     
-    public String getStaticResourceURL() throws IOException {
-        File staticFile = new File("target/test-classes/org/apache/cxf/systest/http_jetty/");
+    public String getStaticResourceURL() throws Exception {
+        File staticFile = new File(this.getClass().getResource("test.html").toURI());
+        staticFile = staticFile.getParentFile();
         staticFile = staticFile.getAbsoluteFile();
         URL furl = staticFile.toURL();
         return furl.toString();
@@ -135,13 +135,11 @@
         setUpBus();
         launchService();
         shutdownService();
-        try {
-            launchService();
-            invokeService();            
-            getTestHtml();
-        } catch (java.net.BindException be) {
-            fail("bind exception");
-        }
+
+        launchService();
+        invokeService();            
+        getTestHtml();
+        
         shutdownService();
     }
 

Added: incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/http_jetty/test.html
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/http_jetty/test.html?rev=582385&view=auto
==============================================================================
--- incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/http_jetty/test.html
(added)
+++ incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/http_jetty/test.html
Fri Oct  5 13:57:29 2007
@@ -0,0 +1,5 @@
+<html>
+<body>
+Test
+</body>
+</html>
\ No newline at end of file

Propchange: incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/http_jetty/test.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/http_jetty/test.html
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/http_jetty/test.html
------------------------------------------------------------------------------
    svn:mime-type = text/html

Modified: incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jaxws/OASISCatalogTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jaxws/OASISCatalogTest.java?rev=582385&r1=582384&r2=582385&view=diff
==============================================================================
--- incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jaxws/OASISCatalogTest.java
(original)
+++ incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jaxws/OASISCatalogTest.java
Fri Oct  5 13:57:29 2007
@@ -19,20 +19,24 @@
 
 package org.apache.cxf.systest.jaxws;
 
+import java.io.InputStream;
 import java.net.URL;
 
 import javax.wsdl.WSDLException;
 import javax.wsdl.factory.WSDLFactory;
 import javax.wsdl.xml.WSDLReader;
 import javax.xml.namespace.QName;
+import javax.xml.ws.Endpoint;
 import javax.xml.ws.WebServiceException;
 
 import org.apache.cxf.Bus;
 import org.apache.cxf.BusFactory;
 import org.apache.cxf.catalog.CatalogWSDLLocator;
 import org.apache.cxf.catalog.OASISCatalogManager;
+import org.apache.cxf.helpers.IOUtils;
 
 import org.apache.hello_world.Greeter;
+import org.apache.hello_world.GreeterImpl;
 import org.apache.hello_world.services.SOAPService;
 
 import org.junit.Assert;
@@ -48,6 +52,30 @@
         new QName("http://apache.org/hello_world/services",
                   "SoapPort");
 
+    @Test
+    public void testWSDLPublishWithCatalogs() throws Exception {
+        Endpoint ep = Endpoint.publish(null, new GreeterImpl());
+        try {
+            URL url = new URL("http://localhost:9000/SoapContext/SoapPort?"
+                              + "xsd=testutils/hello_world_schema2.xsd");
+            assertNotNull(url.getContent());
+            
+            
+            url = new URL("http://localhost:9000/SoapContext/SoapPort"
+                          + "?xsd=testutils/hello_world_schema.xsd");
+            String result = IOUtils.toString((InputStream)url.getContent());
+            assertTrue(result.contains("xsd=testutils/hello_world_schema2.xsd"));
+
+            url = new URL("http://localhost:9000/SoapContext/SoapPort"
+                          + "?wsdl=testutils/hello_world_messages_catalog.wsdl");
+            result = IOUtils.toString((InputStream)url.getContent());
+            assertTrue(result.contains("xsd=testutils/hello_world_schema.xsd"));
+
+        } finally {
+            ep.stop();
+        }
+    }
+    
     @Test
     public void testClientWithDefaultCatalog() throws Exception {
         URL wsdl = getClass().getResource("/wsdl/catalog/hello_world_services.wsdl");

Added: incubator/cxf/trunk/testutils/src/main/java/org/apache/hello_world/GreeterImpl.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/testutils/src/main/java/org/apache/hello_world/GreeterImpl.java?rev=582385&view=auto
==============================================================================
--- incubator/cxf/trunk/testutils/src/main/java/org/apache/hello_world/GreeterImpl.java (added)
+++ incubator/cxf/trunk/testutils/src/main/java/org/apache/hello_world/GreeterImpl.java Fri
Oct  5 13:57:29 2007
@@ -0,0 +1,46 @@
+/**
+ * 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.
+ */
+
+package org.apache.hello_world;
+
+import javax.jws.WebService;
+
+import org.apache.hello_world.messages.PingMeFault;
+
+@WebService(serviceName = "SOAPService", 
+            portName = "SoapPort", 
+            endpointInterface = "org.apache.hello_world.Greeter",
+            targetNamespace = "http://apache.org/hello_world/services",
+            wsdlLocation = "testutils/hello_world_services_catalog.wsdl")
+public class GreeterImpl implements Greeter {
+
+    public String greetMe(String requestType) {
+        return "Hello " + requestType;
+    }
+
+    /** {@inheritDoc}*/
+    public void pingMe() throws PingMeFault {
+    }
+
+    /** {@inheritDoc}*/
+    public String sayHi() {
+        return "Hi!";
+    }
+
+}

Propchange: incubator/cxf/trunk/testutils/src/main/java/org/apache/hello_world/GreeterImpl.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/testutils/src/main/java/org/apache/hello_world/GreeterImpl.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/cxf/trunk/testutils/src/main/resources/wsdl/hello_world_bindings_catalog.wsdl
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/testutils/src/main/resources/wsdl/hello_world_bindings_catalog.wsdl?rev=582385&view=auto
==============================================================================
--- incubator/cxf/trunk/testutils/src/main/resources/wsdl/hello_world_bindings_catalog.wsdl
(added)
+++ incubator/cxf/trunk/testutils/src/main/resources/wsdl/hello_world_bindings_catalog.wsdl
Fri Oct  5 13:57:29 2007
@@ -0,0 +1,67 @@
+<?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"
+          xmlns="http://schemas.xmlsoap.org/wsdl/"
+          xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+          xmlns:x2="http://apache.org/hello_world"
+          xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+          xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+          targetNamespace="http://apache.org/hello_world/bindings">
+
+
+    <wsdl:import
+    namespace="http://apache.org/hello_world"
+    location="testutils/hello_world_wsdl_import_catalog.wsdl"/>
+
+    <wsdl:binding name="SOAPBinding" type="x2:Greeter">
+        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+        <wsdl:operation name="sayHi">
+            <soap:operation style="document"/>
+            <wsdl:input>
+                <soap:body use="literal"/>
+            </wsdl:input>
+            <wsdl:output>
+                <soap:body use="literal"/>
+            </wsdl:output>
+        </wsdl:operation>
+        <wsdl:operation name="greetMe">
+            <soap:operation style="document"/>
+            <wsdl:input>
+                <soap:body use="literal"/>
+            </wsdl:input>
+            <wsdl:output>
+                <soap:body use="literal"/>
+            </wsdl:output>
+        </wsdl:operation>
+        <wsdl:operation name="pingMe">
+            <soap:operation style="document"/>
+            <wsdl:input>
+                <soap:body use="literal"/>
+            </wsdl:input>
+            <wsdl:output>
+                <soap:body use="literal"/>
+            </wsdl:output>
+            <wsdl:fault name="pingMeFault">
+                <soap:fault name="pingMeFault" use="literal"/>
+            </wsdl:fault>
+        </wsdl:operation>
+    </wsdl:binding>
+
+</wsdl:definitions>

Propchange: incubator/cxf/trunk/testutils/src/main/resources/wsdl/hello_world_bindings_catalog.wsdl
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/testutils/src/main/resources/wsdl/hello_world_bindings_catalog.wsdl
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: incubator/cxf/trunk/testutils/src/main/resources/wsdl/hello_world_bindings_catalog.wsdl
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: incubator/cxf/trunk/testutils/src/main/resources/wsdl/hello_world_messages_catalog.wsdl
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/testutils/src/main/resources/wsdl/hello_world_messages_catalog.wsdl?rev=582385&view=auto
==============================================================================
--- incubator/cxf/trunk/testutils/src/main/resources/wsdl/hello_world_messages_catalog.wsdl
(added)
+++ incubator/cxf/trunk/testutils/src/main/resources/wsdl/hello_world_messages_catalog.wsdl
Fri Oct  5 13:57:29 2007
@@ -0,0 +1,56 @@
+<?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"
+    xmlns="http://schemas.xmlsoap.org/wsdl/"
+    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+    xmlns:tns="http://apache.org/hello_world/messages"
+    xmlns:x1="http://apache.org/hello_world/types"
+    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+    targetNamespace="http://apache.org/hello_world/messages">
+    <wsdl:types>
+        <schema targetNamespace="http://apache.org/hello_world/types/schema" 
+            xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
+            <xsd:import namespace="http://apache.org/hello_world/types" 
+                schemaLocation="testutils/hello_world_schema.xsd"/>
+        </schema>
+    </wsdl:types>
+    <wsdl:message name="sayHiRequest">
+        <wsdl:part name="in" element="x1:sayHi"/>
+    </wsdl:message>
+    <wsdl:message name="sayHiResponse">
+        <wsdl:part name="out" element="x1:sayHiResponse"/>
+    </wsdl:message>
+    <wsdl:message name="greetMeRequest">
+        <wsdl:part name="in" element="x1:greetMe"/>
+    </wsdl:message>
+    <wsdl:message name="greetMeResponse">
+        <wsdl:part name="out" element="x1:greetMeResponse"/>
+    </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:definitions>

Propchange: incubator/cxf/trunk/testutils/src/main/resources/wsdl/hello_world_messages_catalog.wsdl
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/testutils/src/main/resources/wsdl/hello_world_messages_catalog.wsdl
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: incubator/cxf/trunk/testutils/src/main/resources/wsdl/hello_world_messages_catalog.wsdl
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: incubator/cxf/trunk/testutils/src/main/resources/wsdl/hello_world_schema.xsd
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/testutils/src/main/resources/wsdl/hello_world_schema.xsd?rev=582385&view=auto
==============================================================================
--- incubator/cxf/trunk/testutils/src/main/resources/wsdl/hello_world_schema.xsd (added)
+++ incubator/cxf/trunk/testutils/src/main/resources/wsdl/hello_world_schema.xsd Fri Oct 
5 13:57:29 2007
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<schema
+            xmlns="http://www.w3.org/2001/XMLSchema"
+            xmlns:x1="http://apache.org/hello_world/types"
+            targetNamespace="http://apache.org/hello_world/types"
+            elementFormDefault="qualified">
+
+    <import namespace="http://apache.org/hello_world/types2" 
+        schemaLocation="testutils/hello_world_schema2.xsd"/>
+
+
+    <element name="sayHi">
+        <complexType/>
+    </element>
+    <element name="sayHiResponse">
+        <complexType>
+            <sequence>
+                <element name="responseType" type="string"/>
+            </sequence>
+        </complexType>
+    </element>
+    <element name="greetMe">
+        <complexType>
+            <sequence>
+                <element name="requestType" type="string"/>
+            </sequence>
+        </complexType>
+    </element>
+    <element name="greetMeResponse">
+        <complexType>
+            <sequence>
+                <element name="responseType" type="string"/>
+            </sequence>
+        </complexType>
+    </element>
+    <element name="pingMe">
+        <complexType/>
+    </element>
+    <element name="pingMeResponse">
+        <complexType/>
+    </element>
+    <element name="faultDetail">
+        <complexType>
+            <sequence>
+                <element name="minor" type="short" form="qualified" minOccurs="0"/>
+                <element name="major" type="short" form="qualified" minOccurs="0"/>
+            </sequence>
+        </complexType>
+    </element>
+</schema>
+

Propchange: incubator/cxf/trunk/testutils/src/main/resources/wsdl/hello_world_schema.xsd
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/testutils/src/main/resources/wsdl/hello_world_schema.xsd
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: incubator/cxf/trunk/testutils/src/main/resources/wsdl/hello_world_schema.xsd
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: incubator/cxf/trunk/testutils/src/main/resources/wsdl/hello_world_schema2.xsd
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/testutils/src/main/resources/wsdl/hello_world_schema2.xsd?rev=582385&view=auto
==============================================================================
--- incubator/cxf/trunk/testutils/src/main/resources/wsdl/hello_world_schema2.xsd (added)
+++ incubator/cxf/trunk/testutils/src/main/resources/wsdl/hello_world_schema2.xsd Fri Oct
 5 13:57:29 2007
@@ -0,0 +1,8 @@
+<?xml version="1.0"?>
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
+    targetNamespace="http://apache.org/hello_world/types2"
+            elementFormDefault="qualified">
+    <element name="sayHi2">
+        <complexType/>
+    </element>
+</xsd:schema>

Propchange: incubator/cxf/trunk/testutils/src/main/resources/wsdl/hello_world_schema2.xsd
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/testutils/src/main/resources/wsdl/hello_world_schema2.xsd
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: incubator/cxf/trunk/testutils/src/main/resources/wsdl/hello_world_schema2.xsd
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: incubator/cxf/trunk/testutils/src/main/resources/wsdl/hello_world_services_catalog.wsdl
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/testutils/src/main/resources/wsdl/hello_world_services_catalog.wsdl?rev=582385&view=auto
==============================================================================
--- incubator/cxf/trunk/testutils/src/main/resources/wsdl/hello_world_services_catalog.wsdl
(added)
+++ incubator/cxf/trunk/testutils/src/main/resources/wsdl/hello_world_services_catalog.wsdl
Fri Oct  5 13:57:29 2007
@@ -0,0 +1,44 @@
+<?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"
+		  xmlns="http://schemas.xmlsoap.org/wsdl/"
+		  xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"		 
+		  xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+		  xmlns:tns="http://apache.org/hello_world/services"
+		  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+		  xmlns:x1="http://apache.org/hello_world/bindings"
+		  xmlns:x2="http://apache.org/hello_world"
+		  targetNamespace="http://apache.org/hello_world/services">
+
+    <wsdl:import
+        namespace="http://apache.org/hello_world/bindings"
+        location="testutils/hello_world_bindings_catalog.wsdl"/>
+
+    <wsdl:service name="SOAPService">
+	<wsdl:port name="SoapPort" binding="x1:SOAPBinding">
+	    <soap:address location="http://localhost:9000/SoapContext/SoapPort"/>
+	</wsdl:port>
+	<wsdl:port name="HttpsPort" binding="x1:SOAPBinding">
+	    <soap:address location="https://localhost:9001/SoapContext/HttpsPort"/>
+	</wsdl:port>
+    </wsdl:service>
+</wsdl:definitions>
+
+

Propchange: incubator/cxf/trunk/testutils/src/main/resources/wsdl/hello_world_services_catalog.wsdl
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/testutils/src/main/resources/wsdl/hello_world_services_catalog.wsdl
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: incubator/cxf/trunk/testutils/src/main/resources/wsdl/hello_world_services_catalog.wsdl
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: incubator/cxf/trunk/testutils/src/main/resources/wsdl/hello_world_wsdl_import_catalog.wsdl
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/testutils/src/main/resources/wsdl/hello_world_wsdl_import_catalog.wsdl?rev=582385&view=auto
==============================================================================
--- incubator/cxf/trunk/testutils/src/main/resources/wsdl/hello_world_wsdl_import_catalog.wsdl
(added)
+++ incubator/cxf/trunk/testutils/src/main/resources/wsdl/hello_world_wsdl_import_catalog.wsdl
Fri Oct  5 13:57:29 2007
@@ -0,0 +1,50 @@
+<?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="HelloWorldImport"
+    xmlns="http://schemas.xmlsoap.org/wsdl/"
+    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+    xmlns:tns="http://apache.org/hello_world"
+    xmlns:x1="http://apache.org/hello_world/messages"
+    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+    targetNamespace="http://apache.org/hello_world">
+
+    <wsdl:import
+        namespace="http://apache.org/hello_world/messages"
+        location="testutils/hello_world_messages_catalog.wsdl"/>
+
+    <wsdl:portType name="Greeter">
+        <wsdl:operation name="sayHi">
+            <wsdl:input message="x1:sayHiRequest" name="sayHiRequest"/>
+            <wsdl:output message="x1:sayHiResponse" name="sayHiResponse"/>
+        </wsdl:operation>
+
+        <wsdl:operation name="greetMe">
+            <wsdl:input message="x1:greetMeRequest" name="greetMeRequest"/>
+            <wsdl:output message="x1:greetMeResponse" name="greetMeResponse"/>
+        </wsdl:operation>
+
+        <wsdl:operation name="pingMe">
+            <wsdl:input name="pingMeRequest" message="x1:pingMeRequest"/>
+            <wsdl:output name="pingMeResponse" message="x1:pingMeResponse"/>
+            <wsdl:fault name="pingMeFault" message="x1:pingMeFault"/>
+        </wsdl:operation>
+    </wsdl:portType>
+</wsdl:definitions>

Propchange: incubator/cxf/trunk/testutils/src/main/resources/wsdl/hello_world_wsdl_import_catalog.wsdl
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/testutils/src/main/resources/wsdl/hello_world_wsdl_import_catalog.wsdl
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: incubator/cxf/trunk/testutils/src/main/resources/wsdl/hello_world_wsdl_import_catalog.wsdl
------------------------------------------------------------------------------
    svn:mime-type = text/xml



Mime
View raw message