On Tue, May 18, 2010 at 12:25 PM, Gregor Kiddie
<[email protected]> wrote:
> I’m trying to make a call from Tuscany to an external webservice. I think I
> have it set up correctly, but it gives the same error each time. It’s
> running in a Tomcat Container.
>
>
>
> The error I’m getting is
>
>
>
> Caused by: org.osoa.sca.ServiceRuntimeException: No runtime wire is
> available
>
> at
> org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:186)
>
> and my composite looks like this
>
>
>
> <?xml version="1.0" encoding="UTF-8"?>
>
> <composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
>
> targetNamespace="com.mycompany.myproduct.mymodule"
>
> name="mymodule">
>
>
>
> <component name="MyModule">
>
> <implementation.spring
> location="WEB-INF/classes/applicationContext.xml" />
>
> <service name="MyService">
>
> <binding.ws />
>
> </service>
>
> </component>
>
>
>
> <reference name="myServiceProvider">
>
> <interface.java
> interface="com.mycompany.soa.webservices.SuperServiceSkeletonInterface" />
>
> <binding.ws
> uri="http://soa.0002.dev.mycompany.com/SuperFacility/SuperService.asmx" />
>
> </reference>
>
> </composite>
>
>
>
> Any suggestions?
Hi
Try putting the reference inside the component, for example,
<component name="MyModule">
<implementation.spring
location="WEB-INF/classes/applicationContext.xml" />
<service name="MyService">
<binding.ws />
</service>
<reference name="myServiceProvider">
<interface.java
interface="com.mycompany.soa.webservices.SuperServiceSkeletonInterface"
/>
<binding.ws
uri="http://soa.0002.dev.mycompany.com/SuperFacility/SuperService.asmx"
/>
</reference>
</component>
I'm assuming that you're Spring context defines a reference property
called "myServiceProvider". You can of course put references at the
composite level but they should refer to a component reference that
they promote using the the "promote" attribute.
Regards
Simon
--
Apache Tuscany committer: tuscany.apache.org
Co-author of a book about Tuscany and SCA: tuscanyinaction.com