I have a project where I am using Mediator to intercept SOAP documents (for various reasons) before sending them on their way via the SagHTTPGateway. I’d like to have a single sequence for this purpose and I’ve already figured out that I can set the xbd.http.request.SOAPAction from the xbd.gatewayservlet.request.soapaction on the incoming request.
This is working fine for a single service with a fixed connection endpoint. What I’d like is a way to set the xbd.http.target.url property dynamically based on a substring of the soapaction property (namely, from the domain). Then the sequence could be used with multiple services.
Can I do this easily using something like an “If” statement, or do I have to resort to an entire Emerger model? Can we use regular expressions in the value of an “If” statement?
Regards,
Ned
Remember to never burn bridges. Unless you drive a Hummer!
Hi Ned,
In Mediator 7.2, you would need to use the emerger to perform these types of operations.
In version 7.3.1 (scheduled for availability in mid March) you will be able to set properties directly from any xpath expression, without the need to invoke the emerger. The expressions can use any xpath function (e.g. substring, concat), logical operations, and can include data from the paylaod document and from other message properties.
Best regards,
Mike