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/

Reply via email to