Hi,
We don't have WSDL 2.0 support yet in Tuscany. Any contribution in this area
is very welcome!
Thanks,
Raymond
--------------------------------------------------
From: "Vamsavardhana Reddy" <[EMAIL PROTECTED]>
Sent: Friday, May 09, 2008 4:52 AM
To: <tuscany-dev@ws.apache.org>
Subject: Does Tuscany support WSDL2.0?
I am trying to create a vtest for service binding.ws as part of
TUSCANY-2305
and am stuck at specifying wsdl.endpoint in wsdlElement (lines 46 to 49 in
Web Service Binding Specification v1.00). I am wondering if there is
anything wrong with the wsdl I am using or if Tuscany does not support
WSDL2.0. Please help. The following is a WSDL2.0 document I am using:
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:description
targetNamespace="http://wsbinding.vtest.sca.tuscany.apache.org"
xmlns:ns0="http://wsbinding.vtest.sca.tuscany.apache.org"
xmlns:wsdl="http://www.w3.org/ns/wsdl"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:wsoap="http://www.w3.org/ns/wsdl/soap"
xsi:schemaLocation="http://www.w3.org/ns/wsdl
http://www.w3.org/2007/06/wsdl/wsdl20.xsd">
<wsdl:types>
<xs:schema attributeFormDefault="qualified"
elementFormDefault="qualified" targetNamespace="
http://wsbinding.vtest.sca.tuscany.apache.org" xmlns:ns="
http://wsbinding.vtest.sca.tuscany.apache.org">
<xs:element name="getGreetings">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="param0"
nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="getGreetingsResponse">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="return"
nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
</wsdl:types>
<wsdl:message name="getGreetingsRequest">
<wsdl:part name="parameters" element="ns0:getGreetings"/>
</wsdl:message>
<wsdl:message name="getGreetingsResponse">
<wsdl:part name="parameters" element="ns0:getGreetingsResponse"/>
</wsdl:message>
<wsdl:interface name="AServiceInterface">
<wsdl:operation name="getGreetings"
pattern="http://www.w3.org/ns/wsdl/in-out">
<wsdl:input element="ns0:getGreetingsRequest"/>
<wsdl:output element="ns0:getGreetingsResponse"/>
</wsdl:operation>
</wsdl:interface>
<wsdl:binding name="AServiceSoapBinding"
interface="ns0:AServiceInterface"
type="http://www.w3.org/ns/wsdl/soap"
wsoap:version="1.1"
wsoap:protocol="http://www.w3.org/2006/01/soap11/bindings/HTTP/">
<wsdl:operation ref="ns0:getGreetings"
wsoap:action="
http://wsbinding.vtest.sca.tuscany.apache.org/getGreetings"/>
</wsdl:binding>
<wsdl:service name="AService" interface="ns0:AServiceInterface">
<wsdl:documentation>My first service</wsdl:documentation>
<wsdl:endpoint name="AServiceEndPoint"
binding="ns0:AServiceSoapBinding"
address="http://localhost:9000/AService"/>
</wsdl:service>
</wsdl:description>
----
The following is my composite file:
<?xml version="1.0" encoding="UTF-8"?>
<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
targetNamespace="http://vtest"
name="port-binding">
<component name="AComponent">
<implementation.java
class="org.apache.tuscany.sca.vtest.wsbinding.impl.AServiceImpl"/>
<service name="AService">
<binding.ws wsdlElement="
http://wsbinding.vtest.sca.tuscany.apache.org#wsdl.endpoint(AService/AServiceEndPoint)
"/>
</service>
</component>
<component name="AClientComponent">
<implementation.java
class="org.apache.tuscany.sca.vtest.wsbinding.impl.AClientServiceImpl"/>
<reference name="aService">
<binding.ws uri="http://localhost:9000/AService"/>
</reference>
</component>
</composite>
----
The following is the exception I am getting:
org.osoa.sca.ServiceRuntimeException: java.lang.RuntimeException:
org.apache.tuscany.sca.contribution.service.ContributionReadException:
javax.wsdl.WSDLException: WSDLException (at /wsdl:description):
faultCode=INVALID_WSDL: Expected element '{
http://schemas.xmlsoap.org/wsdl/}definitions'.
at
org.apache.tuscany.sca.host.embedded.SCADomain.createNewInstance(SCADomain.java:276)
at
org.apache.tuscany.sca.host.embedded.SCADomain.newInstance(SCADomain.java:70)
at
org.apache.tuscany.sca.vtest.wsbinding.EndpointTestCase.startServer(EndpointTestCase.java:40)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
org.junit.internal.runners.BeforeAndAfterRunner.invokeMethod(BeforeAndAfterRunner.java:74)
at
org.junit.internal.runners.BeforeAndAfterRunner.runBefores(BeforeAndAfterRunner.java:50)
at
org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:33)
at
org.junit.internal.runners.TestMethodRunner.runMethod(TestMethodRunner.java:75)
at
org.junit.internal.runners.TestMethodRunner.run(TestMethodRunner.java:45)
at
org.junit.internal.runners.TestClassMethodsRunner.invokeTestMethod(TestClassMethodsRunner.java:75)
at
org.junit.internal.runners.TestClassMethodsRunner.run(TestClassMethodsRunner.java:36)
at
org.junit.internal.runners.TestClassRunner$1.runUnprotected(TestClassRunner.java:42)
at
org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34)
at
org.junit.internal.runners.TestClassRunner.run(TestClassRunner.java:52)
at
org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:38)
at
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
Caused by: java.lang.RuntimeException:
org.apache.tuscany.sca.contribution.service.ContributionReadException:
javax.wsdl.WSDLException: WSDLException (at /wsdl:description):
faultCode=INVALID_WSDL: Expected element '{
http://schemas.xmlsoap.org/wsdl/}definitions'.
at
org.apache.tuscany.sca.interfacedef.wsdl.xml.WSDLModelResolver.loadOnDemand(WSDLModelResolver.java:302)
at
org.apache.tuscany.sca.interfacedef.wsdl.xml.WSDLModelResolver.aggregate(WSDLModelResolver.java:235)
at
org.apache.tuscany.sca.interfacedef.wsdl.xml.WSDLModelResolver.resolveModel(WSDLModelResolver.java:268)
at
org.apache.tuscany.sca.contribution.resolver.ExtensibleModelResolver.resolveModel(ExtensibleModelResolver.java:149)
at
org.apache.tuscany.sca.binding.ws.xml.WebServiceBindingProcessor.resolve(WebServiceBindingProcessor.java:273)
at
org.apache.tuscany.sca.binding.ws.xml.WebServiceBindingProcessor.resolve(WebServiceBindingProcessor.java:61)
at
org.apache.tuscany.sca.contribution.processor.DefaultStAXArtifactProcessorExtensionPoint$LazyStAXArtifactProcessor.resolve(DefaultStAXArtifactProcessorExtensionPoint.java:287)
at
org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor.resolve(ExtensibleStAXArtifactProcessor.java:116)
at
org.apache.tuscany.sca.assembly.xml.BaseAssemblyProcessor.resolveContracts(BaseAssemblyProcessor.java:381)
at
org.apache.tuscany.sca.assembly.xml.CompositeProcessor.resolve(CompositeProcessor.java:872)
at
org.apache.tuscany.sca.assembly.xml.CompositeProcessor.resolve(CompositeProcessor.java:89)
at
org.apache.tuscany.sca.contribution.processor.DefaultStAXArtifactProcessorExtensionPoint$LazyStAXArtifactProcessor.resolve(DefaultStAXArtifactProcessorExtensionPoint.java:287)
at
org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor.resolve(ExtensibleStAXArtifactProcessor.java:116)
at
org.apache.tuscany.sca.assembly.xml.CompositeDocumentProcessor.resolve(CompositeDocumentProcessor.java:151)
at
org.apache.tuscany.sca.assembly.xml.CompositeDocumentProcessor.resolve(CompositeDocumentProcessor.java:55)
at
org.apache.tuscany.sca.contribution.processor.ExtensibleURLArtifactProcessor.resolve(ExtensibleURLArtifactProcessor.java:86)
at
org.apache.tuscany.sca.contribution.service.impl.ContributionServiceImpl.processResolvePhase(ContributionServiceImpl.java:506)
at
org.apache.tuscany.sca.contribution.service.impl.ContributionServiceImpl.addContribution(ContributionServiceImpl.java:372)
at
org.apache.tuscany.sca.contribution.service.impl.ContributionServiceImpl.contribute(ContributionServiceImpl.java:168)
at
org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain.addContribution(DefaultSCADomain.java:291)
at
org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain.init(DefaultSCADomain.java:171)
at
org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain.<init>(DefaultSCADomain.java:113)
at
org.apache.tuscany.sca.host.embedded.SCADomain.createNewInstance(SCADomain.java:242)
... 22 more
Caused by:
org.apache.tuscany.sca.contribution.service.ContributionReadException:
javax.wsdl.WSDLException: WSDLException (at /wsdl:description):
faultCode=INVALID_WSDL: Expected element '{
http://schemas.xmlsoap.org/wsdl/}definitions'.
at
org.apache.tuscany.sca.interfacedef.wsdl.xml.WSDLModelResolver.loadDefinition(WSDLModelResolver.java:337)
at
org.apache.tuscany.sca.interfacedef.wsdl.xml.WSDLModelResolver.loadOnDemand(WSDLModelResolver.java:300)
... 44 more
Caused by: javax.wsdl.WSDLException: WSDLException (at /wsdl:description):
faultCode=INVALID_WSDL: Expected element '{
http://schemas.xmlsoap.org/wsdl/}definitions'.
at com.ibm.wsdl.xml.WSDLReaderImpl.checkElementName(Unknown Source)
at com.ibm.wsdl.xml.WSDLReaderImpl.parseDefinitions(Unknown Source)
at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source)
at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source)
at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source)
at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source)
at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source)
at
org.apache.tuscany.sca.interfacedef.wsdl.xml.WSDLModelResolver.loadDefinition(WSDLModelResolver.java:331)
... 45 more