You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by dk...@apache.org on 2007/02/28 23:12:26 UTC

svn commit: r513005 - in /incubator/cxf/trunk: common/common/ common/common/src/main/java/org/apache/cxf/resource/ common/common/src/test/java/org/apache/cxf/common/injection/ parent/ rt/core/src/main/java/org/apache/cxf/catalog/ rt/core/src/main/java/...

Author: dkulp
Date: Wed Feb 28 14:12:25 2007
New Revision: 513005

URL: http://svn.apache.org/viewvc?view=rev&rev=513005
Log:
Commit first part of CXF-440 (patch from Jarek Gawor)


Added:
    incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/catalog/
    incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/catalog/CatalogWSDLLocator.java   (with props)
    incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/catalog/CatalogXmlSchemaURIResolver.java   (with props)
    incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/catalog/OASISCatalogManager.java   (with props)
    incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jaxws/OASISCatalogTest.java   (with props)
    incubator/cxf/trunk/testutils/src/main/resources/META-INF/
    incubator/cxf/trunk/testutils/src/main/resources/META-INF/jax-ws-catalog.xml   (with props)
    incubator/cxf/trunk/testutils/src/main/resources/wsdl/catalog/
    incubator/cxf/trunk/testutils/src/main/resources/wsdl/catalog/hello_world_bindings.wsdl   (with props)
    incubator/cxf/trunk/testutils/src/main/resources/wsdl/catalog/hello_world_messages.wsdl   (with props)
    incubator/cxf/trunk/testutils/src/main/resources/wsdl/catalog/hello_world_port_type.wsdl   (with props)
    incubator/cxf/trunk/testutils/src/main/resources/wsdl/catalog/hello_world_services.wsdl   (with props)
    incubator/cxf/trunk/testutils/src/main/resources/wsdl/catalog/hello_world_wsdl_import.wsdl   (with props)
Modified:
    incubator/cxf/trunk/common/common/pom.xml
    incubator/cxf/trunk/common/common/src/main/java/org/apache/cxf/resource/URIResolver.java
    incubator/cxf/trunk/common/common/src/test/java/org/apache/cxf/common/injection/ResourceInjectorTest.java
    incubator/cxf/trunk/parent/pom.xml
    incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/wsdl11/WSDLManagerImpl.java
    incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/wsdl11/WSDLServiceBuilder.java
    incubator/cxf/trunk/testutils/pom.xml

Modified: incubator/cxf/trunk/common/common/pom.xml
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/common/common/pom.xml?view=diff&rev=513005&r1=513004&r2=513005
==============================================================================
--- incubator/cxf/trunk/common/common/pom.xml (original)
+++ incubator/cxf/trunk/common/common/pom.xml Wed Feb 28 14:12:25 2007
@@ -102,6 +102,11 @@
         </dependency>
 
         <dependency>
+            <groupId>xml-resolver</groupId>
+            <artifactId>xml-resolver</artifactId>
+        </dependency>
+
+        <dependency>
             <groupId>org.apache.ws.commons.schema</groupId>
             <artifactId>XmlSchema</artifactId>
         </dependency>

