I am having the same(?) problem.
0) I have a external webservice (w/ tomcat+axis2).
<wsdl:definitions
targetNamespace="http://axis2.demo.shanframework.org"....>
<wsdl:service name="StockQuoteService">
1) In http-consumer/provider setting
<beans xmlns:http="http://servicemix.apache.org/http/1.0"
xmlns:axis2="http://axis2.demo.shanframework.org"
xmlns:jsr181test="http://servicemix.apache.org/samples/jsr181test">
<http:endpoint
service="axis2:StockQuoteService"
endpoint="callerendpoint"
role="provider"
locationURI="http://localhost:8080/axis2/services/StockQuoteService"
wsdlResource="http://localhost:8080/axis2/services/StockQuoteService?wsdl"
soapVersion="1.1"
soap="true"
/>
<http:endpoint service="jsr181test:HttpService"
endpoint="HttpService"
targetService="axis2:StockQuoteService"
targetEndpoint="callerendpoint"
role="consumer"
locationURI="http://0.0.0.0:8192/HttpService/"
defaultMep="http://www.w3.org/2004/08/wsdl/in-out"
soapVersion="1.1"
soap="true"
/>
</beans>
I tried with SOAP-UI and sent soap request to my
http-consumer(http://localhost:8192/HttpService)
and it worked.. It gave me the corrent soap response.
But I still get wsdl in either JMX console or Web browser. In web browser, I
tried the consumer-http
address which is "http://localhost:8192/HttpService/?wsdl and I didn't get
the wsdl.
In JMX, at the "MBeans->org.apache.servicemix->ServiceMix->Endpoint" node I
could see
the http-provider
({http___axis2.demo.shanframework.org}StockQuoteServicecallerendpoint) and
in that opertions, I clicked the "loadWSDL" and didn't gave me the WSDL.
Benamin wrote:
>
> 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#a10885256
Sent from the ServiceMix - User mailing list archive at Nabble.com.