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
