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.

Reply via email to