I think Lyall was thinking about setting the parameters of a standard HTTP proxy. CXF support those as indicated on http://cwiki.apache.org/CXF20DOC/client-http-transport.html. I'm just not sure how to apply those parameters to a CXF endpoint.
On Fri, Sep 5, 2008 at 9:59 AM, Freeman Fang <[EMAIL PROTECTED]> wrote: > Hi Lyall, > > I think you can use cxf bc as proxy with smx 3.2.2 release. > Please take a look at similar discussion thread[1] > > [1]http://cwiki.apache.org/SM/discussion-forums.html#nabble-td18571235%7Ca18583906 > > Regards > Freeman > > Ward, Lyall wrote: >> >> So just so I am clear what I need to do I need to use version a snapshot >> version of 3.3, 3.2.2 and 3.2.3 will not have the support I need? >> If I use the cxf am I able to use the older 3.2.2? Does it have proxy >> support? >> >> Thanks, >> Lyall. >> -----Original Message----- >> From: Guillaume Nodet [mailto:[EMAIL PROTECTED] Sent: Friday, 5 September >> 2008 5:41 PM >> To: [email protected] >> Subject: [JUNK]Re: [JUNK]Re: Soap action and wsdl forwarding. >> >> Soap action forwarding should work with a pair of CXF consumer / >> provider or a pair of HTTP endpoint using <http:soap-consumer/> and >> <http:soap-provider />. >> Both will require the WSDL to be set on the consumer and provider, but >> you can deploy those in a single service unit. Proxy support has >> been added recently on the <http:soap-provider/> endpoint so if you >> want to use those, I'd suggest you use a snapshot version of >> servicemix-http. >> >> Soap actions for the <http:endpoint/> only work by hard setting the >> soap action, so as you said, it won't work for multiple web methods. >> >> On Fri, Sep 5, 2008 at 8:40 AM, Ward, Lyall <[EMAIL PROTECTED]> wrote: >> >>> >>> Hi again, I'm still having some trouble. >>> >>> It seems I either have the choice of proxy support (from 3.3-SNAPSHOT) >>> or the promised (but untested) ability to have soapActions forwarded >>> through to the external service. Is there anyway I can have both? >>> >> >> Proxy >> >>> >>> support for the servicemix-http (via jmx consolse configuration) is >>> available in 3.2.2 why is it no available in 3.2.3? >>> >>> Also I have been able to find a method of storing then providing the >>> wsdl from the conusmer. I have found two versions that work, both >>> storing a modified wsdl file as a resource in the consumer >>> <http:endpoint/> and using the wsdResource property. The wsdl I have >>> stored here has to be modified and the modifications need to be >>> >> >> either: >> >>> >>> - Remove all services and bindings. Also remove all porttypes aside >>> >> >> from >> >>> >>> the soap porttype. >>> - Remove all services aside from the soap one and set its >>> service/portname to match the service/endpoint. >>> >>> When I do either of these I am able to add ?wsdl to the endpoint url >>> >> >> and >> >>> >>> fetch a wsdl file. However in both cases the bindings are lost, losing >>> the soapAction information along with other parts of the binding >>> information. Even if I leave the binding in the file servicemix >>> >> >> appears >> >>> >>> to remove it and replace it with a very minimal one that is not able >>> >> >> to >> >>> >>> be used for my requirements. >>> >>> Is there a way to prevent this modificaiton? >>> >>> Thanks for your help so far, >>> Cheers, >>> Lyall. >>> >>> -----Original Message----- >>> From: Guillaume Nodet [mailto:[EMAIL PROTECTED] >>> Sent: Tuesday, 26 August 2008 5:53 PM >>> To: [email protected] >>> 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 <[EMAIL PROTECTED]> >>> >> >> 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:[EMAIL PROTECTED] >>>> Sent: Friday, 22 August 2008 3:03 PM >>>> To: [email protected] >>>> 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: >>>>> [EMAIL PROTECTED],io=1,w=true,b=false|false] >>>>> DEBUG - JettyContextManager - Dispatching job: >>>>> [EMAIL PROTECTED],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/ >>> >>> >> >> >> >> > > -- Cheers, Guillaume Nodet ------------------------ Blog: http://gnodet.blogspot.com/
