Saturday, October 12, 2013

Token Replacement in SOA 11g

Since 11.1.1.7, along with what has been previously available (http://chintanblog.blogspot.com/2012/10/configurable-settings-and-endpoint.html) e.g. DVM, DB Lookup, AIA Config, Preference, Config Plan and Dynamic Partnerlink Lookup, Token replacement has been added and it claim to to solve similar problem.

How to use it

Define the Tokens in Enterprise Manager
As shown below, you can create tokens in EM console. Defined tokens gets stored in $DOMAIN_HOME/config/fmwconfig/mdm-url-resolver.xml file, unless you overwrite via -Doracle.soa.url.resolver.properties.file.




Once, it is done, you can use than in binding section of the composite.xml file, as shown below. Token will get replaced at run time.


It looks great at first glance, but from my opinion it is one more failed attempt to solve one very fundamental problem. Here are the issues I see:
  • Requires server restart for change in value of Token
  • Only works in composite.xml - binding sections
    • Even in Binding section, it won't work for endpointURI as below

    • Therefore, it won't work for preference replacement (e.g. below)

    • It won't work if you have live WSDL stored in MDS. It is quite common to have both ui:wsdlLocation and binding.ws location, both as MDS location. However, if you use token inside MDS wsdl, this will not work 


No comments: