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>
>
>
>   

Reply via email to