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.

Reply via email to