Monday, October 24, 2011

Oracle SOA Suite 10g to 11g Migration - Web service Invocation issue,Invalid URI "urn:#NewOperation"

Oracle SOA Suite 10g to 11g Migration  - Web service Invocation issue,Invalid URI "urn:#NewOperation":

The web service invocation has failed after migrating the web services to 11g with the following error
Caused By: oracle.j2ee.ws.common.addressing.api.AddressingException: Invalid URI "urn:#NewOperation" in Addressing element Action.
But the same web service was working properly in 10g.
To overcome this we have changed the soapaction "urn:#NewOperation" to empty string in web service WSDL manually and it resolved the issue.
10g:-


11g:-





Oracle SOA Suite 10g to 11g Migration - Instance Title for Composites and Components


Oracle SOA Suite 10g to 11g Migration -  Instance Title for Composites and Components:

Composite instance title:-

ora:setCompositeInstanceTitle() method can be used to set the composite instance title.
The composite instance title can be used to search the composite instances from em console but the wildcard search is not applicable on this field.
– There is no method provided to get the composite instance tile
We are only having the option to set the composite instance title using setCompositeInstanceTitle() method but no option to get the title.

BPEL Component instance Title:-

As like 10g we can use the setTitle() method to set the BPEL component title and getTitle() method to get the instance title.
BPEL Component instance Title can’t be used in em console to search the instances.


Saturday, October 22, 2011

Oracle SOA Suite 10g to 11g Migration - Part3 - Things to consider post migration of the code.

Oracle SOA Suite 10g to 11g Migration - Part3  - Things to consider post migration of the code:

We have to consider the below points post migration of the code.

ValidateXML property:


During the migration,the property validateXML did not migrated by default to SOA 11g.The property needs to be added manually to the required partner links .

The below steps need to be followed to add the validateXML property(Enable the schema validation).

1.Open the .bpel file corresponding to the Composites that require the schema validation.

2. Double click the partnerlink that requires the schema validation for the request payload and select the property tab .

3.Add the validateXML property with the value true.


The added property will be available in the Composite.xml file as shown below.




DVM Issues:


1. Duplicate Rows:

In 10g, if the value in the source column is duplicated then the lookup function will return the last row for that key but in 11g the lookup will fail with the exception.



If we are looking for the value corresponding to the column “SiebelValue” by passing the “EAIVAlue” as “New”, in 10g the lookup function will return the result as “Awaiting Approval” but in 11g exception will be thrown for duplicate values.
To resolve this issue remove the duplicate rows from the DVM.

2. Invalid Column:

In 10g, if we are looking for a DVM column value that is not available in the DVM the lookup function will return the default value specified in the lookup function but in 11g the exception will be thrown for invalid column.



If the column “CANONICAL” is not available in DVM, in 10g the lookup function will return the default value (empty string) specified in the function but in 11g the exception will be thrown from the lookup function.
To resolve this issue make sure the columns specified in the lookup functions are valid.


Oracle SOA Suite 10g to 11g Migration - Part2 - Resolving the deployment issues with the migrated composites.

Oracle SOA Suite 10g to 11g Migration - Part2 - Resolving the deployment issues with the migrated composites:

The below are the some of the issues we have faced during the deployment of the migrated code with the solution what we have provided to resolve the issue.

Base64 encoding/decoding class issue

BPEL compilation might fail if we have used com.collaxa.common.util.Base64Decoder/Base64Encoder classes in 10g.The import of com.collaxa.common.util.Base64Decoder/Base64Encoder class should be changed to oracle.soa.common.util.Base64Decoder/Base64Encoder

Recursive Import issue

The deployment of the migrated composite might fail if the composite invokes the partner WSDL that is having the duplicate import of same WSDL with the following error “WSDL contains recursive import loop”.




To overcome this one of the import should be commented or removed.

RuntimeFault.wsdl and ws-addressing.xsd cannot found

The http://xxxxx:xxxx/orabpel/xmllib/RuntimeFault.wsdl and
http://xxxxx:xxxx/orabpel/xmllib/ws-addressing.xsd could not be found after migration.
In 11g these files are moved to MDS .change the location manually to the following MDS location in the code oramds:/soa/shared/bpel/RuntimeFault.wsdl and oramds:/soa/shared/common/ ws-addressing.xsd






Oracle SOA Suite 10g to 11g Migration - Part1 - Things to consider before starting the migration of the code.


Oracle SOA Suite 10g to 11g Migration - Part1 - Things to consider before starting the migration of the code:

We have to consider the below points before starting the migration of the code.

Move all the Common artifacts (XSD, WSDL, DVM and XREF) to MDS:

Before starting the code migrations move all the common artifacts to MDS with the folder structure that requires for the project.

Partner link Location in bpel.xml:

If the Runtime WSDL’s are used for partner link invocation in 10g,make sure all the partner link URL’s(host name and port) in bpel.xml are reachable else change with reachable endpoints by using ant script or manually.

Common XSD and WSDL References:

Make sure the common XSD’s and WSDL files referred in the 10g projects are reachable else change the location of the URL (host name and port) with reachable by using ant script or manually.

The below sample Ant script can be used to change the host name and port in XSD, WSDL and XML files.

<?xml version="1.0" encoding="iso-8859-1"?>
<project name="HostnameReplace">
<replace dir="${basedir}" token="eaidev1:7777" value="${hostname}:${http.port}">
<include name="**/*.xsd"/>
<include name="**/*.wsdl"/>
<include name="**/*.xml"/>
</replace>

<replace dir="${basedir}" token="10.15.35.22:8888" value="${hostname}:${http.port}">
<include name="**/*.xsd"/>
<include name="**/*.wsdl"/>
<include name="**/*.xml"/>
</replace>
</project>

BPEL preferences:

SOA 11g does not accept spaces in preference name and the migration might fail with the following error preference.BPEL Process Name' does not match pattern for xs:NCName,if 10g has the preference name with empty spaces in between , so that they should be trimmed for empty spaces in bpel.xml and *.bpel.


Space in Schema Name:

The migration might fail if the 10g schema has a space in the name, the space should be trimmed in the name and also the places wherever the schema name has reference.