Thanks Guillaume, I think I understand now. I will try it out and let you know if I actually understood :-)
-----Original Message----- From: Guillaume Nodet [mailto:[EMAIL PROTECTED] Sent: 07 August 2006 17:24 To: [email protected] Subject: Re: Servicemix-http configuring soapAction and locationURI dynamically I was talking mainly about endpoint resolution. You should write a custom component which would be used as the target for your jbi exchanges (instead of the http provider endpoint). This component would use endpoint resolution as shown in the code snippet: DocumentFragment epr = URIResolver.createWSAEPR("http://host/path?http.soapAction=myAction"); ServiceEndpoint se = getContext().resolveEndpointReference(epr); exchange.setEndpoint(se); send(exchange); Then, you can create the URI the way you want by extracting these informations from the incoming exchange and give it to the createWSAEPR call. The component would just forward the incoming exchange to the dynamic endpoint. As this is the role of the EIP ContentBasedRouter, I have just refactored it in an abstract class so it should be easier to extend. You could define you own EIP router: <eip:component> <eip:endpoints> <bean class="com.my.company.MyRouter" /> </eip:endpoints> </eip:component> And have public class MyRouter extends AbstractContentBasedRouter { protected ExchangeTarget getDestination(MessageExchange exchange) throws Exception { String locationUri = xxx; String soapAction = xxx; ExchangeTarget target = new ExchangeTarget(); target.setUri(locationUri + "?soapAction=" + soapAction); return target; } } Does it make more sense ? On 8/7/06, Sufyan Arif <[EMAIL PROTECTED]> wrote: > > Ok thanks I can try using that approach but it's not very clear how I do > that. > > So let me get this clear on the provider I set something like > > locationURI="interface:http://somenamespace/MyInterface" > > > Do I then have to write an implementation of MyInterface and deploy it > as a servicemix component? Does the interface need to implement a > specific callback method? > > > Thanks > > > Sufyan > > > -----Original Message----- > From: Guillaume Nodet [mailto:[EMAIL PROTECTED] > Sent: 07 August 2006 16:35 > To: [email protected] > Subject: Re: Servicemix-http configuring soapAction and locationURI > dynamically > > Mmm, the soapAction could be easily done, but the locationURI would > conflict > with the consumer endpoint. We would need to first split the consumer > endpoints > and provider endpoints, but this is not planned for the next release. > > Have you tried using URIs / dynamic endpoint resolution instead ? > See http://servicemix.goopen.org/site/uris.html > > On 8/7/06, Sufyan Arif <[EMAIL PROTECTED]> wrote: > > > > Hi, > > > > > > > > Is it possible to configure the Provider endpoint soapAction and > > locationURI using Xpath expressions? > > > > > > > > What I want to do is to define the end point once in servicemix.xml > and > > then examine the normalised message using xpath to obtain the > > locationURI and pass this to the Provider. > > > > > > > > Thanks > > > > > > > > > > > > Sufyan > > > > > > This transmission is confidential and intended solely for the person > or > > organisation to whom it is addressed. It may contain privileged and > > confidential information. If you are not the intended recipient, you > should > > not copy, distribute or take any action in reliance on it. If you have > > received this transmission in error, please notify the sender > immediately. > > Any opinions or advice contained in this e-mail are those of the > individual > > sender except where they are stated to be the views of RDF Group plc. > All > > messages passing through this gateway are virus scanned. > > > > > > > > > -- > Cheers, > Guillaume Nodet > -- Cheers, Guillaume Nodet