Modified: incubator/cxf/trunk/common/common/src/main/java/org/apache/cxf/resource/URIResolver.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/common/common/src/main/java/org/apache/cxf/resource/URIResolver.java?view=diff&rev=513005&r1=513004&r2=513005
==============================================================================
--- incubator/cxf/trunk/common/common/src/main/java/org/apache/cxf/resource/URIResolver.java (original)
+++ incubator/cxf/trunk/common/common/src/main/java/org/apache/cxf/resource/URIResolver.java Wed Feb 28 14:12:25 2007
@@ -75,6 +75,9 @@
     
     public void resolve(String baseUriStr, String uriStr, Class callingCls) throws IOException {
         this.calling = (callingCls != null) ? callingCls : getClass();
+        this.file = null;
+        this.uri = null;
+        this.is = null;
 
         if (uriStr.startsWith("classpath:")) {
             tryClasspath(uriStr);

Modified: incubator/cxf/trunk/common/common/src/test/java/org/apache/cxf/common/injection/ResourceInjectorTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/common/common/src/test/java/org/apache/cxf/common/injection/ResourceInjectorTest.java?view=diff&rev=513005&r1=513004&r2=513005
==============================================================================
--- incubator/cxf/trunk/common/common/src/test/java/org/apache/cxf/common/injection/ResourceInjectorTest.java (original)
+++ incubator/cxf/trunk/common/common/src/test/java/org/apache/cxf/common/injection/ResourceInjectorTest.java Wed Feb 28 14:12:25 2007
@@ -190,6 +190,11 @@
     public boolean preDestroyCalled() { 
         return preDestroy && preDestroyPrivate;
     }
+    
+    // dummy method to access the private methods to avoid compile warnings
+    public void dummyMethod() {
+        preDestroyMethodPrivate();
+    }
 }
 
 @Resource(name = "resource1")

Modified: incubator/cxf/trunk/parent/pom.xml
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/parent/pom.xml?view=diff&rev=513005&r1=513004&r2=513005
==============================================================================
--- incubator/cxf/trunk/parent/pom.xml (original)
+++ incubator/cxf/trunk/parent/pom.xml Wed Feb 28 14:12:25 2007
@@ -670,6 +670,13 @@
                 <artifactId>xbean</artifactId>
                 <version>${xmlbeans.version}</version>
             </dependency>
+
+            <dependency>
+                <groupId>xml-resolver</groupId>
+                <artifactId>xml-resolver</artifactId>
+                <version>1.2</version>
+            </dependency>
+
         </dependencies>
     </dependencyManagement>
 

Added: incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/catalog/CatalogWSDLLocator.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/catalog/CatalogWSDLLocator.java?view=auto&rev=513005
==============================================================================
--- incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/catalog/CatalogWSDLLocator.java (added)
+++ incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/catalog/CatalogWSDLLocator.java Wed Feb 28 14:12:25 2007
@@ -0,0 +1,90 @@
+/**
+ * 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.cxf.catalog;
+
+import java.io.IOException;
+import javax.wsdl.xml.WSDLLocator;
+
+import org.xml.sax.InputSource;
+
+import org.apache.cxf.resource.ExtendedURIResolver;
+import org.apache.xml.resolver.Catalog;
+
+/**
+ * Resolves WSDL URIs using Apache Commons Resolver API.
+ */
+public class CatalogWSDLLocator implements WSDLLocator {
+
+    private String wsdlUrl;
+    private ExtendedURIResolver resolver;
+    private Catalog catalogResolver;
+    private String baseUri;
+    
+    public CatalogWSDLLocator(String wsdlUrl, Catalog catalogResolver) {
+        this.wsdlUrl = wsdlUrl;
+        this.baseUri = this.wsdlUrl;
+        this.catalogResolver = catalogResolver;
+        this.resolver = new ExtendedURIResolver();
+    }
+
+    public InputSource getBaseInputSource() {
+        InputSource result =  resolver.resolve(baseUri, null);
+        baseUri = resolver.getURI();
+        return result;
+    }
+
+    public String getBaseURI() {
+        return baseUri;
+    }
+
+    public String getLatestImportURI() {
+        return resolver.getLatestImportURI();
+    }
+
+    public InputSource getImportInputSource(String parent, String importLocation) {
+        this.baseUri = parent;
+
+        String resolvedImportLocation = null;
+        try {
+            resolvedImportLocation = this.catalogResolver.resolveSystem(importLocation);
+        } catch (IOException e) {
+            throw new RuntimeException("Catalog resolution failed", e);
+        }
+
+        InputSource in = null;
+        if (resolvedImportLocation == null) {
+            in = this.resolver.resolve(importLocation, this.baseUri);
+        } else {
+            in =  this.resolver.resolve(resolvedImportLocation, null);
+        }
+
+        // XXX: If we return null (as per javadoc), a NPE is raised in WSDL4J code.
+        // So let's return new InputSource() and let WSDL4J fail. Optionally, 
+        // we can throw a similar exception as in CatalogXmlSchemaURIResolver.
+        if (in == null) {
+            in = new InputSource();
+        }
+
+        return in;
+    }
+
+    public void close() {
+        resolver.close();
+    }
+}

Propchange: incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/catalog/CatalogWSDLLocator.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/catalog/CatalogWSDLLocator.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/catalog/CatalogXmlSchemaURIResolver.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/catalog/CatalogXmlSchemaURIResolver.java?view=auto&rev=513005
==============================================================================
--- incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/catalog/CatalogXmlSchemaURIResolver.java (added)
+++ incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/catalog/CatalogXmlSchemaURIResolver.java Wed Feb 28 14:12:25 2007
@@ -0,0 +1,71 @@
+/**
+ * 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.cxf.catalog;
+
+import java.io.IOException;
+
+import org.xml.sax.InputSource;
+
+import org.apache.cxf.resource.ExtendedURIResolver;
+import org.apache.ws.commons.schema.XmlSchemaException;
+import org.apache.ws.commons.schema.resolver.URIResolver;
+import org.apache.xml.resolver.Catalog;
+
+/**
+ * Resolves URIs using Apache Commons Resolver API.
+ */
+public class CatalogXmlSchemaURIResolver implements URIResolver {
+
+    private ExtendedURIResolver resolver;
+    private Catalog catalogResolver;
+    
+    public CatalogXmlSchemaURIResolver(Catalog catalogResolver) {
+        this.resolver = new ExtendedURIResolver();
+        this.catalogResolver = catalogResolver;
+    }
+
+    public InputSource resolveEntity(String targetNamespace, String schemaLocation, String baseUri) {
+        String resolvedSchemaLocation = null;
+        try {
+            resolvedSchemaLocation = this.catalogResolver.resolveSystem(schemaLocation);
+        } catch (IOException e) {
+            throw new RuntimeException("Catalog resolution failed", e);
+        }
+
+        InputSource in = null;
+        if (resolvedSchemaLocation == null) {
+            in = this.resolver.resolve(schemaLocation, baseUri);
+        } else {
+            in = this.resolver.resolve(resolvedSchemaLocation, baseUri);
+        }
+
+        // XXX: If we return null, a NPE is raised in SchemaBuilder.
+        // If we return new InputSource(), a XmlSchemaException is raised
+        // but without any nice error message. So let's just throw a nice error here.
+        if (in == null) {
+            throw new XmlSchemaException("Unable to locate imported document "
+                                         + "at '" + schemaLocation + "'"
+                                         + (baseUri == null
+                                            ? "."
+                                            : ", relative to '" + baseUri + "'."));
+        }
+
+        return in;
+    }
+}

Propchange: incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/catalog/CatalogXmlSchemaURIResolver.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/catalog/CatalogXmlSchemaURIResolver.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/catalog/OASISCatalogManager.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/catalog/OASISCatalogManager.java?view=auto&rev=513005
==============================================================================
--- incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/catalog/OASISCatalogManager.java (added)
+++ incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/catalog/OASISCatalogManager.java Wed Feb 28 14:12:25 2007
@@ -0,0 +1,93 @@
+/**
+ * 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.cxf.catalog;
+
+import java.io.IOException;
+import java.net.URL;
+import java.util.Enumeration;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import org.apache.cxf.Bus;
+import org.apache.xml.resolver.Catalog;
+import org.apache.xml.resolver.CatalogManager;
+import org.apache.xml.resolver.tools.CatalogResolver;
+
+public class OASISCatalogManager {
+
+    private static final Logger LOG =
+        Logger.getLogger(OASISCatalogManager.class.getName());
+
+    private Catalog resolver;
+    
+    public OASISCatalogManager() {
+        CatalogManager catalogManager = new CatalogManager();
+        catalogManager.setUseStaticCatalog(false);
+        catalogManager.setIgnoreMissingProperties(true);
+        CatalogResolver catalogResolver = new CatalogResolver(catalogManager);
+        this.resolver = catalogResolver.getCatalog();
+    }
+    
+    public Catalog getCatalog() {
+        return this.resolver;
+    }
+
+    public void loadContextCatalogs() {
+        try {
+            loadCatalogs(Thread.currentThread().getContextClassLoader());
+        } catch (IOException e) {
+            LOG.log(Level.WARNING, "Error loading META-INF/jax-ws-catalog.xml catalog files", e);
+        }
+    }
+    
+    public void loadCatalogs(ClassLoader classLoader) throws IOException {
+        if (classLoader == null) {
+            return;
+        }
+        
+        Enumeration<URL> catalogs = classLoader.getResources("META-INF/jax-ws-catalog.xml");
+        while (catalogs.hasMoreElements()) {
+            URL catalogURL = catalogs.nextElement();
+            this.resolver.parseCatalog(catalogURL);
+        }
+    }
+    
+    public void loadCatalog(URL catalogURL) throws IOException {
+        this.resolver.parseCatalog(catalogURL);
+    }
+
+    private static Catalog getContextCatalog() {
+        OASISCatalogManager oasisCatalog = new OASISCatalogManager();
+        oasisCatalog.loadContextCatalogs();
+        return oasisCatalog.getCatalog();
+    }
+
+    public static Catalog getCatalog(Bus bus) {
+        if (bus == null) {
+            return getContextCatalog();
+        }
+        Catalog catalog = bus.getExtension(Catalog.class);
+        if (catalog == null) {
+            return getContextCatalog();
+        } else {
+            return catalog;
+        }
+    }
+    
+}

Propchange: incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/catalog/OASISCatalogManager.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/catalog/OASISCatalogManager.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Modified: incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/wsdl11/WSDLManagerImpl.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/wsdl11/WSDLManagerImpl.java?view=diff&rev=513005&r1=513004&r2=513005
==============================================================================
--- incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/wsdl11/WSDLManagerImpl.java (original)
+++ incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/wsdl11/WSDLManagerImpl.java Wed Feb 28 14:12:25 2007
@@ -43,11 +43,12 @@
 
 import org.apache.cxf.Bus;
 import org.apache.cxf.BusException;
+import org.apache.cxf.catalog.CatalogWSDLLocator;
+import org.apache.cxf.catalog.OASISCatalogManager;
 import org.apache.cxf.common.logging.LogUtils;
 import org.apache.cxf.common.util.PropertiesLoaderUtils;
 import org.apache.cxf.wsdl.JAXBExtensionHelper;
 import org.apache.cxf.wsdl.WSDLManager;
-import org.apache.cxf.wsdl4jutils.WSDLLocatorImpl;
 
 /**
  * WSDLManagerImpl
@@ -167,7 +168,8 @@
         WSDLReader reader = factory.newWSDLReader();
         reader.setFeature("javax.wsdl.verbose", false);
         reader.setExtensionRegistry(registry);
-        WSDLLocatorImpl wsdlLocator = new WSDLLocatorImpl(url); 
+        CatalogWSDLLocator wsdlLocator = 
+            new CatalogWSDLLocator(url, OASISCatalogManager.getCatalog(bus));
         Definition def = reader.readWSDL(wsdlLocator);
         synchronized (definitionsMap) {
             definitionsMap.put(url, def);

Modified: incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/wsdl11/WSDLServiceBuilder.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/wsdl11/WSDLServiceBuilder.java?view=diff&rev=513005&r1=513004&r2=513005
==============================================================================
--- incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/wsdl11/WSDLServiceBuilder.java (original)
+++ incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/wsdl11/WSDLServiceBuilder.java Wed Feb 28 14:12:25 2007
@@ -55,8 +55,9 @@
 import org.apache.cxf.Bus;
 import org.apache.cxf.BusException;
 import org.apache.cxf.binding.BindingFactory;
+import org.apache.cxf.catalog.CatalogXmlSchemaURIResolver;
+import org.apache.cxf.catalog.OASISCatalogManager;
 import org.apache.cxf.helpers.CastUtils;
-import org.apache.cxf.resource.XmlSchemaURIResolver;
 import org.apache.cxf.service.model.AbstractMessageContainer;
 import org.apache.cxf.service.model.AbstractPropertiesHolder;
 import org.apache.cxf.service.model.BindingInfo;
@@ -242,7 +243,9 @@
                         }
                     }
                     schemaCol.setBaseUri(def.getDocumentBaseURI());
-                    schemaCol.setSchemaResolver(new XmlSchemaURIResolver());
+                    CatalogXmlSchemaURIResolver schemaResolver = 
+                        new CatalogXmlSchemaURIResolver(OASISCatalogManager.getCatalog(bus));
+                    schemaCol.setSchemaResolver(schemaResolver);
                     XmlSchema xmlSchema = schemaCol.read(schemaElem);
 
                     SchemaInfo schemaInfo = new SchemaInfo(serviceInfo, xmlSchema.getTargetNamespace());

Added: 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?view=auto&rev=513005
==============================================================================
--- incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jaxws/OASISCatalogTest.java (added)
+++ incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jaxws/OASISCatalogTest.java Wed Feb 28 14:12:25 2007
@@ -0,0 +1,128 @@
+/**
+ * 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.cxf.systest.jaxws;
+
+import java.net.URL;
+
+import javax.wsdl.WSDLException;
+import javax.wsdl.factory.WSDLFactory;
+import javax.wsdl.xml.WSDLReader;
+import javax.xml.namespace.QName;
+import junit.framework.TestCase;
+
+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.hello_world.Greeter;
+import org.apache.hello_world.services.SOAPService;
+
+import org.apache.ws.commons.schema.XmlSchemaException;
+
+import org.apache.xml.resolver.Catalog;
+
+public class OASISCatalogTest extends TestCase {
+        
+    private final QName serviceName = 
+        new QName("http://apache.org/hello_world/services",
+                  "SOAPService");    
+
+    private final QName portName = 
+        new QName("http://apache.org/hello_world/services",
+                  "SoapPort");
+
+    public void testClientWithDefaultCatalog() throws Exception {
+        URL wsdl = getClass().getResource("/wsdl/catalog/hello_world_services.wsdl");
+        assertNotNull(wsdl);
+        
+        SOAPService service = new SOAPService(wsdl, serviceName);
+        assertNotNull(service);
+
+        Greeter greeter = service.getPort(portName, Greeter.class);
+        assertNotNull(greeter);
+    }
+
+    public void testClientWithoutCatalog() throws Exception {
+        URL wsdl = getClass().getResource("/wsdl/catalog/hello_world_services.wsdl");
+        assertNotNull(wsdl);
+        
+        // set Catalog on the Bus
+        Bus bus = BusFactory.getDefaultBus();
+        OASISCatalogManager catalog = new OASISCatalogManager();
+        bus.setExtension(catalog.getCatalog(), Catalog.class);
+        
+        SOAPService service = new SOAPService(wsdl, serviceName);
+        assertNotNull(service);
+
+        try {
+            service.getPort(portName, Greeter.class);
+            fail("Test did not fail as expected");
+        } catch (XmlSchemaException e) {
+            // ignore
+        }
+
+        // update catalog dynamically now
+        URL jaxwscatalog = 
+            getClass().getResource("/META-INF/jax-ws-catalog.xml");
+        assertNotNull(jaxwscatalog);
+
+        catalog.loadCatalog(jaxwscatalog);
+
+        Greeter greeter = service.getPort(portName, Greeter.class);
+        assertNotNull(greeter);
+    }
+
+    public void testWSDLLocatorWithDefaultCatalog() throws Exception {
+        URL wsdl = 
+            getClass().getResource("/wsdl/catalog/hello_world_services.wsdl");
+        assertNotNull(wsdl);
+
+        WSDLFactory wsdlFactory = WSDLFactory.newInstance();
+        WSDLReader wsdlReader = wsdlFactory.newWSDLReader();
+       
+        CatalogWSDLLocator wsdlLocator =
+            new CatalogWSDLLocator(wsdl.toString(),
+                                   OASISCatalogManager.getCatalog(null));
+        wsdlReader.setFeature("javax.wsdl.verbose", false);
+        wsdlReader.readWSDL(wsdlLocator);
+    }
+
+    public void testWSDLLocatorWithoutCatalog() throws Exception {
+        URL wsdl = 
+            getClass().getResource("/wsdl/catalog/hello_world_services.wsdl");
+        assertNotNull(wsdl);
+
+        WSDLFactory wsdlFactory = WSDLFactory.newInstance();
+        WSDLReader wsdlReader = wsdlFactory.newWSDLReader();
+        wsdlReader.setFeature("javax.wsdl.verbose", false);
+       
+        OASISCatalogManager catalog = new OASISCatalogManager();
+        CatalogWSDLLocator wsdlLocator =
+            new CatalogWSDLLocator(wsdl.toString(), catalog.getCatalog());
+        try {
+            wsdlReader.readWSDL(wsdlLocator);
+            fail("Test did not fail as expected");
+        } catch (WSDLException e) {
+            // ignore
+        }
+    }
+
+}

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

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

Modified: incubator/cxf/trunk/testutils/pom.xml
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/testutils/pom.xml?view=diff&rev=513005&r1=513004&r2=513005
==============================================================================
--- incubator/cxf/trunk/testutils/pom.xml (original)
+++ incubator/cxf/trunk/testutils/pom.xml Wed Feb 28 14:12:25 2007
@@ -337,6 +337,9 @@
                                 <wsdlOption>
                                     <wsdl>${basedir}/src/main/resources/wsdl/ordered_param_holder.wsdl</wsdl>
                                 </wsdlOption>
+                                <wsdlOption>
+                                    <wsdl>${basedir}/src/main/resources/wsdl/hello_world_services.wsdl</wsdl>
+                                </wsdlOption>
                             </wsdlOptions>
                         </configuration>
                         <goals>

Added: incubator/cxf/trunk/testutils/src/main/resources/META-INF/jax-ws-catalog.xml
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/testutils/src/main/resources/META-INF/jax-ws-catalog.xml?view=auto&rev=513005
==============================================================================
--- incubator/cxf/trunk/testutils/src/main/resources/META-INF/jax-ws-catalog.xml (added)
+++ incubator/cxf/trunk/testutils/src/main/resources/META-INF/jax-ws-catalog.xml Wed Feb 28 14:12:25 2007
@@ -0,0 +1,25 @@
+<?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.
+-->
+<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog" prefer="system">
+
+    <rewriteSystem systemIdStartString="doesnotexist" rewritePrefix="../wsdl/catalog"/>
+    <rewriteSystem systemIdStartString="nopath" rewritePrefix="../wsdl"/>
+
+</catalog>

Propchange: incubator/cxf/trunk/testutils/src/main/resources/META-INF/jax-ws-catalog.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/testutils/src/main/resources/META-INF/jax-ws-catalog.xml
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: incubator/cxf/trunk/testutils/src/main/resources/META-INF/jax-ws-catalog.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: incubator/cxf/trunk/testutils/src/main/resources/wsdl/catalog/hello_world_bindings.wsdl
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/testutils/src/main/resources/wsdl/catalog/hello_world_bindings.wsdl?view=auto&rev=513005
==============================================================================
--- incubator/cxf/trunk/testutils/src/main/resources/wsdl/catalog/hello_world_bindings.wsdl (added)
+++ incubator/cxf/trunk/testutils/src/main/resources/wsdl/catalog/hello_world_bindings.wsdl Wed Feb 28 14:12:25 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="hello_world_wsdl_import.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/catalog/hello_world_bindings.wsdl
------------------------------------------------------------------------------
    svn:eol-style = native

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

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

Added: incubator/cxf/trunk/testutils/src/main/resources/wsdl/catalog/hello_world_messages.wsdl
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/testutils/src/main/resources/wsdl/catalog/hello_world_messages.wsdl?view=auto&rev=513005
==============================================================================
--- incubator/cxf/trunk/testutils/src/main/resources/wsdl/catalog/hello_world_messages.wsdl (added)
+++ incubator/cxf/trunk/testutils/src/main/resources/wsdl/catalog/hello_world_messages.wsdl Wed Feb 28 14:12:25 2007
@@ -0,0 +1,98 @@
+<?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
+            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://cxf.apache.org/courseware/Invoice" schemaLocation="nopath/Invoice.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>
+    </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/catalog/hello_world_messages.wsdl
------------------------------------------------------------------------------
    svn:eol-style = native

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

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

Added: incubator/cxf/trunk/testutils/src/main/resources/wsdl/catalog/hello_world_port_type.wsdl
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/testutils/src/main/resources/wsdl/catalog/hello_world_port_type.wsdl?view=auto&rev=513005
==============================================================================
--- incubator/cxf/trunk/testutils/src/main/resources/wsdl/catalog/hello_world_port_type.wsdl (added)
+++ incubator/cxf/trunk/testutils/src/main/resources/wsdl/catalog/hello_world_port_type.wsdl Wed Feb 28 14:12:25 2007
@@ -0,0 +1,166 @@
+<?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="HelloWorldPortType"
+    xmlns="http://schemas.xmlsoap.org/wsdl/"
+    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+    xmlns:tns="http://apache.org/hello_world"
+    xmlns:x2="http://apache.org/hello_world_soap_http/types"
+    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+    targetNamespace="http://apache.org/hello_world">
+
+    <wsdl:types>
+        <xsd:schema targetNamespace="http://apache.org/hello_world_soap_http/types"
+                    xmlns:xs="http://www.w3.org/2001/XMLSchema">
+<!--
+            <xsd:import namespace="http://apache.org/hello_world_soap_http/types" schemaLocation="../schema1.xsd"/>
+-->
+
+  <xs:element name="sayHi">
+    <xs:complexType/>
+  </xs:element>
+
+  <xs:element name="sayHiResponse">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="responseType" type="xs:string" form="qualified" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="greetMe">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="requestType" type="xs:string" form="qualified" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="greetMeResponse">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="responseType" type="xs:string" form="qualified" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="greetMeOneWay">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="requestType" type="xs:string" form="qualified" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="pingMe">
+    <xs:complexType/>
+  </xs:element>
+
+  <xs:element name="faultDetail">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="minor" type="xs:short" form="qualified" minOccurs="0"/>
+        <xs:element name="major" type="xs:short" form="qualified" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="pingMeResponse">
+    <xs:complexType/>
+  </xs:element>
+
+        </xsd:schema>
+    </wsdl:types>
+
+    <wsdl:message name="sayHiRequest">
+        <wsdl:part name="in" element="x2:sayHi"/>
+    </wsdl:message>
+    <wsdl:message name="sayHiResponse">
+        <wsdl:part name="out" element="x2:sayHiResponse"/>
+    </wsdl:message>
+    <wsdl:message name="greetMeRequest">
+        <wsdl:part name="in" element="x2:greetMe"/>
+    </wsdl:message>
+    <wsdl:message name="greetMeResponse">
+        <wsdl:part name="out" element="x2:greetMeResponse"/>
+    </wsdl:message>
+    <wsdl:message name="pingMeRequest">
+        <wsdl:part name="in" element="x2:pingMe"/>
+    </wsdl:message>
+    <wsdl:message name="pingMeResponse">
+        <wsdl:part name="out" element="x2:pingMeResponse"/>
+    </wsdl:message>
+    <wsdl:message name="pingMeFault">
+        <wsdl:part name="faultDetail" element="x2: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="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="SOAPBinding" type="tns: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/catalog/hello_world_port_type.wsdl
------------------------------------------------------------------------------
    svn:eol-style = native

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

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

Added: incubator/cxf/trunk/testutils/src/main/resources/wsdl/catalog/hello_world_services.wsdl
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/testutils/src/main/resources/wsdl/catalog/hello_world_services.wsdl?view=auto&rev=513005
==============================================================================
--- incubator/cxf/trunk/testutils/src/main/resources/wsdl/catalog/hello_world_services.wsdl (added)
+++ incubator/cxf/trunk/testutils/src/main/resources/wsdl/catalog/hello_world_services.wsdl Wed Feb 28 14:12:25 2007
@@ -0,0 +1,40 @@
+<?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="doesnotexist/hello_world_bindings.wsdl"/>
+
+    <wsdl:service name="SOAPService">
+	<wsdl:port name="SoapPort" binding="x1:SOAPBinding">
+	    <soap:address location="http://localhost:9000/SoapContext/SoapPort"/>
+	</wsdl:port>
+    </wsdl:service>
+</wsdl:definitions>
+

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

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

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

Added: incubator/cxf/trunk/testutils/src/main/resources/wsdl/catalog/hello_world_wsdl_import.wsdl
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/testutils/src/main/resources/wsdl/catalog/hello_world_wsdl_import.wsdl?view=auto&rev=513005
==============================================================================
--- incubator/cxf/trunk/testutils/src/main/resources/wsdl/catalog/hello_world_wsdl_import.wsdl (added)
+++ incubator/cxf/trunk/testutils/src/main/resources/wsdl/catalog/hello_world_wsdl_import.wsdl Wed Feb 28 14:12:25 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="hello_world_messages.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/catalog/hello_world_wsdl_import.wsdl
------------------------------------------------------------------------------
    svn:eol-style = native

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

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