Is the conclusion that I will have to create a full configuration for every WSDL I need to virtualize? All my virtual services are virtualized based on a single set of rules / conventions and registry metadata, so I'm looking for a way to create ONE gateway (synapse deployment) that will not need to change until the rules / conventions changes. Virtualization of a new WSDL should be a registry activity only ("systematic virtualization").

If a mediator fetches the wsdl, is there still "time" for applying security policies to the incomming message or is there a "bootstrapping" problem?

/Johan

On 27 mar 2009 v13, at 09.43, Ruwan Linton wrote:

Hi Johan,

To me this is a message mediation scenario, where you want to respond to the
client by looking at the To address of the message coming in. I am not
saying this is not possible.... but this will require an extension to
synapse.

So basically you have to have a mediator to fetch the WSDL from the registry and insert the correct addresses to the WSDL. Rest of the scenario can be
configured using a CBR in the synapse configuration.

Thanks,
Ruwan

On Fri, Mar 27, 2009 at 5:02 AM, Johan Eltes <
[email protected]> wrote:

I would like to create a proxy service that handles any service request as long as a WSDL can be dynamically associated with the request. The WS-Policy attachments of the WSDL mapped to a request should be applied dynamically. It is a bit like the DRY principle implemented by metaprogramming in Grails,
RobyOnRails etc. The following conventions would drive the behavior:

wsdl GET request:
-------------------------
http://my.synapse.host/<urn of Service>/?wsdl

Synapse would look-up the wsdl from a registry based on the value of <urn of Service> (e.g. urn:se:test:stock-quote:v1), replace the soap address and
then return the wsdl.

SOAP request
-------------------
When the soap request arrives at http://my.synapse.host/<urn of Service>, Synapse would dynamically look up the wsdl using <urn of Service> as key (see above) so that the policies defined by the wsdl could be applied.

A metadata-driven mediation would use the soap Action (or wsa:action) + the value of a customer soap header element as input to a custom registry, which would yield the To-address for the outbound soap request. The outbound soap
processing would fetch the WSDL from the To-adress using the ?wsdl
convention. The WS-Policy attachments of the target service WSDL would be
applied.

The purpose of this scenario is to have a generic Synapse virtual endpoint that can process any soap request on behalf of any service, as long as a
wsdl is mapped to the last path element of the request URL and some
predefined conventions for metadata is applied.

Is this possible in Synapse? Any pointers to significant capabilities are
appreciated.

Thanks,

Johan





--
Ruwan Linton
Senior Software Engineer & Product Manager; WSO2 ESB; http://wso2.org/esb
WSO2 Inc.; http://wso2.org
email: [email protected]; cell: +94 77 341 3097
blog: http://ruwansblog.blogspot.com

Reply via email to