Tuesday, March 25, 2014

Upgrading to Oracle SOA Suite 11g PS6 (11.1.1.7)? Do this.

Do you need to make any code changes after applying the Oracle SOA Suite 11g PS6 (11.1.1.7) patchset?

Yes, this upgrade requires a few code modifications. So search for the following terms in your code to see if you are affected:
  • setProperty
  • out.header.wsse_Security

Issue 1: setProperty function requires strings now

If you are using the setProperty function, you need to force the variable to be a string.

After the 11.1.1.7 patchset, this no longer works:
select='mhdr:setProperty("out.property.replyToAddress",$ReplyToAddress)'
Instead, force the variable into a string, in this example $ReplyToAddress:
select='mhdr:setProperty("out.property.replyToAddress",string($ReplyToAddress))'/>

Issue 2: Using out.header in an XSL transform may not work

After the 11.1.1.7 patchset, you can no longer set the outbound security header in an XSL transformation as follows:
select="mhdr:setProperty('out.header.wsse_Security/wsse:Security/wsse:UsernameToken/wsse:Username', $Username)"/>

Move the logic into the Mediator .mplan file instead:
<assign> 
  <copy target="$out.property.endpointURI" value="$in.property.endpointURI"/> 
  <copy target="$out.header.a_ReplyTo/a:ReplyTo/a:Address" value="$in.property.wsa.replyToAddress"/> 
  <copy target="$out.property.replyToAddress" value="$in.property.wsa.replyToAddress"/> 
</assign>

Applicable Versions:
  • Oracle SOA Suite 11g (11.1.1.7)

No comments: