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