You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@tuscany.apache.org by Michael Dehmlow <de...@gmail.com> on 2009/09/21 18:40:39 UTC
SEVERE: No WSDL interface definition for MyService
I'm Having a hard time creating a Web Service using Tuscany and the Eclipse
IDE:
My Composite is as follows:
<?xml version="1.0" encoding="UTF-8"?>
<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" xmlns:hw="
http://math.company.com" name="calculator" targetNamespace="
http://com.company.math">
<component name="AServiceComponent">
<implementation.java class="com.company.math.MathServerImpl"/>
<service name="MathService">
<interface.wsdl wsdlLocation="MathService.wsdl" interface="
http://math.company.com#wsdl.interface(MathServer)"/>
<binding.ws uri="http://localhost:8085/ms"/>
</service>
</component>
</composite>
My WSDL Is as such:
<?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.
-->
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="
http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://math.company.com/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns="
http://schemas.xmlsoap.org/soap/encoding/" name="MathService"
targetNamespace="http://math.company.com/">
<message name="add">
<part name="arg0" type="xsd:int"/>
<part name="arg1" type="xsd:long"/>
</message>
<message name="subtract">
<part name="arg0" type="xsd:int"/>
<part name="arg1" type="xsd:long"/>
</message>
<message name="multiply">
<part name="arg0" type="xsd:int"/>
<part name="arg1" type="xsd:long"/>
</message>
<message name="divide">
<part name="arg0" type="xsd:int"/>
<part name="arg1" type="xsd:long"/>
</message>
<message name="mathResponse">
<part name="return" type="xsd:long"/>
</message>
<portType name="MathServer">
<operation name="add">
<input message="tns:add"/>
<output message="tns:mathResponse"/>
</operation>
<operation name="subtract">
<input message="tns:subtract"/>
<output message="tns:mathResponse"/>
</operation>
<operation name="multiply">
<input message="tns:multiply"/>
<output message="tns:mathResponse"/>
</operation>
<operation name="divide">
<input message="tns:divide"/>
<output message="tns:mathResponse"/>
</operation>
</portType>
<binding name="MathPortBinding" type="tns:MathServer">
<soap:binding style="rpc" transport="
http://schemas.xmlsoap.org/soap/http"/>
<operation name="add">
<soap:operation soapAction=""/>
<input>
<soap:body use="literal" namespace="http://math.company.com/
"/>
</input>
<output>
<soap:body use="literal" namespace="http://math.company.com/
"/>
</output>
</operation>
<operation name="subtract">
<soap:operation soapAction=""/>
<input>
<soap:body use="literal" namespace="http://math.company.com/
"/>
</input>
<output>
<soap:body use="literal" namespace="http://math.company.com/
"/>
</output>
</operation>
<operation name="multiply">
<soap:operation soapAction=""/>
<input>
<soap:body use="literal" namespace="http://math.company.com/
"/>
</input>
<output>
<soap:body use="literal" namespace="http://math.company.com/
"/>
</output>
</operation>
<operation name="divide">
<soap:operation soapAction=""/>
<input>
<soap:body use="literal" namespace="http://math.company.com/
"/>
</input>
<output>
<soap:body use="literal" namespace="http://math.company.com/
"/>
</output>
</operation>
</binding>
<service name="MathService">
<port name="MathPort" binding="tns:MathPortBinding">
<soap:address location="http://localhost:9989/ms"/>
</port>
</service>
</definitions>
I have successfully used the above prototype app to run using JAX-WS in java
core 6 but when I run the this using the SCA plug-in I get:
Deploying calculator.composite...
Sep 21, 2009 10:16:07 AM org.apache.tuscany.sca.node.impl.NodeImpl <init>
INFO: Creating node: calculator.composite
Sep 21, 2009 10:16:08 AM org.apache.tuscany.sca.node.impl.NodeImpl
configureNode
INFO: Loading contribution:
file:/C:/Users/mldehmlo/TuscanyWorkspace2/Calculator/bin/
Sep 21, 2009 10:16:08 AM
org.apache.tuscany.sca.assembly.builder.impl.ComponentConfigurationBuilderImpl
WARNING: Service not found for component service: Component =
AServiceComponent Service = MathService
Sep 21, 2009 10:16:08 AM
org.apache.tuscany.sca.assembly.builder.impl.CompositeBindingURIBuilderImpl
WARNING: Service not found for component service: Component =
AServiceComponent Service = MathService
Sep 21, 2009 10:16:08 AM
org.apache.tuscany.sca.binding.ws.wsdlgen.WSDLServiceGenerator
SEVERE: No WSDL interface definition for MathService/{2}
java.lang.reflect.InvocationTargetException
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:597)
at
org.eclipse.stp.sca.deployment.mains.TuscanyMain1x.main(TuscanyMain1x.java:34)
Caused by: org.osoa.sca.ServiceRuntimeException: No WSDL interface
definition for MathService/{2}
at
org.apache.tuscany.sca.node.impl.NodeImpl.analyzeProblems(NodeImpl.java:701)
at
org.apache.tuscany.sca.node.impl.NodeImpl.configureNode(NodeImpl.java:622)
at org.apache.tuscany.sca.node.impl.NodeImpl.<init>(NodeImpl.java:196)
at
org.apache.tuscany.sca.node.impl.NodeFactoryImpl.createSCANodeFromClassLoader(NodeFactoryImpl.java:37)
at
org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain.init(DefaultSCADomain.java:178)
at
org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain.<init>(DefaultSCADomain.java:100)
at
org.apache.tuscany.sca.host.embedded.SCADomain.createNewInstance(SCADomain.java:182)
at
org.apache.tuscany.sca.host.embedded.SCADomain.newInstance(SCADomain.java:63)
...
The MathService.wsdl is in my source directory, the same package directory
as my java impl, the root directory of the project, and in a folder I
created called META-INF/wsdl.
I've tried not specifying the wsdlLocation, specifying
sdlLocation="MathService.wsdl" and specifying
wsdlLocation="META-INF/wsdl/MathService.wsdl"
Any Help? I'm using the plugin detailed here:
http://wiki.eclipse.org/STP/SCA_Component/SCA_Java_Run_and_Debug
Thanks.
Re: SEVERE: No WSDL interface definition for MyService
Posted by Simon Nash <na...@apache.org>.
Michael Dehmlow wrote:
> I'm Having a hard time creating a Web Service using Tuscany and the
> Eclipse IDE:
>
> My Composite is as follows:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
> xmlns:hw="http://math.company.com" name="calculator"
> targetNamespace="http://com.company.math">
> <component name="AServiceComponent">
> <implementation.java class="com.company.math.MathServerImpl"/>
> <service name="MathService">
> <interface.wsdl wsdlLocation="MathService.wsdl"
> interface="http://math.company.com#wsdl.interface(MathServer)"/>
> <binding.ws <http://binding.ws> uri="http://localhost:8085/ms"/>
> </service>
> </component>
> </composite>
>
>
> My WSDL Is as such:
>
> <?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.
> -->
> <definitions xmlns="http://schemas.xmlsoap.org/wsdl/"
> xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
> xmlns:tns="http://math.company.com/"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> xmlns:ns="http://schemas.xmlsoap.org/soap/encoding/" name="MathService"
> targetNamespace="http://math.company.com/">
> <message name="add">
> <part name="arg0" type="xsd:int"/>
> <part name="arg1" type="xsd:long"/>
> </message>
> <message name="subtract">
> <part name="arg0" type="xsd:int"/>
> <part name="arg1" type="xsd:long"/>
> </message>
> <message name="multiply">
> <part name="arg0" type="xsd:int"/>
> <part name="arg1" type="xsd:long"/>
> </message>
> <message name="divide">
> <part name="arg0" type="xsd:int"/>
> <part name="arg1" type="xsd:long"/>
> </message>
> <message name="mathResponse">
> <part name="return" type="xsd:long"/>
> </message>
> <portType name="MathServer">
> <operation name="add">
> <input message="tns:add"/>
> <output message="tns:mathResponse"/>
> </operation>
> <operation name="subtract">
> <input message="tns:subtract"/>
> <output message="tns:mathResponse"/>
> </operation>
> <operation name="multiply">
> <input message="tns:multiply"/>
> <output message="tns:mathResponse"/>
> </operation>
> <operation name="divide">
> <input message="tns:divide"/>
> <output message="tns:mathResponse"/>
> </operation>
> </portType>
> <binding name="MathPortBinding" type="tns:MathServer">
> <soap:binding style="rpc"
> transport="http://schemas.xmlsoap.org/soap/http"/>
> <operation name="add">
> <soap:operation soapAction=""/>
> <input>
> <soap:body use="literal"
> namespace="http://math.company.com/"/>
> </input>
> <output>
> <soap:body use="literal"
> namespace="http://math.company.com/"/>
> </output>
> </operation>
> <operation name="subtract">
> <soap:operation soapAction=""/>
> <input>
> <soap:body use="literal"
> namespace="http://math.company.com/"/>
> </input>
> <output>
> <soap:body use="literal"
> namespace="http://math.company.com/"/>
> </output>
> </operation>
> <operation name="multiply">
> <soap:operation soapAction=""/>
> <input>
> <soap:body use="literal"
> namespace="http://math.company.com/"/>
> </input>
> <output>
> <soap:body use="literal"
> namespace="http://math.company.com/"/>
> </output>
> </operation>
> <operation name="divide">
> <soap:operation soapAction=""/>
> <input>
> <soap:body use="literal"
> namespace="http://math.company.com/"/>
> </input>
> <output>
> <soap:body use="literal"
> namespace="http://math.company.com/"/>
> </output>
> </operation>
> </binding>
> <service name="MathService">
> <port name="MathPort" binding="tns:MathPortBinding">
> <soap:address location="http://localhost:9989/ms"/>
> </port>
> </service>
> </definitions>
>
> I have successfully used the above prototype app to run using JAX-WS in
> java core 6 but when I run the this using the SCA plug-in I get:
>
> Deploying calculator.composite...
> Sep 21, 2009 10:16:07 AM org.apache.tuscany.sca.node.impl.NodeImpl <init>
> INFO: Creating node: calculator.composite
> Sep 21, 2009 10:16:08 AM org.apache.tuscany.sca.node.impl.NodeImpl
> configureNode
> INFO: Loading contribution:
> file:/C:/Users/mldehmlo/TuscanyWorkspace2/Calculator/bin/
> Sep 21, 2009 10:16:08 AM
> org.apache.tuscany.sca.assembly.builder.impl.ComponentConfigurationBuilderImpl
> WARNING: Service not found for component service: Component =
> AServiceComponent Service = MathService
> Sep 21, 2009 10:16:08 AM
> org.apache.tuscany.sca.assembly.builder.impl.CompositeBindingURIBuilderImpl
> WARNING: Service not found for component service: Component =
> AServiceComponent Service = MathService
> Sep 21, 2009 10:16:08 AM
> org.apache.tuscany.sca.binding.ws.wsdlgen.WSDLServiceGenerator
> SEVERE: No WSDL interface definition for MathService/{2}
> java.lang.reflect.InvocationTargetException
> 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:597)
> at
> org.eclipse.stp.sca.deployment.mains.TuscanyMain1x.main(TuscanyMain1x.java:34)
> Caused by: org.osoa.sca.ServiceRuntimeException: No WSDL interface
> definition for MathService/{2}
> at
> org.apache.tuscany.sca.node.impl.NodeImpl.analyzeProblems(NodeImpl.java:701)
> at
> org.apache.tuscany.sca.node.impl.NodeImpl.configureNode(NodeImpl.java:622)
> at org.apache.tuscany.sca.node.impl.NodeImpl.<init>(NodeImpl.java:196)
> at
> org.apache.tuscany.sca.node.impl.NodeFactoryImpl.createSCANodeFromClassLoader(NodeFactoryImpl.java:37)
> at
> org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain.init(DefaultSCADomain.java:178)
> at
> org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain.<init>(DefaultSCADomain.java:100)
> at
> org.apache.tuscany.sca.host.embedded.SCADomain.createNewInstance(SCADomain.java:182)
> at
> org.apache.tuscany.sca.host.embedded.SCADomain.newInstance(SCADomain.java:63)
> ...
>
> The MathService.wsdl is in my source directory, the same package
> directory as my java impl, the root directory of the project, and in a
> folder I created called META-INF/wsdl.
>
> I've tried not specifying the wsdlLocation, specifying
> sdlLocation="MathService.wsdl" and specifying
> wsdlLocation="META-INF/wsdl/MathService.wsdl"
>
> Any Help? I'm using the plugin detailed here:
> http://wiki.eclipse.org/STP/SCA_Component/SCA_Java_Run_and_Debug
>
> Thanks.
>
Hi Michael,
Your WSDL file uses the namespace "http://math.company.com/". Your
composite file uses the namespace "http://math.company.com" (no slash
at the end). I think this is the reason for the error message.
Simon