You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by "Ward, Lyall" <ly...@sap.com> on 2008/08/26 10:39:43 UTC

RE: [JUNK]Re: Soap action and wsdl forwarding.

Previously I have been using 3.2.2 and setting the proxy details on the
http component using the jmx interface. I have done this with the 3.2.3
snapshot I have upgraded to (on Gert's recommendation) attempting to use
code newly checked in to that branch.

Also the problem with getting the wsdl still continues. At first the
<http:soap-provider/> definition would not work as it could not match
the defined wsdl to the service/endpoint in the provider. No I have
corrected that problem, but the wsdl still is not found by the consumer.
It also appears the consumer is no longer requesting the wsdl from the
provider. Any ideas why this would be happening?

-----Original Message-----
From: Guillaume Nodet [mailto:gnodet@gmail.com] 
Sent: Tuesday, 26 August 2008 5:53 PM
To: users@servicemix.apache.org
Subject: [JUNK]Re: Soap action and wsdl forwarding.

Proxy support for the <http:provider/> and <http:soap-provider/>
endpoints is available since yesterday.
You need to download / build the latest components (or grab a snapshot
of 3.3) and use the following:

  <http:provider proxyHost="xxx" proxyPort="80" ...

On Tue, Aug 26, 2008 at 8:00 AM, Ward, Lyall <ly...@sap.com> wrote:
> Gert,
>
> Thank you for your reply, I am still having trouble.
>
> I have changed my provider to match the wsdl service/endpoint nameing.
> ### new provider xbean.xml
> <?xml version='1.0' encoding='UTF-8'?>
> <beans xmlns:http='http://servicemix.apache.org/http/1.0'
>       xmlns:svcns='http://www.webserviceX.NET'>
>  <http:soap-provider service='svcns:UKLocation'
>                 endpoint='UKLocationSoap'
>
> locationURI='http://www.webservicex.com/uklocation.asmx'
>                 wsdl='http://www.webservicex.com/uklocation.asmx?WSDL'
>                 validateWsdl="false"
>                 useJbiWrapper="false"
>                 />
> </beans>
>
> I've also upgraded to apache-servicemix-3.2.3-20080825.225502-19 and
> switched my provider to a <http:soap-provider/> as you suggested.
> Service assembly compiles and deploys fine, however it still fails to
> discover the wsdl from the provider. Show the folloing in the debug
> ### Debug
> DEBUG - ConsumerProcessor              - Receiving HTTP request: GET
> /ukLocation-3700af92-6ef7-4a42-9d61-4d241515f715/main.wsdl HTTP/1.1
> Host: bned50077171a.dhcp.bne.sap.corp:8192
> User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-GB;
rv:1.8.1.16)
> Gecko/20080702 Firefox/2.0.0.16
> Accept:
>
text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plai
> n;q=0.8,image/png,*/*;q=0.5
> Accept-Language: en-gb,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
>
>
> DEBUG - HttpComponent                  - Retrieving proxied endpoint
> definition
> DEBUG - EIPComponent                   - Querying service description
> for
>
ServiceEndpoint[service={http://www.webserviceX.NET}wireTap,endpoint=370
> 0af92-6ef7-4a42-9d61-4d241515f715]
> DEBUG - HttpComponent                  - PortType for
> targetService/targetEndpoint could not be found
>
> It does not appear to have tried to get the wsdl from the provider at
> all now.
>
> Finally the assembly no longer works as it appears the
> <http:soap-provider/> is not using the proxy settings which I have
given
> the servicemix-http component which are required for me to access the
> external service. I'm unsure if the saopaction code is working or not
> because of this.
>
> Thanks,
> Lyall.
>
>
>
> -----Original Message-----
> From: Gert Vanthienen [mailto:gert.vanthienen@skynet.be]
> Sent: Friday, 22 August 2008 3:03 PM
> To: users@servicemix.apache.org
> Subject: [JUNK]Re: Soap action and wsdl forwarding.
>
> Lyall,
>
> If the information can not be retrieved from the WSDL, this usually
> means that there is a mismatch between the service/endpoint name and
the
>
> service/port names in the wsdl.  The two should match for the
> http:endpoint to find what it needs.
>
> For the SOAPAction, could you try replacing your <http:endpoint/> with
> <http:soap-provider/> with a ServiceMix 3.2.3-SNAPSHOT (available at
>
http://people.apache.org/repo/m2-snapshot-repository/org/apache/servicem
> ix/apache-servicemix/3.2.3-SNAPSHOT/).
> I have just yesterday committed a few fixes that might get this issue
> resolved.
>
> Regards,
>
> Gert
>
> Ward, Lyall wrote:
>> Hi,
>>
>> I am attempting to setup what appears to be a very simple web service
>> proxy using servicemix. I'm using servicemix version 3.2.2 standalone
>> (though eventually tomcat integration would be nice) on jvm
> 1.5.0_14_b03
>> on windows vista. The configuration I am attempting to use is using
>> consumer and provider binding component with a wiretap in the middle
>> sending a copy of the message to a metering engine.
>>
>> I have a configuration of these component that works for forwarding
> the
>> soap requests to the external service and causing the metering to be
>> executed. However there are 2 issues I've not been able to solve.
>>
>> I am unable to use the enpoint I created to provide the wsdl file of
> the
>> service, and I am unable to have the soapaction header from the
> original
>> request forwarded to the external service. I have worked around this
>> with a static definition of the soap action, but for services that
>> provide multiple methods this will not work and it is not desireable
> to
>> have a provider binding component for each method.
>>
>> When I deploy the component and also when I attempt to fetch the wsdl
> I
>> can see an http component attempting to access the wsdl (appears that
>> way to me at least) but with no success, the debug is as follows.
>>
>> Is there something in the defintion of the components I am missing? I
>> have a binding component and jsr181 service assembly also and the
wsdl
>> generation and fetching automaticlly works in that case.
>>
>> Thanks in advance,
>> Lyall.
>>
>> ### on startup of the provier
>> DEBUG - HttpComponent                  - Port for service/endpoint
> could
>> not be found
>>
>> ### on request of the wsdl
>> DEBUG - ConsumerProcessor              - Receiving HTTP request: GET
>> /UKLocation/main.wsdl HTTP/1.1
>> Host: mymachine.network.com:8192
>> User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-GB;
> rv:1.8.1.16)
>> Gecko/20080702 Firefox/2.0.0.16
>> Accept:
>>
>
text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plai
>> n;q=0.8,image/png,*/*;q=0.5
>> Accept-Language: en-gb,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
>>
>>
>> DEBUG - HttpComponent                  - Retrieving proxied endpoint
>> definition
>> DEBUG - EIPComponent                   - Querying service description
>> for
>>
>
ServiceEndpoint[service={http://www.webserviceX.NET}wireTap,endpoint=end
>> point]
>> DEBUG - EIPComponent                   - No description found for
>> {http://www.webserviceX.NET}wireTap:endpoint
>> DEBUG - JettyContextManager            - Dispatching job:
>> SCEP@3677890[d=true,io=1,w=true,b=false|false]
>> DEBUG - JettyContextManager            - Dispatching job:
>> SCEP@3677890[d=true,io=1,w=true,b=false|false]
>>
>>
>> ### CONSUMER XBEAN.XML
>> <?xml version="1.0" encoding="UTF-8"?>
>> <beans xmlns:http="http://servicemix.apache.org/http/1.0"
>>        xmlns:ukl="http://www.webserviceX.NET">
>>
>>   <http:endpoint service="ukl:UKLocationIn"
>>                  endpoint="soap"
>>                  targetService="ukl:wireTap"
>>                  targetEndpoint="endpoint"
>>                  locationURI="http://0.0.0.0:8192/UKLocation/"
>>                  defaultMep="http://www.w3.org/2004/08/wsdl/in-out"
>>                  role="consumer"
>>                  soap="true"
>>                  />
>> </beans>
>>
>> ### WIRE TAP XBEAN.XML
>> <?xml version="1.0" encoding="UTF-8"?>
>> <beans xmlns:eip="http://servicemix.apache.org/eip/1.0"
>>        xmlns:ukl="http://www.webserviceX.NET">
>>
>> <eip:wire-tap service="ukl:wireTap" endpoint="endpoint">
>>   <eip:target>
>>     <eip:exchange-target service="ukl:UKLocation" endpoint="Soap"/>
>>   </eip:target>
>>   <eip:inListener>
>>     <eip:exchange-target service="ukl:events" endpoint="endpoint" />
>>   </eip:inListener>
>> </eip:wire-tap>
>>
>> </beans>
>>
>> ### PROVIDER XBEAN.XML
>> <?xml version="1.0" encoding="UTF-8"?>
>> <beans xmlns:http="http://servicemix.apache.org/http/1.0"
>>        xmlns:ukl="http://www.webserviceX.NET">
>>   <http:endpoint service="ukl:UKLocation"
>>             endpoint="Soap"
>>             role="provider"
>>             soapAction="http://www.webserviceX.NET/ValidateUKAddress"
>>             locationURI="http://www.webservicex.com/uklocation.asmx"
>>             defaultMep="http://www.w3.org/2004/08/wsdl/in-out"
>>             soap="true"
>>               soapVersion="1.1"
>>
>> wsdlResource="http://www.webservicex.net/uklocation.asmx?wsdl"
>>               />
>> </beans>
>>
>>
>>
>
>



-- 
Cheers,
Guillaume Nodet
------------------------
Blog: http://gnodet.blogspot.com/