In your configuration, the HTTP consumer will try to read the WSDL exposed by the EIP wiretap. For this endpoint to expose a WSDL, you need to set either its wsdlResource or wsdlExchangeTarget properties so that it can expose a WSDL.
On Mon, Sep 1, 2008 at 4:30 AM, Ward, Lyall <[EMAIL PROTECTED]> wrote: > Gert, > > I have continued to try and find a solution to these problems. > Attempting to solve the wsdl issue first. It appears the > <http:endpoint/> provider is finding the service/endpoint in the wsdl, > but the wsdl is still not returned through as it appears the problem is > the wiretap and consumer components do not have the matching > service/enpoint pairs. However my requirements allow me to have a single > provider, but not a single consumer/wiretap so this is not workable, > also with the 3 components attempting to be the same service/endpoint > servicemix will not successfully deploy the the components. > > How should I be naming these components in order to have the wsdl able > to be fetched from the consumer? > > Thanks, > Lyall. > > This is what I am attempting to do showing the service/endpoint values > for the components. > > All xbean files have this entry on their beans tag > xmlns:svcns='http://www.webserviceX.NET' > > <http:endpoint service='svcns:ValidateUKAddress' > endpoint='3700af92-6ef7-4a42-9d61-4d241515f715' role='consumer' .../> > | > <eip:wire-tap service='svcns:wireTap' > endpoint='3700af92-6ef7-4a42-9d61-4d241515f715'> > | > <http:endpoint service='svcns:UKLocation' endpoint='UKLocationSoap' > role='provider' .../> > | > External service with following wsdl > http://www.webservicex.com/uklocation.asmx?WSDL > > When attempting to fetch the wsdl file through the consumer I see the > following in the debug trace > > ##################### START 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 > Cache-Control: max-age=0 > > > 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 > ###################### END DEBUG > > > -----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/
