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