Hi,
the @Remotable is there, since it is generated by wsdl2java. So, it still
does not work. Get the following error:
org.apache.tuscany.runtime.webapp.ServletLauncherInitException:
org.apache.tuscany.spi.builder.BuilderConfigException: Incompatible source
and target
interfaces
Context stack trace: [hendrik-phonebook][PhonebookServiceComponent]
at org.apache.tuscany.runtime.webapp.WebappRuntimeImpl.initialize(
WebappRuntimeImpl.java:147)
at
org.apache.tuscany.runtime.webapp.TuscanyContextListener.contextInitialized(
TuscanyContextListener.java:74)
at org.apache.catalina.core.StandardContext.listenerStart(
StandardContext.java:3763)
at org.apache.catalina.core.StandardContext.start(
StandardContext.java:4211)
at org.apache.catalina.core.ContainerBase.addChildInternal(
ContainerBase.java:759)
at org.apache.catalina.core.ContainerBase.addChild(
ContainerBase.java:739)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java
:524)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java
:809)
at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java
:698)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java
:472)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java
:1122)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(
HostConfig.java:310)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(
LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java
:1021)
at org.apache.catalina.core.StandardHost.start(StandardHost.java
:718)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java
:1013)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java
:442)
at org.apache.catalina.core.StandardService.start(
StandardService.java:450)
at org.apache.catalina.core.StandardServer.start(StandardServer.java
:709)
at org.apache.catalina.startup.Catalina.start(Catalina.java:551)
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.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432)
Caused by: org.apache.tuscany.spi.builder.BuilderConfigException:
Incompatible source and target interfaces
Context stack trace: [hendrik-phonebook][PhonebookServiceComponent]
at org.apache.tuscany.core.builder.ConnectorImpl.checkIfWireable(
ConnectorImpl.java:451)
at org.apache.tuscany.core.builder.ConnectorImpl.connect(
ConnectorImpl.java:387)
at org.apache.tuscany.core.builder.ConnectorImpl.connect(
ConnectorImpl.java:101)
at
org.apache.tuscany.spi.extension.CompositeComponentExtension.prepare(
CompositeComponentExtension.java:460)
at org.apache.tuscany.core.deployer.DeployerImpl.deploy(
DeployerImpl.java:86)
at
org.apache.tuscany.core.runtime.AbstractRuntime.deployApplicationScdl(
AbstractRuntime.java:136)
at org.apache.tuscany.runtime.webapp.WebappRuntimeImpl.initialize(
WebappRuntimeImpl.java:138)
... 25 more
Caused by: org.apache.tuscany.spi.wire.IncompatibleServiceContractException:
The remotable settings don't match [ServiceContract[SendSMSWorldService],
ServiceContract[SendSMSWorldSoap]]
at
org.apache.tuscany.spi.wire.WireServiceExtension.checkCompatibility(
WireServiceExtension.java:60)
at org.apache.tuscany.core.builder.ConnectorImpl.checkIfWireable(
ConnectorImpl.java:448)
... 31 more
What is the syntax for the default.scdl about referencing a remote Web
Service? Does the reference need to be wrapped into a Component with an
implementation? Or is it enough just to reference it out of the main
component, like here:
<!-- Phonebook Service -->
<component name="PhonebookServiceComponent">
<implementation.java class="
org.hendrik.phonebook.services.phonebook.PhonebookServiceImpl"/>
<!-- <property name="currency" source="$currency" /> -->
<reference
name="phonebookDataService">PhonebookDataServiceComponent</reference>
<reference
name="sendSMSWorldService">SendSMSWorldWebServiceReference</reference>
</component>
<!-- Send SMS World Web Service -->
<reference name="SendSMSWorldWebServiceReference">
<interface.java interface="net.x.webservice.SendSMSWorldSoap"/>
<!-- the generated Interface with the Remotable Annotation -->
<binding.ws endpoint="
http://www.webserviceX.NET#wsdl.endpoint(SendSMSWorld/SendSMSWorldSoap)"
location="wsdl/SendSMSWorldService.wsdl" /> <!-- the local
WSDL file location -->
</reference>
Is there an XML Schema for the default.scdl somewhere....basically the file
it must conform as mentioned in the header of the default.scdl (xmlns="
http://www.osoa.org/xmlns/sca/1.0")?
Thanks, Hendrik
On 11/8/06, Raymond Feng <[EMAIL PROTECTED]> wrote:
Hi,
Please make sure SendSMSWorldService interface is annotated with
@Remotable.
Thanks,
Raymond
----- Original Message -----
From: "Hendrik Mueller" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Tuesday, November 07, 2006 10:16 PM
Subject: Problem to Bind to a remote Web Service
> Hey,
>
> I have had a lot of trouble trying to bind to a remote Web service.
Which
> specification does the current Java-M2-Branch conform? Is there an XSD
for
> the composite xml (default.scdl) available?
> Also, I could not get the current Java-M2-Branch BigBank example with
the
> real StockQuote Service. What needs to be added or changed there?
>
> In my application, I am running into the following error. Could someone
> help
> me out with the correct configuration?
>
> org.apache.tuscany.runtime.webapp.ServletLauncherInitException:
> org.apache.tuscany.spi.builder.BuilderConfigException: Incompatible
source
> and target interfaces
> Context stack trace: [hendrik-phonebook][PhonebookServiceComponent]
> at org.apache.tuscany.runtime.webapp.WebappRuntimeImpl.initialize
(
> WebappRuntimeImpl.java:147)
> at
>
org.apache.tuscany.runtime.webapp.TuscanyContextListener.contextInitialized
(
> TuscanyContextListener.java:74)
> at org.apache.catalina.core.StandardContext.listenerStart(
> StandardContext.java:3763)
> at org.apache.catalina.core.StandardContext.start(
> StandardContext.java:4211)
> at org.apache.catalina.core.ContainerBase.addChildInternal(
> ContainerBase.java:759)
> at org.apache.catalina.core.ContainerBase.addChild(
> ContainerBase.java:739)
> at org.apache.catalina.core.StandardHost.addChild(
StandardHost.java
> :524)
> at org.apache.catalina.startup.HostConfig.deployWAR(
HostConfig.java
> :809)
> at
> org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java
> :698)
> at
> org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java
> :472)
> at org.apache.catalina.startup.HostConfig.start(HostConfig.java
> :1122)
> at org.apache.catalina.startup.HostConfig.lifecycleEvent(
> HostConfig.java:310)
> at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(
> LifecycleSupport.java:119)
> at org.apache.catalina.core.ContainerBase.start(
ContainerBase.java
> :1021)
> at org.apache.catalina.core.StandardHost.start(StandardHost.java
> :718)
> at org.apache.catalina.core.ContainerBase.start(
ContainerBase.java
> :1013)
> at
> org.apache.catalina.core.StandardEngine.start(StandardEngine.java
> :442)
> at org.apache.catalina.core.StandardService.start(
> StandardService.java:450)
> at
> org.apache.catalina.core.StandardServer.start(StandardServer.java
> :709)
> at org.apache.catalina.startup.Catalina.start(Catalina.java:551)
> 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.apache.catalina.startup.Bootstrap.start(Bootstrap.java
:294)
> at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432)
> Caused by: org.apache.tuscany.spi.builder.BuilderConfigException:
> Incompatible source and target interfaces
> Context stack trace: [hendrik-phonebook][PhonebookServiceComponent]
> at org.apache.tuscany.core.builder.ConnectorImpl.checkIfWireable(
> ConnectorImpl.java:451)
> at org.apache.tuscany.core.builder.ConnectorImpl.connect(
> ConnectorImpl.java:387)
> at org.apache.tuscany.core.builder.ConnectorImpl.connect(
> ConnectorImpl.java:101)
> at
> org.apache.tuscany.spi.extension.CompositeComponentExtension.prepare(
> CompositeComponentExtension.java:460)
> at org.apache.tuscany.core.deployer.DeployerImpl.deploy(
> DeployerImpl.java:86)
> at
> org.apache.tuscany.core.runtime.AbstractRuntime.deployApplicationScdl(
> AbstractRuntime.java:136)
> at org.apache.tuscany.runtime.webapp.WebappRuntimeImpl.initialize
(
> WebappRuntimeImpl.java:138)
> ... 25 more
> Caused by:
> org.apache.tuscany.spi.wire.IncompatibleServiceContractException:
> The remotable settings don't match
[ServiceContract[SendSMSWorldService],
> ServiceContract[SendSMSWorldSoap]]
> at
> org.apache.tuscany.spi.wire.WireServiceExtension.checkCompatibility(
> WireServiceExtension.java:60)
> at org.apache.tuscany.core.builder.ConnectorImpl.checkIfWireable(
> ConnectorImpl.java:448)
> ... 31 more
>
>
> There is my default.scdl:
>
> <?xml version="1.0" encoding="UTF-8"?>
>
> <composite xmlns="http://www.osoa.org/xmlns/sca/1.0" xmlns:wsdli="
> http://www.w3.org/2006/01/wsdl-instance"
> name="org.hendrik.phonebook">
>
> <!-- Phonebook Service Entry Point -->
> <service name="PhonebookService">
> <!-- <interface.java interface="
> org.hendrik.phonebook.PhonebookService"/> -->
> <interface.wsdl interface="
> http://www.hendrik.org/phonebook#wsdl.interface(PhonebookService)"
>
> wsdli:wsdlLocation="
http://www.hendrik.org/phonebookwsdl/PhonebookService.wsdl"
> />
> <binding.ws endpoint="
>
http://www.hendrik.org/phonebook#wsdl.endpoint(PhonebookService/PhonebookServiceSOAP)
> "
> conformanceURIs="http://ws-i.org/profiles/basic/1.1"
> location="wsdl/PhonebookService.wsdl" />
> <reference>PhonebookServiceComponent</reference>
> </service>
>
> <!-- Phonebook Service -->
> <component name="PhonebookServiceComponent">
> <implementation.java class="
> org.hendrik.phonebook.services.phonebook.PhonebookServiceImpl"/>
> <!-- <property name="currency" source="$currency" /> -->
> <reference
> name="phonebookDataService">PhonebookDataServiceComponent</reference>
> <reference
> name="sendSMSWorldService">SendSMSWorldWebServiceReference</reference>
> </component>
>
> <!-- Phonebook Data Service -->
> <component name="PhonebookDataServiceComponent">
> <implementation.java class="
> org.hendrik.phonebook.services.phonebookdata.PhonebookDataServiceDASImpl
"/>
> <-- my local implementation which references to the WS functions -->
> </component>
>
> <reference name="SendSMSWorldWebServiceReference">
> <interface.java interface="net.x.webservice.SendSMSWorldSoap"/>
> <binding.ws endpoint="
> http://www.webserviceX.NET#wsdl.endpoint(SendSMSWorld/SendSMSWorldSoap)"
> location="wsdl/SendSMSWorldService.wsdl" /> <-- the local
> location of the WSDL -->
> </reference>
>
> </composite>
>
> Without the WS reference, everything works properly.
>
> Thank you so much for any help on this, Hendrik
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]