Sunday, 30 November 2014

Create Cutom FromAddress Drivers in SOA 11g

In Most of the Outbound Email Notification scenarios we Configure the Default FromAddress Account which we set it up in EM Console-> Workflow Properties. but in some scenarios we would need different FromAddress Email Accounts to be used in addition to the Default ones like Do not Reply EmailIds etc.

We had a scenario in our project where we had the configured Default From address used by many other projects but we required a new From Address for ours.Hence we created new FromAddress Email Account by following these steps:

1. Login to EM Console and select SOA -> soa-infra(Right Click) -> SOA Administration -> Workflow Properties.
2. Click on: More Workflow Notification Configuration Properties
3. System MBean Browser is shown with human-workflow selected.
4. Under Application Defined MBeans: HWFMailerConfig:human-workflow, select the Operations tab and click on setASNSDriver.
Please enter the following:

propertyName : EmailFromAddress
propertyValue : <From Email Address>
driverName : <Any Driver/Account Name required>

Click on Invoke and then Return.

5. Click on Attributes tab. For ASNSDrivers you should be able to see the following values:Default and the new Driver Name.
6. Login to Oracle WebLogic Server Administration Console.Click on Deployments in LHS, Select the check box for usermessagingdriver-email and click on update and click Finish in the next screen.

This Newly created FromAddress Account can be used in Notification service or Human workflow Notifications.

Saturday, 27 April 2013

How to migrate SOA and AIA Projects from 10g to 11g



Once all the initial Server Setups are completed Migrate the 10g Projects to 11g. First install the latest 11g Jdev compatible with SOA Suite Server Installed.(Steps provided in previous blog)


·         Update JDev with latest SOA
SOA design time in JDeveloper requires a JDeveloper extension called SOA Composite
Editor. While this is normally updated over the network when using release level software,
you can perform the update manually if you have the extension file.


Start Jdeveloper
Select Help/Check For Updates, Click Next
Select Install from Local File, Browse to <From your download location>\soa-jdev-extension.zip
Click Open, click Next

·         BPEL Projects have to be migrated in order of dependency.
·         Open BPEL Projects in Jdev10g and modify PartnerLink endpoints to refer 11g soa server and to the Project WSDL’s already deployed in 11g.
·         In 10g Release 3 (10.1.3) application upgrading includes a project where all the project artifacts are in one folder and the BPEL artifacts are not separated into their own folder in the project, then the Oracle JDeveloper Migration Wizard will not be able to upgrade those artifacts. To avoid Create a BPEL folder and move all the artifacts (except the build.xml and build.properties files) into that folder.
·         Save and open the project in 11g Jdeveloper. Migration wizard appears. Navigate through this wizard and if any error occurs refer logs.



·         ESB Projects have to be migrated in order of dependency.
·         Open ESB Projects in Jdev10g and modify PartnerLink endpoints to refer 11g soa server and to the Project WSDL’s already deployed in 11g.
·         In case of ESB Projects if the routing rule does not have a SOAP Service as target manually add one.
·         Ensure that “Invocable from external webservice” is selected for all ESB Routing services.
·         Save the Project in Jdev 10g.
·         Open all .esbsvc files in text editor.
o   Delete all Parent lines which begin with the tag <parent>.
o   Change the qname references to remove system and service group names retaining only the Project name.
·         Open the project in 11g Jdeveloper.Migration wizard appears. Navigate through this wizard and if any error occurs refer logs. The ESB projects will be migrated as Mediators within the SCA composite.


There is a command line upgrade tool in 11g which upgrades both Oracle BPEL Process Manager projects, and upgrades Oracle Enterprise Service Bus 10g projects to Oracle Mediator 11g.

With the command-line tool, can merge BPEL projects together and create a single composite out of multiple BPEL projects. This is not possible with the Oracle JDeveloper Migration Wizard.

The functionality is exactly the same as the JDeveloper mode when it comes to dealing with SOA project contents because the same codebase is used.



Once all the BPEL projects are migrated some Post migration steps have to be performed before testing.


  1. Composite.xml changes: Custom Properties in bpel.xml of 10g to be migrated to composite.xml in 11g manually. Ex:
<property name="jca.retry.count" type="xs:int" many="false” override="may">60</property>
  1. DVM Changes: Open files which has DVM Lookup and modify the DVM function name and location manually. Ex:
10g Function: orcl:lookup-dvm ("Currency", "A", "B", "C", "D")
11g Function: dvm:lookupValue ("oramds:/apps/CustomMetaData/dvm/Currency.dvm", "A", "B", "C", "D").
  1. Schema Imports: Every schema import should be manually modified to use ORAMDS references instead of HTTP references. Ex:
10g Import: <schema import="http://host:port/CustomMetaData/xsd/abc.xsd">
11g Import: <schema import="oramds:/apps/CustomMetaData/xsd/abc.xsd">
  1. Fault Policy and Binding: Manually reference the fault policy and fault binding in composite.xml. There is no concept of global fault policy in 11g.
    1. Edit Composite.xml
    2. Add the following immediately below the </service> tag to refer the fault policy:
<property name="oracle.composite.faultPolicyFile">
oramds:/apps/CustomMetaData/faultPolicies/fault-policy.xml
</property>
<property name="oracle.composite.faultBindingFile">
oramds:/apps/CustomMetaData/faultPolicies/fault-bindings.xml
</property>
  1. DB Adapter Migration: 1.Using the database adapter if the connection to the database does not exist then create a new connection to database in 11g Jdeveloper and configure the adapter to point to the new database connection.
  2. Java Embedding: Jar files imported to the Project class path need to be referred from 11g installation directory.
  3. File/FTP Adapter: In SOA Suite 11g, adapter header variables are now properties that have to be set on the Properties tab of the Invoke dialog box in Oracle JDeveloper.
  4. Async Error Handling BPEL Process: If the BPEL Processes are using the AIA Async Error Handling BPEL Process, modify the partner link urls to refer to the SOA 11g server.


Once all the ESB projects are migrated as Mediators in 11g some Post migration steps have to be performed before testing.

  1. DVM Changes: Open files which has DVM Lookup and modify the DVM function name and location manually. Ex:
10g Function: orcl:lookup-dvm ("Currency", "A", "B", "C", "D")
11g Function: dvm:lookupValue ("oramds:/apps/CustomMetaData/dvm/Currency.dvm", "A", "B", "C", "D").
  1. Schema Imports: Every schema import should be manually modified to use ORAMDS references instead of HTTP references. Ex:
10g Import: <schema import="http://host:port/CustomMetaData/xsd/abc.xsd">
11g Import: <schema import="oramds:/apps/CustomMetaData/xsd/abc.xsd">
  1. Mediator Filter Expressions: Review the Mediator filter expressions as the migration wizard does not migrate these expressions accurately. Check if all the operators and Special characters are present in the expression.
  2. Xpath Header Functions: ESB XPath header functions are made obsolete in 11g and replaced with alternate Mediator XPath functions.Ex: ehdr:setOutboundHeader is changed to mhdr:setproperty. Hence make these changes and test these header functions.



Once all the initial setup and migrations are done test the flow to verify successful Migration.



·         BPEL process instances that are in 10g of any state (including completed/faulted/stale) cannot be migrated to 11g.
·         Many artifacts have to be manually moved from 10g repository to 11g MDS, if any of the artifacts are missed the Execution Fails.
·         In Oracle 11g OWSM, policies has to be attached to the webservice endpoints.10g Policies cannot be used.