Bug 813138 - SOAPProxy doesn't rewrite SOAP1.2 service port address location in WSDL
SOAPProxy doesn't rewrite SOAP1.2 service port address location in WSDL
Status: NEW
Product: JBoss Enterprise SOA Platform 5
Classification: JBoss
Component: JBossESB (Show other bugs)
5.2.0 GA
Unspecified Unspecified
medium Severity high
: ---
: ---
Assigned To: kconner
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2012-04-16 23:45 EDT by Tadayoshi Sato
Modified: 2012-10-25 21:29 EDT (History)
5 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Normally, the SOAPProxy will change the service port addresses in WSDL (which are provided by a target Web service endpoint) from the default settings to the ESB's URL. However, if the target is a SOAP 1.2 service, the SOAPProxy fails to rewrite its SOAP 1.2 address location and the default URL remains in the WSDL instead. To work around this issue, use the SOAPProxy action's wsdlTransform property (found in the jboss-esb.xml file) to supplement the missing transformer for SOAP 1.2. See the bug ticket for a code sample.
Story Points: ---
Clone Of:
Environment:
Last Closed:
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)


External Trackers
Tracker ID Priority Status Summary Last Updated
JBoss Issue Tracker JBESB-3783 Major Open SOAPProxy doesn't rewrite SOAP1.2 service port address location in WSDL 2013-07-11 23:26:32 EDT

  None (edit)
Description Tadayoshi Sato 2012-04-16 23:45:49 EDT
Description of problem:
Platform BZ for https://issues.jboss.org/browse/JBESB-3783

SOAPProxy should rewrite the service port addresses in WSDL provided by a target Web service endpoint from the original URL to ESB's URL. But if the target is a SOAP 1.2 service, SOAPProxy fails to rewrite its SOAP 1.2 address location and the original URL remains to be presented in the WSDL provided by ESB like below:

WSDL published by ESB
<definitions ... xmlns:soap12='http://schemas.xmlsoap.org/wsdl/soap12/'>
  ...
  <service name='GoodbyeWorldWSService'>
    <port binding='tns:GoodbyeWorldWSBinding' name='GoodbyeWorldWSPort'>
      <soap12:address location='http://www.acme.com/original/address'/> <!-- original Web service address, not ESB's -->
    </port>
  </service>
</definitions>

Additional info:
(Workaround)
SOAPProxy utilises Smooks internally to rewrite WSDL. So use wsdlTransform property of SOAPProxy action in jboss-esb.xml to supplement the missing transformer for SOAP 1.2.

jboss-esb.xml
...
  <action name="soapProxy" class="org.jboss.soa.esb.actions.soap.proxy.SOAPProxy">
    <property name="wsdl" value="http://www.acme.com/original/address?wsdl" />
    <property name="wsdlTransform" value="/soap12-port-transformer.xml" />
  </action>
...

soap12-port-transformer.xml
<?xml version="1.0" encoding="UTF-8"?>
<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.1.xsd">
  <resource-config selector="port address" selector-namespace="http://schemas.xmlsoap.org/wsdl/soap12/">
    <resource>org.jboss.soa.esb.actions.soap.WsdlEndpointTransformer</resource>
  </resource-config>
</smooks-resource-list>
Comment 2 Rick Wagner 2012-05-11 09:52:42 EDT
GSS considers this 'medium'.  The case included on this ticket is now closed, but there is another customer watching the issue.  Could we please examine this for SOA-P 5.3?
Comment 3 David Le Sage 2012-06-12 01:46:31 EDT
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
Normally, the  SOAPProxy will change the service port addresses in WSDL (which are provided by a target Web service endpoint) from the default settings to the ESB's URL.  However, if the target is a SOAP 1.2 service, the SOAPProxy fails to rewrite its SOAP 1.2 address location and the default  URL remains in the WSDL instead.

To work around this issue, use the SOAPProxy action's wsdlTransform property (found in the jboss-esb.xml file) to supplement the missing transformer for SOAP 1.2. See the bug ticket for a code sample.
Comment 4 JBoss JIRA Server 2012-09-12 14:31:49 EDT
Max Hoo <giulianodb@gmail.com> made a comment on jira JBESB-3783

How can I add this patch in the jbossesb?
Comment 5 JBoss JIRA Server 2012-09-17 11:17:55 EDT
Hitesh Patel <sunil_patel@yahoo.com> made a comment on jira JBESB-3783

If the action class is extended from SOAPProxy, this workaround does not work.

Note You need to log in before you can comment on or make changes to this bug.