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