Johan Do you really need the WSDL in this scenario?
If you don't need the WSDL then Synapse does this out-of-the-box. If you need WSDL then we need to think harder about this! :) Paul On Fri, Mar 27, 2009 at 8:59 AM, Johan Eltes <[email protected]> wrote: > 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 > > -- Paul Fremantle Co-Founder and CTO, WSO2 Apache Synapse PMC Chair OASIS WS-RX TC Co-chair blog: http://pzf.fremantle.org [email protected] "Oxygenating the Web Service Platform", www.wso2.com
