What du you mean bu stub, more specifically? The client-side output from jaxws wsdl-compilation? We don't want to impose a specific programming model to clients. We need to to support typical jax-ws- clients that will request wsdl using the ?wsdl convention. But my main concern (I think) is the ability of Synapse to dynamically apply WSDL- defined WS-Policy sets to incomming requests based on metadata from the request. In our case, the key for the wsdl of the virtual service is the namespace of the root element of the inbound soap request. The same value is also available as soapAction in the http request. This value + a logical target (organization) that is carried by a custom soap header element is the compound key that allows a generic routing class to resolve the soap address of the ultimate endpoint (which will support the same payload, but may have a different policy set, different soap version etc).

/Johan

On 27 mar 2009 v13, at 17.17, Paul Fremantle wrote:

Is it needed at runtime by the client? Usually you can compile all the
information into the stub.

Paul

On Fri, Mar 27, 2009 at 11:36 AM, Johan Eltes
<[email protected]> wrote:
I need the gateway to respond to http://my.synapse.host/<urn of
Service>/?wsdl since this is required by a typical JAX-WS client.

/Johan

On 27 mar 2009 v13, at 12.20, Paul Fremantle wrote:

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





--
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

Reply via email to