Author: jboynes
Date: Mon Apr 17 16:12:46 2006
New Revision: 394806
URL: http://svn.apache.org/viewcvs?rev=394806&view=rev
Log:
locate WSDL portType as part of loading WSDL interface
refactor WSDLServiceContract to remove dependency on private WSDL cache
Added:
incubator/tuscany/java/sca/containers/container.java/src/test/resources/helloworld/example.wsdl
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/config/MissingInterfaceException.java
(with props)
incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/loader/assembly/InterfaceWSDLLoaderTestCase.java
(with props)
incubator/tuscany/java/sca/core/src/test/resources/org/apache/tuscany/core/loader/
incubator/tuscany/java/sca/core/src/test/resources/org/apache/tuscany/core/loader/assembly/
incubator/tuscany/java/sca/core/src/test/resources/org/apache/tuscany/core/loader/assembly/example.wsdl
Modified:
incubator/tuscany/java/samples/bigbank/webclient/src/main/resources/sca.module
incubator/tuscany/java/samples/helloworld/helloworldws/src/main/resources/sca.module
incubator/tuscany/java/samples/helloworld/helloworldwsclient/src/main/resources/sca.module
incubator/tuscany/java/sca/containers/container.java/src/test/resources/helloworld/sca.module
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/assembly/ImportWSDLLoader.java
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/assembly/InterfaceWSDLLoader.java
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/impl/WSDLDefinitionRegistryImpl.java
incubator/tuscany/java/sca/model/src/main/java/org/apache/tuscany/model/types/wsdl/WSDLServiceContract.java
incubator/tuscany/java/sca/model/src/main/java/org/apache/tuscany/model/types/wsdl/impl/WSDLServiceContractImpl.java
incubator/tuscany/java/sca/tomcat/src/test/resources/app1/WEB-INF/classes/sca.module
incubator/tuscany/java/sca/tomcat/src/test/resources/app2/WEB-INF/classes/sca.module
Modified:
incubator/tuscany/java/samples/bigbank/webclient/src/main/resources/sca.module
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/java/samples/bigbank/webclient/src/main/resources/sca.module?rev=394806&r1=394805&r2=394806&view=diff
==============================================================================
---
incubator/tuscany/java/samples/bigbank/webclient/src/main/resources/sca.module
(original)
+++
incubator/tuscany/java/samples/bigbank/webclient/src/main/resources/sca.module
Mon Apr 17 16:12:46 2006
@@ -18,6 +18,8 @@
name="tuscany.samples.bigbank.webclient">
+ <import.wsdl location="wsdl/AccountService.wsdl"
namespace="http://www.bigbank.com/Account/"/>
+
<component name="LoginServiceComponent">
<implementation.java
class="org.apache.tuscany.samples.bigbank.webclient.services.profile.SimpleLoginServiceImpl"/>
<references>
@@ -47,9 +49,5 @@
<binding.ws port="http://www.bigbank.com/Account/#AccountServiceSOAP"/>
</externalService>
- <import.wsdl
- location="wsdl/AccountService.wsdl"
- namespace="http://www.bigbank.com/Account/"/>
-
</module>
Modified:
incubator/tuscany/java/samples/helloworld/helloworldws/src/main/resources/sca.module
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/java/samples/helloworld/helloworldws/src/main/resources/sca.module?rev=394806&r1=394805&r2=394806&view=diff
==============================================================================
---
incubator/tuscany/java/samples/helloworld/helloworldws/src/main/resources/sca.module
(original)
+++
incubator/tuscany/java/samples/helloworld/helloworldws/src/main/resources/sca.module
Mon Apr 17 16:12:46 2006
@@ -18,18 +18,16 @@
<module xmlns="http://www.osoa.org/xmlns/sca/0.9"
xmlns:v="http://www.osoa.org/xmlns/sca/values/0.9"
name="sampleHelloworld">
+ <import.wsdl location="wsdl/helloworld.wsdl"
namespace="http://helloworldaxis.samples.tuscany.apache.org"/>
+
<entryPoint name="HelloWorldService">
- <interface.wsdl
interface="http://helloworldaxis.samples.tuscany.apache.org#HelloWorldServiceImpl"/>
- <binding.ws
port="http://helloworldaxis.samples.tuscany.apache.org#helloworld"/>
+ <interface.wsdl
interface="http://helloworldaxis.samples.tuscany.apache.org#HelloWorldServiceImpl"/>
+ <binding.ws
port="http://helloworldaxis.samples.tuscany.apache.org#helloworld"/>
<reference>HelloWorldServiceComponent/HelloWorldService</reference>
</entryPoint>
<component name="HelloWorldServiceComponent">
<implementation.java
class="org.apache.tuscany.samples.helloworldws.HelloWorldServiceComponentImpl"/>
- </component>
+ </component>
- <import.wsdl
- location="wsdl/helloworld.wsdl"
- namespace="http://helloworldaxis.samples.tuscany.apache.org"/>
-
</module>
Modified:
incubator/tuscany/java/samples/helloworld/helloworldwsclient/src/main/resources/sca.module
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/java/samples/helloworld/helloworldwsclient/src/main/resources/sca.module?rev=394806&r1=394805&r2=394806&view=diff
==============================================================================
---
incubator/tuscany/java/samples/helloworld/helloworldwsclient/src/main/resources/sca.module
(original)
+++
incubator/tuscany/java/samples/helloworld/helloworldwsclient/src/main/resources/sca.module
Mon Apr 17 16:12:46 2006
@@ -17,6 +17,8 @@
<module xmlns="http://www.osoa.org/xmlns/sca/0.9"
xmlns:v="http://www.osoa.org/xmlns/sca/values/0.9"
name="sampleHelloworld">
+ <import.wsdl location="wsdl/helloworld.wsdl"
namespace="http://helloworldaxis.samples.tuscany.apache.org"/>
+
<component name="HelloWorldServiceComponent">
<implementation.java
class="org.apache.tuscany.samples.helloworldwsclient.HelloWorldServiceComponentImpl"/>
<references>
@@ -31,10 +33,6 @@
<interface.java
interface="org.apache.tuscany.samples.helloworldwsclient.HelloWorldServiceComponent"/>
<binding.ws
port="http://helloworldaxis.samples.tuscany.apache.org#wsdl.endpoint(HelloWorldServiceImplService/helloworldws)"/>
-->
- </externalService>
-
- <import.wsdl
- location="wsdl/helloworld.wsdl"
- namespace="http://helloworldaxis.samples.tuscany.apache.org"/>
-
+ </externalService>
+
</module>
Added:
incubator/tuscany/java/sca/containers/container.java/src/test/resources/helloworld/example.wsdl
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/containers/container.java/src/test/resources/helloworld/example.wsdl?rev=394806&view=auto
==============================================================================
---
incubator/tuscany/java/sca/containers/container.java/src/test/resources/helloworld/example.wsdl
(added)
+++
incubator/tuscany/java/sca/containers/container.java/src/test/resources/helloworld/example.wsdl
Mon Apr 17 16:12:46 2006
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2005 The Apache Software Foundation or its licensors, as
applicable.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+<wsdl:definitions targetNamespace="http://www.example.org"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ name="example">
+
+ <wsdl:portType name="HelloWorld">
+ </wsdl:portType>
+</wsdl:definitions>
Modified:
incubator/tuscany/java/sca/containers/container.java/src/test/resources/helloworld/sca.module
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/containers/container.java/src/test/resources/helloworld/sca.module?rev=394806&r1=394805&r2=394806&view=diff
==============================================================================
---
incubator/tuscany/java/sca/containers/container.java/src/test/resources/helloworld/sca.module
(original)
+++
incubator/tuscany/java/sca/containers/container.java/src/test/resources/helloworld/sca.module
Mon Apr 17 16:12:46 2006
@@ -21,5 +21,13 @@
<component name="HelloWorld">
<implementation.java
class="org.apache.tuscany.container.java.integration.HelloWorldImpl"/>
</component>
-
+
+<!--
+ <import.wsdl namespace="http://www.example.org" location="example.wsdl"/>
+
+ <externalService name="external">
+ <interface.wsdl interface="http://www.example.org#HelloWorld"/>
+ </externalService>
+-->
+
</module>
Added:
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/config/MissingInterfaceException.java
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/config/MissingInterfaceException.java?rev=394806&view=auto
==============================================================================
---
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/config/MissingInterfaceException.java
(added)
+++
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/config/MissingInterfaceException.java
Mon Apr 17 16:12:46 2006
@@ -0,0 +1,39 @@
+/**
+ *
+ * Copyright 2006 The Apache Software Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.tuscany.core.config;
+
+/**
+ * Exception indicating that the interface referenced in an assembly file
could not be found.
+ *
+ * @version $Rev$ $Date$
+ */
+public class MissingInterfaceException extends ConfigurationLoadException {
+ public MissingInterfaceException() {
+ }
+
+ public MissingInterfaceException(String message) {
+ super(message);
+ }
+
+ public MissingInterfaceException(String message, Throwable cause) {
+ super(message, cause);
+ }
+
+ public MissingInterfaceException(Throwable cause) {
+ super(cause);
+ }
+}
Propchange:
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/config/MissingInterfaceException.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/config/MissingInterfaceException.java
------------------------------------------------------------------------------
svn:keywords = Rev,Date
Modified:
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/assembly/ImportWSDLLoader.java
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/assembly/ImportWSDLLoader.java?rev=394806&r1=394805&r2=394806&view=diff
==============================================================================
---
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/assembly/ImportWSDLLoader.java
(original)
+++
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/assembly/ImportWSDLLoader.java
Mon Apr 17 16:12:46 2006
@@ -19,12 +19,13 @@
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
-import javax.wsdl.WSDLException;
import javax.wsdl.Definition;
+import javax.wsdl.WSDLException;
import javax.xml.namespace.QName;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamReader;
+import commonj.sdo.helper.XSDHelper;
import org.osoa.sca.annotations.Scope;
import org.apache.tuscany.common.resource.ResourceLoader;
@@ -35,11 +36,9 @@
import org.apache.tuscany.core.loader.WSDLDefinitionRegistry;
import static
org.apache.tuscany.core.loader.assembly.AssemblyConstants.IMPORT_WSDL;
import org.apache.tuscany.core.system.annotation.Autowire;
-import org.apache.tuscany.model.assembly.ImportWSDL;
import org.apache.tuscany.model.assembly.AssemblyContext;
+import org.apache.tuscany.model.assembly.ImportWSDL;
import org.apache.tuscany.sdo.util.SDOUtil;
-
-import commonj.sdo.helper.XSDHelper;
/**
* Loader that handles <import.wsdl> elements.
Modified:
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/assembly/InterfaceWSDLLoader.java
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/assembly/InterfaceWSDLLoader.java?rev=394806&r1=394805&r2=394806&view=diff
==============================================================================
---
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/assembly/InterfaceWSDLLoader.java
(original)
+++
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/assembly/InterfaceWSDLLoader.java
Mon Apr 17 16:12:46 2006
@@ -18,18 +18,30 @@
import org.apache.tuscany.common.resource.ResourceLoader;
import org.apache.tuscany.core.config.ConfigurationLoadException;
+import org.apache.tuscany.core.config.MissingInterfaceException;
+import org.apache.tuscany.core.loader.WSDLDefinitionRegistry;
+import org.apache.tuscany.core.loader.StAXUtil;
+import org.apache.tuscany.core.system.annotation.Autowire;
import org.apache.tuscany.model.assembly.Scope;
import org.apache.tuscany.model.types.wsdl.WSDLServiceContract;
import javax.xml.namespace.QName;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamReader;
+import javax.wsdl.PortType;
/**
* @version $Rev$ $Date$
*/
@org.osoa.sca.annotations.Scope("MODULE")
public class InterfaceWSDLLoader extends AbstractLoader {
+ private WSDLDefinitionRegistry wsdlRegistry;
+
+ @Autowire
+ public void setWsdlRegistry(WSDLDefinitionRegistry wsdlRegistry) {
+ this.wsdlRegistry = wsdlRegistry;
+ }
+
public QName getXMLType() {
return AssemblyConstants.INTERFACE_WSDL;
}
@@ -38,8 +50,30 @@
assert AssemblyConstants.INTERFACE_WSDL.equals(reader.getName());
WSDLServiceContract serviceContract =
factory.createWSDLServiceContract();
serviceContract.setScope(Scope.INSTANCE);
- serviceContract.setPortTypeURI(reader.getAttributeValue(null,
"interface"));
- serviceContract.setCallbackPortTypeURI(reader.getAttributeValue(null,
"callbackInterface"));
+
+ String portTypeURI = reader.getAttributeValue(null, "interface");
+ if (portTypeURI != null) {
+ serviceContract.setPortType(getPortType(portTypeURI));
+ }
+
+ portTypeURI = reader.getAttributeValue(null, "callbackInterface");
+ if (portTypeURI != null) {
+ serviceContract.setCallbackPortType(getPortType(portTypeURI));
+ }
+ StAXUtil.skipToEndElement(reader);
return serviceContract;
+ }
+
+ protected PortType getPortType(String uri) throws
MissingInterfaceException {
+ // fixme support WSDL 2.0 XPointer references and possible XML Schema
QNames
+ int index = uri.indexOf('#');
+ String namespace = uri.substring(0, index);
+ String name = uri.substring(index + 1);
+ QName qname = new QName(namespace, name);
+ PortType portType = wsdlRegistry.getPortType(qname);
+ if (portType == null) {
+ throw new MissingInterfaceException(uri);
+ }
+ return portType;
}
}
Modified:
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/impl/WSDLDefinitionRegistryImpl.java
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/impl/WSDLDefinitionRegistryImpl.java?rev=394806&r1=394805&r2=394806&view=diff
==============================================================================
---
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/impl/WSDLDefinitionRegistryImpl.java
(original)
+++
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/impl/WSDLDefinitionRegistryImpl.java
Mon Apr 17 16:12:46 2006
@@ -31,12 +31,15 @@
import javax.wsdl.xml.WSDLReader;
import javax.xml.namespace.QName;
+import org.osoa.sca.annotations.Scope;
+
import org.apache.tuscany.core.loader.WSDLDefinitionRegistry;
/**
* @version $Rev$ $Date$
*/
@org.osoa.sca.annotations.Service(interfaces = {WSDLDefinitionRegistry.class})
[EMAIL PROTECTED]("MODULE")
public class WSDLDefinitionRegistryImpl implements WSDLDefinitionRegistry {
private final WSDLFactory wsdlFactory;
private final ExtensionRegistry registry;
@@ -59,7 +62,7 @@
public ExtensionRegistry getExtensionRegistry() {
return registry;
}
-
+
public Definition loadDefinition(String namespace, URL location) throws
IOException, WSDLException {
Definition definition = definitionsByLocation.get(location);
if (definition != null) {
Added:
incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/loader/assembly/InterfaceWSDLLoaderTestCase.java
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/loader/assembly/InterfaceWSDLLoaderTestCase.java?rev=394806&view=auto
==============================================================================
---
incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/loader/assembly/InterfaceWSDLLoaderTestCase.java
(added)
+++
incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/loader/assembly/InterfaceWSDLLoaderTestCase.java
Mon Apr 17 16:12:46 2006
@@ -0,0 +1,72 @@
+/**
+ *
+ * Copyright 2006 The Apache Software Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.tuscany.core.loader.assembly;
+
+import java.net.URL;
+import java.io.IOException;
+import javax.xml.stream.XMLStreamConstants;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamReader;
+import javax.wsdl.WSDLException;
+
+import org.apache.tuscany.core.config.ConfigurationLoadException;
+import static
org.apache.tuscany.core.loader.assembly.AssemblyConstants.INTERFACE_WSDL;
+import org.apache.tuscany.core.loader.impl.WSDLDefinitionRegistryImpl;
+import org.apache.tuscany.model.types.wsdl.WSDLServiceContract;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class InterfaceWSDLLoaderTestCase extends LoaderTestSupport {
+ private WSDLDefinitionRegistryImpl wsdlRegistry;
+
+ public void testMinimal() throws XMLStreamException,
ConfigurationLoadException {
+ String xml = "<interface.wsdl
xmlns='http://www.osoa.org/xmlns/sca/0.9'></interface.wsdl>";
+ XMLStreamReader reader = getReader(xml);
+ WSDLServiceContract sc = (WSDLServiceContract) registry.load(reader,
resourceLoader);
+ reader.require(XMLStreamConstants.END_ELEMENT,
INTERFACE_WSDL.getNamespaceURI(), INTERFACE_WSDL.getLocalPart());
+ assertEquals(XMLStreamConstants.END_DOCUMENT, reader.next());
+ assertNotNull(sc);
+ }
+
+ public void testInterface() throws XMLStreamException,
ConfigurationLoadException {
+ String xml = "<interface.wsdl
xmlns='http://www.osoa.org/xmlns/sca/0.9'
interface='http://www.example.org#HelloWorld'></interface.wsdl>";
+ XMLStreamReader reader = getReader(xml);
+ WSDLServiceContract sc = (WSDLServiceContract) registry.load(reader,
resourceLoader);
+ reader.require(XMLStreamConstants.END_ELEMENT,
INTERFACE_WSDL.getNamespaceURI(), INTERFACE_WSDL.getLocalPart());
+ assertEquals(XMLStreamConstants.END_DOCUMENT, reader.next());
+ assertNotNull(sc);
+ }
+
+ protected void setUp() throws Exception {
+ super.setUp();
+ wsdlRegistry = new WSDLDefinitionRegistryImpl();
+ wsdlRegistry.setMonitor(NULL_MONITOR);
+ wsdlRegistry.loadDefinition("http://www.example.org",
getClass().getResource("example.wsdl"));
+ InterfaceWSDLLoader loader = new InterfaceWSDLLoader();
+ loader.setWsdlRegistry(wsdlRegistry);
+ registerLoader(loader);
+ }
+
+ private static final WSDLDefinitionRegistryImpl.Monitor NULL_MONITOR = new
WSDLDefinitionRegistryImpl.Monitor() {
+ public void readingWSDL(String namespace, URL location) {
+ }
+
+ public void cachingDefinition(String namespace, URL location) {
+ }
+ };
+}
Propchange:
incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/loader/assembly/InterfaceWSDLLoaderTestCase.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/loader/assembly/InterfaceWSDLLoaderTestCase.java
------------------------------------------------------------------------------
svn:keywords = Rev,Date
Added:
incubator/tuscany/java/sca/core/src/test/resources/org/apache/tuscany/core/loader/assembly/example.wsdl
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/test/resources/org/apache/tuscany/core/loader/assembly/example.wsdl?rev=394806&view=auto
==============================================================================
---
incubator/tuscany/java/sca/core/src/test/resources/org/apache/tuscany/core/loader/assembly/example.wsdl
(added)
+++
incubator/tuscany/java/sca/core/src/test/resources/org/apache/tuscany/core/loader/assembly/example.wsdl
Mon Apr 17 16:12:46 2006
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2005 The Apache Software Foundation or its licensors, as
applicable.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+<wsdl:definitions targetNamespace="http://www.example.org"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ name="example">
+
+ <wsdl:portType name="HelloWorld">
+ </wsdl:portType>
+</wsdl:definitions>
Modified:
incubator/tuscany/java/sca/model/src/main/java/org/apache/tuscany/model/types/wsdl/WSDLServiceContract.java
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/model/src/main/java/org/apache/tuscany/model/types/wsdl/WSDLServiceContract.java?rev=394806&r1=394805&r2=394806&view=diff
==============================================================================
---
incubator/tuscany/java/sca/model/src/main/java/org/apache/tuscany/model/types/wsdl/WSDLServiceContract.java
(original)
+++
incubator/tuscany/java/sca/model/src/main/java/org/apache/tuscany/model/types/wsdl/WSDLServiceContract.java
Mon Apr 17 16:12:46 2006
@@ -27,7 +27,7 @@
/**
* Returns the WSDL portType.
- * @return
+ * @return the WSDL portType
*/
PortType getPortType();
@@ -39,7 +39,7 @@
/**
* Returns the callback WSDL portType.
- * @return
+ * @return the callback WSDL portType
*/
PortType getCallbackPortType();
@@ -48,8 +48,4 @@
* @param portType
*/
void setCallbackPortType(PortType portType);
-
- void setPortTypeURI(String portTypeURI);
-
- void setCallbackPortTypeURI(String callbackPortTypeURI);
}
Modified:
incubator/tuscany/java/sca/model/src/main/java/org/apache/tuscany/model/types/wsdl/impl/WSDLServiceContractImpl.java
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/model/src/main/java/org/apache/tuscany/model/types/wsdl/impl/WSDLServiceContractImpl.java?rev=394806&r1=394805&r2=394806&view=diff
==============================================================================
---
incubator/tuscany/java/sca/model/src/main/java/org/apache/tuscany/model/types/wsdl/impl/WSDLServiceContractImpl.java
(original)
+++
incubator/tuscany/java/sca/model/src/main/java/org/apache/tuscany/model/types/wsdl/impl/WSDLServiceContractImpl.java
Mon Apr 17 16:12:46 2006
@@ -17,7 +17,6 @@
package org.apache.tuscany.model.types.wsdl.impl;
import java.util.List;
-import javax.wsdl.Definition;
import javax.wsdl.Operation;
import javax.wsdl.PortType;
import javax.xml.namespace.QName;
@@ -32,7 +31,6 @@
import org.apache.tuscany.common.resource.ResourceLoader;
import org.apache.tuscany.model.assembly.AssemblyContext;
import org.apache.tuscany.model.assembly.impl.ServiceContractImpl;
-import org.apache.tuscany.model.assembly.loader.AssemblyModelLoader;
import org.apache.tuscany.model.types.wsdl.WSDLServiceContract;
import org.apache.tuscany.model.util.XMLNameUtil;
@@ -45,10 +43,6 @@
private PortType callbackPortType;
- private String portTypeURI;
-
- private String callbackPortTypeURI;
-
private static final String[] EMPTY_STRINGS = new String[0];
/**
@@ -76,20 +70,6 @@
}
/**
- * @param portTypeURI The portTypeURI to set.
- */
- public void setPortTypeURI(String portTypeURI) {
- this.portTypeURI = portTypeURI;
- }
-
- /**
- * @param callbackPortTypeURI The callbackPortTypeURI to set.
- */
- public void setCallbackPortTypeURI(String callbackPortTypeURI) {
- this.callbackPortTypeURI = callbackPortTypeURI;
- }
-
- /**
* @see
org.apache.tuscany.model.assembly.impl.ExtensibleImpl#initialize(org.apache.tuscany.model.assembly.AssemblyContext)
*/
public void initialize(AssemblyContext modelContext) {
@@ -97,15 +77,6 @@
return;
super.initialize(modelContext);
- // Resolve the WSDL portType and callback portType
- AssemblyModelLoader modelLoader = modelContext.getAssemblyLoader();
- if (portTypeURI != null && portType == null) {
- portType = getPortType(modelLoader, portTypeURI);
- }
- if (callbackPortTypeURI != null && callbackPortType == null) {
- callbackPortType = getPortType(modelLoader, callbackPortTypeURI);
- }
-
// Load the Java interface for the portType
if (portType != null && getInterface() == null) {
QName qname = portType.getQName();
@@ -135,33 +106,6 @@
}
super.setCallbackInterface(interfaceClass);
}
- }
-
- /**
- * Get a portType from the given uri
- *
- * @param loader
- * @param uri
- * @return the portType
- */
- private static PortType getPortType(AssemblyModelLoader loader, String
uri) {
-
- // Get the WSDL port namespace and name
- int h = uri.indexOf('#');
- String namespace = uri.substring(0, h);
- String name = uri.substring(h + 1);
- QName qname = new QName(namespace, name);
-
- // Load the WSDL definitions for the given namespace
- List<Definition> definitions = loader.loadDefinitions(namespace);
- if (definitions == null)
- throw new IllegalArgumentException("Cannot find WSDL definition
for " + namespace);
- for (Definition definition : definitions) {
-
- // Find the port with the given name
- return definition.getPortType(qname);
- }
- throw new IllegalArgumentException("Cannot find WSDL portType " + uri);
}
/**
Modified:
incubator/tuscany/java/sca/tomcat/src/test/resources/app1/WEB-INF/classes/sca.module
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/tomcat/src/test/resources/app1/WEB-INF/classes/sca.module?rev=394806&r1=394805&r2=394806&view=diff
==============================================================================
---
incubator/tuscany/java/sca/tomcat/src/test/resources/app1/WEB-INF/classes/sca.module
(original)
+++
incubator/tuscany/java/sca/tomcat/src/test/resources/app1/WEB-INF/classes/sca.module
Mon Apr 17 16:12:46 2006
@@ -18,6 +18,8 @@
<module xmlns="http://www.osoa.org/xmlns/sca/0.9"
xmlns:v="http://www.osoa.org/xmlns/sca/values/0.9"
name="testModule">
+ <import.wsdl location="wsdl/helloworld.wsdl"
namespace="http://helloworldaxis.samples.tuscany.apache.org"/>
+
<entryPoint name="HelloWorldService">
<interface.wsdl
interface="http://helloworldaxis.samples.tuscany.apache.org#HelloWorldServiceImpl"/>
<binding.ws
port="http://helloworldaxis.samples.tuscany.apache.org#helloworld"/>
@@ -27,9 +29,5 @@
<component name="HelloWorld">
<implementation.java
class="org.apache.tuscany.tomcat.integration.HelloWorldImpl"/>
</component>
-
- <import.wsdl
- location="wsdl/helloworld.wsdl"
- namespace="http://helloworldaxis.samples.tuscany.apache.org"/>
</module>
Modified:
incubator/tuscany/java/sca/tomcat/src/test/resources/app2/WEB-INF/classes/sca.module
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/tomcat/src/test/resources/app2/WEB-INF/classes/sca.module?rev=394806&r1=394805&r2=394806&view=diff
==============================================================================
---
incubator/tuscany/java/sca/tomcat/src/test/resources/app2/WEB-INF/classes/sca.module
(original)
+++
incubator/tuscany/java/sca/tomcat/src/test/resources/app2/WEB-INF/classes/sca.module
Mon Apr 17 16:12:46 2006
@@ -18,6 +18,8 @@
<module xmlns="http://www.osoa.org/xmlns/sca/0.9"
xmlns:v="http://www.osoa.org/xmlns/sca/values/0.9"
name="testModule">
+ <import.wsdl location="wsdl/helloworld.wsdl"
namespace="http://helloworldaxis.samples.tuscany.apache.org"/>
+
<entryPoint name="HelloWorldService">
<interface.wsdl
interface="http://helloworldaxis.samples.tuscany.apache.org#HelloWorldServiceImpl"/>
<binding.ws
port="http://helloworldaxis.samples.tuscany.apache.org#helloworld"/>
@@ -27,9 +29,5 @@
<component name="HelloWorld">
<implementation.java
class="org.apache.tuscany.tomcat.integration.HelloWorldImpl"/>
</component>
-
- <import.wsdl
- location="wsdl/helloworld.wsdl"
- namespace="http://helloworldaxis.samples.tuscany.apache.org"/>
</module>