Yes, I am using ServiceMix to host my web service, but I still wanted to use
the http endpoints as a proof of concept thing.  And yes, I can use SOAP UI
to generate a request and send it through a browser and get my expected
output.  But the http provider fails with that error.




Gert Vanthienen wrote:
> 
> L.S.,
> 
> The provider http:endpoint is used to make an external web service 
> available to the ESB.  So, in your case, there should an up-and-running 
> web service on the url specified in the endpoint.  Whether or not you 
> create this endpoint, the WSDL should always have been available on that 
> location beforehand.  Have you tried invoking this webservice with e.g. 
> the Eclipse webservices client or SoapUI client?
> 
> What confuses me, is the URL for your website, which suggests that 
> you've also build you webservice using ServiceMix (it might just be a 
> coincidence off course).  If your service is already available in the 
> ESB, there is no need to go through the HTTP endpoints to invoke it...
> 
> Gert
> 
> 
> Benamin wrote:
>> So, if you had a wsdl with the following namespace and service:
>> 
>> <wsdl:definitions targetNamespace="http://tapestry.cgi.com/smix";>
>> <wsdl:service name="NSRService">
>> 
>> a valid http provider would be :
>> 
>> <beans xmlns:http="http://servicemix.apache.org/http/1.0";
>>        xmlns:sm="http://tapestry.cgi.com/smix";>
>> 
>> <http:endpoint service="sm:NSRService"
>>                  endpoint="myProvider"
>>                  role="provider" 
>>                  locationURI="http://localhost:8192/NSRService/";
>>                  soap="true"
>>                   />
>> 
>> I can browse this wsdl at http://localhost:8192/NSRService/main.wsdl as
>> expected.
>> 
>> Yet, I get error with the following.  Any ideas?
>> 
>> ERROR - HttpComponent                  - Error processing exchange InOut[
>>   id: ID:massive-64941-1180471881454-11:0
>>   status: Active
>>   role: provider
>>   service: {http://tapestry.cgi.com/smix}NSRService
>>   endpoint: myProvider
>>   in: <?xml version="1.0" encoding="UTF-8"?><hello>Testing</hello>
>> ]
>> org.apache.commons.httpclient.NoHttpResponseException: The server
>> localhost
>> failed to respond
>>         at
>> org.apache.commons.httpclient.HttpMethodBase.readStatusLine(HttpMethodBase.java:1835)
>>         at
>> org.apache.commons.httpclient.HttpMethodBase.readResponse(HttpMethodBase.java:1590)
>>         at
>> org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:995)
>>         at
>> org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:397)
>>         at
>> org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:170)
>>         at
>> org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:396)
>>         at
>> org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:346)
>>         at
>> org.apache.servicemix.http.processors.ProviderProcessor.process(ProviderProcessor.java:168)
>>         at
>> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:489)
>>         at
>> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:441)
>>         at
>> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
>>         at
>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:593)
>>         at
>> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:174)
>>         at
>> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:176)
>>         at
>> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
>>         at
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
>>         at
>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
>>         at java.lang.Thread.run(Thread.java:595)
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> Gert Vanthienen wrote:
>>> L.S.,
>>>
>>> The namespace should match the target namespace of your wsdl and the 
>>> service name should match the service defined in there as well.
>>>
>>> Gert
>>>
>>>
>>> Benamin wrote:
>>>> I may be having a similar problem.  So in that particular http
>>>> provider,
>>>> the
>>>> service should be 
>>>> service="test:BookService"
>>>>
>>>> ?
>>>>
>>>>
>>>>
>>>> Gert Vanthienen wrote:
>>>>   
>>>>> 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.
>>>>>
>>>>> Regards,
>>>>>
>>>>> Gert
>>>>>
>>>>> Michael Mattox wrote:
>>>>>     
>>>>>> Help!
>>>>>>
>>>>>> I set up an http consumer & provider to pass through to an external
>>>>>> webservice running under tomcat.  I cannot for the life of me get it
>>>>>> to work.  Searching the mailing list shows the same error reported by
>>>>>> other people but I do not find any solutions posted.  I'm using
>>>>>> 3.1.1-incubating.
>>>>>>
>>>>>> xbean.xml:
>>>>>>
>>>>>> <http:endpoint service="test:MyProviderService"
>>>>>>               endpoint="myProvider"
>>>>>>               role="provider"
>>>>>>               soapVersion="1.1"
>>>>>>               soap="true"
>>>>>>               
>>>>>> locationURI="http://0.0.0.0:8080/test-business-service/services/BookService";
>>>>>>  
>>>>>>
>>>>>>               />
>>>>>>
>>>>>> <http:endpoint service="test:MyConsumerService"
>>>>>>               endpoint="myConsumer"
>>>>>>               targetService="test:MyProviderService"
>>>>>>               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"
>>>>>>               />
>>>>>>
>>>>>> web page result (http://ics030126:8192/BookService/?wsdl):
>>>>>>
>>>>>> HTTP ERROR: 404
>>>>>>
>>>>>> Unable to find requested resource
>>>>>>
>>>>>> RequestURI=/BookService/main.wsdl
>>>>>>
>>>>>> Powered by Jetty://
>>>>>>
>>>>>> in the servicemix log:
>>>>>>
>>>>>> 18:21:50,858 | DEBUG | btpool0-0 - Acceptor0 SelectChannelConnector @
>>>>>> 0.0.0.0:8192 | JettyContextManager      |
>>>>>> ntextManager$ThreadPoolWrapper  441 | Dispatching job:
>>>>>> [EMAIL PROTECTED],io=0,w=true,b=0|0]
>>>>>> 18:21:50,858 | DEBUG | btpool0-2  | ConsumerProcessor        |
>>>>>> p.processors.ConsumerProcessor  120 | Receiving HTTP request: GET
>>>>>> /BookService/?wsdl HTTP/1.1
>>>>>> Host: ics030126:8192
>>>>>> User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US;
>>>>>> rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3
>>>>>> Accept: 
>>>>>> text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
>>>>>>  
>>>>>>
>>>>>> Accept-Language: en-us,en;q=0.5
>>>>>> Accept-Encoding: gzip,deflate
>>>>>> Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
>>>>>> Keep-Alive: 300
>>>>>> Connection: keep-alive
>>>>>>
>>>>>>
>>>>>> 18:21:50,967 | DEBUG | btpool0-0 - Acceptor0 SelectChannelConnector @
>>>>>> 0.0.0.0:8192 | JettyContextManager      |
>>>>>> ntextManager$ThreadPoolWrapper  441 | Dispatching job:
>>>>>> [EMAIL PROTECTED],io=1,w=true,b=0|0]
>>>>>> 18:21:50,967 | DEBUG | btpool0-2  | ConsumerProcessor        |
>>>>>> p.processors.ConsumerProcessor  120 | Receiving HTTP request: GET
>>>>>> /BookService/main.wsdl HTTP/1.1
>>>>>> Host: ics030126:8192
>>>>>> User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US;
>>>>>> rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3
>>>>>> Accept: 
>>>>>> text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
>>>>>>  
>>>>>>
>>>>>> Accept-Language: en-us,en;q=0.5
>>>>>> Accept-Encoding: gzip,deflate
>>>>>> Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
>>>>>> Keep-Alive: 300
>>>>>> Connection: keep-alive
>>>>>>
>>>>>>
>>>>>> 18:21:50,967 | DEBUG | btpool0-2  | HttpComponent            |
>>>>>> e.servicemix.soap.SoapEndpoint  276 | Retrieving proxied endpoint
>>>>>> definition
>>>>>> 18:21:50,967 | DEBUG | btpool0-2  | HttpComponent            |
>>>>>> icemix.common.DefaultComponent   79 | Querying service description
>>>>>> for
>>>>>> ServiceEndpoint[service={http://servicemix.apache.org/service}MyProviderService,endpoint=myProvider]
>>>>>>  
>>>>>>
>>>>>> 18:21:50,967 | DEBUG | btpool0-2  | HttpComponent            |
>>>>>> icemix.common.DefaultComponent   87 | No description found for
>>>>>> {http://servicemix.apache.org/service}MyProviderService:myProvider
>>>>>>
>>>>>>
>>>>>> I'm completely blocked by this, quite embarrassingly so in front of
>>>>>> my
>>>>>> client!  If anyone can tell me how to get past this I'd be very
>>>>>> grateful.  I'm trying to build a proof of concept for a new project.
>>>>>>
>>>>>> Thanks,
>>>>>> Michael
>>>>>>
>>>>>>       
>>>>>     
>>>>   
>>>
>>>
>> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/404-Unable-to-find-requested-resource-when-requesting-WSDL-tf3835016s12049.html#a10874927
Sent from the ServiceMix - User mailing list archive at Nabble.com.

Reply via email to