Hello,
I'm trying to create a web service proxy with ServiceMix 3.0
for an external webservice (hosted by Axis 1.4), but when I
try to access the proxy web service, I receive the following
error: "HTTP ERROR: 404 - Unable to find requested resource"
When I enable DEBUG level logging, I can see the following:
(where EchoBusinessSU is the service unit for the external web service,
and SimpleEchoProxySU the service unit for the proxy)
16:20:23,437 | INFO | main | ServiceAssemblyLifeCycle |
ework.ServiceAssemblyLifeCycle 109 | Starting service assembly:
EchoAssembly
16:20:23,437 | INFO | main | ServiceUnitLifeCycle |
framework.ServiceUnitLifeCycle 78 | Initializing service unit:
EchoBusinessSU
16:20:23,437 | DEBUG | main | HttpComponent |
.common.BaseServiceUnitManager 100 | Initializing service unit
16:20:23,437 | DEBUG | main | HttpComponent |
on.xbean.AbstractXBeanDeployer 55 | Looking for
D:\Programs\apache-servicemix-3.0-incubating\data\smx\service-assemblies\EchoAssembly\version_1\sus\servicemix-http\EchoBusinessSU\xbean.xml:
true
16:20:23,562 | DEBUG | main | HttpComponent |
.common.BaseServiceUnitManager 118 | Service unit initialized
16:20:23,562 | INFO | main | ServiceUnitLifeCycle |
framework.ServiceUnitLifeCycle 78 | Initializing service unit:
SimpleEchoProxySU
16:20:23,562 | DEBUG | main | HttpComponent |
.common.BaseServiceUnitManager 100 | Initializing service unit
16:20:23,562 | DEBUG | main | HttpComponent |
on.xbean.AbstractXBeanDeployer 55 | Looking for
D:\Programs\apache-servicemix-3.0-incubating\data\smx\service-assemblies\EchoAssembly\version_1\sus\servicemix-http\SimpleEchoProxySU\xbean.xml:
true
16:20:23,625 | DEBUG | main | HttpComponent |
.common.BaseServiceUnitManager 118 | Service unit initialized
16:20:23,625 | INFO | main | ServiceUnitLifeCycle |
framework.ServiceUnitLifeCycle 97 | Starting service unit: EchoBusinessSU
16:20:23,625 | DEBUG | main | HttpComponent |
.common.BaseServiceUnitManager 136 | Starting service unit
16:20:23,812 | DEBUG | main | HttpComponent |
e.servicemix.http.HttpEndpoint 181 | Port for service/endpoint could not be
found
16:20:23,812 | DEBUG | main | ComponentContextImpl |
framework.ComponentContextImpl 134 | Component: servicemix-http activated
endpoint: {http://test}EchoBusinessService : EchoBusiness
16:20:23,812 | DEBUG | main | HttpComponent |
ervicemix.common.BaseComponent 73 | Querying service description for
ServiceEndpoint[service={http://test}EchoBusinessService,endpoint=EchoBusiness]
16:20:23,812 | DEBUG | main | HttpComponent |
ervicemix.common.BaseComponent 81 | No description found for
{http://test}EchoBusinessService:EchoBusiness
16:20:23,828 | DEBUG | main | EndpointRegistry |
jbi.framework.EndpointRegistry 243 | Endpoint
ServiceEndpoint[service={http://test}EchoBusinessService,endpoint=EchoBusiness]
has no service description
16:20:23,828 | DEBUG | main | JCAFlow |
cemix.jbi.nmr.flow.jca.JCAFlow 443 | ServiceMix: broadcasting info for
org.apache.servicemix.jbi.event.EndpointEvent[source=ServiceEndpoint[service={http://test}EchoBusinessService,endpoint=EchoBusiness]]
16:20:24,375 | DEBUG | main | HttpComponent |
.common.BaseServiceUnitManager 151 | Service unit started
16:20:24,375 | INFO | main | ServiceUnitLifeCycle |
framework.ServiceUnitLifeCycle 97 | Starting service unit:
SimpleEchoProxySU
16:20:24,375 | DEBUG | main | HttpComponent |
.common.BaseServiceUnitManager 136 | Starting service unit
16:20:24,375 | DEBUG | main | HttpComponent |
e.servicemix.soap.SoapEndpoint 279 | Retrieving proxied endpoint definition
16:20:24,375 | DEBUG | main | HttpComponent |
ervicemix.common.BaseComponent 73 | Querying service description for
ServiceEndpoint[service={http://test}EchoBusinessService,endpoint=EchoBusiness]
16:20:24,375 | DEBUG | main | HttpComponent |
ervicemix.common.BaseComponent 81 | No description found for
{http://test}EchoBusinessService:EchoBusiness
16:20:24,406 | INFO | main | jetty |
ervicemix.http.jetty.JCLLogger 80 | jetty-6.0.0rc4
16:20:24,437 | DEBUG | main | JettyContextManager |
ntextManager$ThreadPoolWrapper 425 | Dispatching job:
[EMAIL PROTECTED]
16:20:24,437 | INFO | main | jetty |
ervicemix.http.jetty.JCLLogger 80 | Started SelectChannelConnector @
localhost:8192
16:20:24,640 | DEBUG | main | HttpComponent |
.common.BaseServiceUnitManager 151 | Service unit started
The following line would seem to be the problem:
16:20:23,812 | DEBUG | main | HttpComponent |
e.servicemix.http.HttpEndpoint 181 | Port for service/endpoint could not be
found
It looks like that for some reason the http service unit can't find a port
in the WSDL, but I don't really understand why. The WSDL file is included
on the classpath.
The XML descriptors look like this:
----------------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:http="http://servicemix.apache.org/http/1.0"
xmlns:test="http://test">
<classpath>
<location>.</location>
</classpath>
<http:endpoint service="test:EchoBusinessService"
endpoint="EchoBusiness"
role="provider"
locationURI="http://157.193.214.117:8080/axis/services/echo"
wsdlResource="classpath:echo.wsdl"
soap="true"
soapAction="http://soapecho.org/echoString"/>
soapVersion="1.1"
</beans>
----------------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:http="http://servicemix.apache.org/http/1.0"
xmlns:test="http://test">
<http:endpoint service="test:SimpleEchoProxyService"
endpoint="SimpleEchoProxy"
role="consumer"
targetEndpoint="EchoBusiness"
targetService="test:EchoBusinessService"
locationURI="http://localhost:8192/simpleEcho"
defaultMep="http://www.w3.org/2004/08/wsdl/in-out"
soap="true"
soapVersion="1.1" />
</beans>
----------------------------------------------------------------------------
And here's what the WSDL looks like:
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="http://soapecho.org/"
xmlns:apachesoap="http://xml.apache.org/xml-soap"
xmlns:impl="http://soapecho.org/" xmlns:intf="http://soapecho.org/"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<!--WSDL created by Apache Axis version: 1.3
Built on Oct 05, 2005 (05:23:37 EDT)-->
<wsdl:message name="echoStringResponse">
<wsdl:part name="return" type="xsd:string"/>
</wsdl:message>
<wsdl:message name="echoStringRequest">
<wsdl:part name="inputString" type="xsd:string"/>
</wsdl:message>
<wsdl:portType name="EchoPortType">
<wsdl:operation name="echoString" parameterOrder="inputString">
<wsdl:input message="impl:echoStringRequest"
name="echoStringRequest"/>
<wsdl:output message="impl:echoStringResponse"
name="echoStringResponse"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="echoSoapBinding" type="impl:EchoPortType">
<wsdlsoap:binding style="rpc"
transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="echoString">
<wsdlsoap:operation soapAction="http://soapecho.org/echoString"/>
<wsdl:input name="echoStringRequest">
<wsdlsoap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="http://soapecho.org/" use="encoded"/>
</wsdl:input>
<wsdl:output name="echoStringResponse">
<wsdlsoap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="http://soapecho.org/" use="encoded"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="EchoService">
<wsdl:port binding="impl:echoSoapBinding" name="echo">
<wsdlsoap:address
location="http://localhost:8080/axis/services/echo"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
----------------------------------------------------------------------------
Does anybody know what I'm doing wrong?
Thanks,
Stein
--
View this message in context:
http://www.nabble.com/Web-Service-Proxy-failure%3A-%22Unable-to-find-requested-resource%22-tf2781323s12049.html#a7759660
Sent from the ServiceMix - User mailing list archive at Nabble.com.