Michael,

One possible problem is the service name of your HTTP provider endpoint,
which should match the name of the external web service you want to
call.  You can also use the same name on your consumer endpoint to
obtain the pass-through behavior you describe, there's no need to use
the targetService attribute there.

I also think that you have to specify a real IP address or hostname.
You can use the 0.0.0.0 on a consumer endpoint to specify that you want
to bind to all networks your host is in, but here you'll have to specify
localhost or 127.0.0.1.

Thanks for your suggestions.  I'm still not having any luck.  I
updated my xbean.xml to use the same namespace as the WSDL and the
service name to be the same as the service name in the WSDL:

<beans xmlns:http="http://servicemix.apache.org/http/1.0";
           xmlns:test="http://xfire.codehaus.org/BookService";>

<http:endpoint service="test:BookService"
              endpoint="providerBookService"
              role="provider"
              soapVersion="1.1"
              soap="true"
              
locationURI="http://127.0.0.1:8080/test-business-service/services/BookService";
              />

<http:endpoint service="test:BookService"
              endpoint="consumerBookService"
              role="consumer"
              locationURI="http://0.0.0.0:8192/BookService/";
              defaultMep="http://www.w3.org/2004/08/wsdl/in-out";
              soapVersion="1.1"
              soap="true"
              targetService="test:BookService"
              />

I get exactly the same error.  I tried naming the endpoints the same
but I get an error on startup.  I tried removing targetService as
well.  Nothing is working for me, it's quite frustrating.  I had a
coworker helping me yesterday, he has already used servicemix and he
couldn't figure out my problem either.

If you have any more ideas please let me know.  This use case is so
simple, I think it'd be good to include it with the examples.

-Michael

Reply via email to