[
https://jira.jboss.org/jira/browse/JBESB-2672?page=com.atlassian.jira.plu...
]
David Ward resolved JBESB-2672.
-------------------------------
Resolution: Done
1. Handled namespaces in wsdl processing.
2. Tighter control over SOAPActions.
3. Added deployment requirement of soap.esb to webservice_wsproxy_* quickstarts.
4. Updated readme.txt in webservice_wsproxy_* quickstarts.
5. Added SOAPProxy details to ProgrammersGuide.odt.
$ svn commit
Sending product/docs/ProgrammersGuide.odt
Sending product/samples/quickstarts/webservice_wsproxy_basic/deployment.xml
Sending product/samples/quickstarts/webservice_wsproxy_basic/readme.txt
Sending
product/samples/quickstarts/webservice_wsproxy_basic/src/org/jboss/soa/esb/samples/quickstart/webservice_wsproxy_basic/test/SendWSMessage.java
Sending product/samples/quickstarts/webservice_wsproxy_routed/deployment.xml
Sending product/samples/quickstarts/webservice_wsproxy_routed/readme.txt
Sending product/samples/quickstarts/webservice_wsproxy_versioning/deployment.xml
Sending product/samples/quickstarts/webservice_wsproxy_versioning/readme.txt
Sending
product/services/soap/src/main/java/org/jboss/soa/esb/actions/soap/proxy/SOAPProxy.java
Transmitting file data .........
Committed revision 27602.
Create SOAPProxy action
-----------------------
Key: JBESB-2672
URL:
https://jira.jboss.org/jira/browse/JBESB-2672
Project: JBoss ESB
Issue Type: Feature Request
Security Level: Public(Everyone can see)
Components: Web Services
Affects Versions: 4.5
Reporter: David Ward
Assignee: David Ward
Fix For: 4.6
A WS Proxy primarily focuses on the consumption of an external WS endpoint (e.g. hosted
on .NET, another external Java-based AS, LAMP) and re-publication of a WS endpoint via the
ESB. The ESB sits between the ultimate consumer/client (e.g. .NET WinForm application)
and the ultimate producer (e.g. RoR-hosted WS). The purpose of this intermediary is to
provide an abstraction layer that solves the following problems:
* Provides for more loose coupling between the client & service, they are both
completely unaware of each other
* The client no longer has a direct connection to the remote service's
hostname/IP address
* The client will see modified WSDL that changes the inbound/outbound parameters. At
a minimum, the WSDL must be tweaked so that the client is pointed to the ESB's exposed
endpoint instead of the original, now proxied endpoint.
* A transformation of the SOAP envelope/body can be introduced via the ESB action
chain both for the inbound request and outbound response
* Service versioning is possible since clients can connect to 2 or more proxy
endpoints on the ESB, each with its own WSDL and/or XSDs and the ESB will handle the
transformation & routing requirements to send the appropriate message to the
appropriate endpoint and provide an ultimate response.
* Injection of things like WS-Security
* Complex context-based routing
Current mechanisms of doing this are inappropriate or inadequate:
* SOAPClient is used to invoke external web services, not mirror them
* SOAPProducer only executes internally-deployed JBoss WS services.
* HttpRouter requires too much by-hand configuration
* EBWS strips out the SOAP Envelop and only passes along the body
With a SOAPProxy action:
* it is both a producer and consumer of web services
* all that is required is a property pointing to the external wsdl
* wsdl can be automatically transformed via the optional wsdlTransform property
* multiple transports are automagically detected and handled (only http to be
initially implemented, however, but jms in future?)
* if using http, any of the HttpRouter properties can also optionally be applied to
as overrides
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira