Friday, March 20, 2009

Problems faced during 10.1.3.4 SOA Suite Upgrade

Problem #1: Oracle BPEL Console does not show the contents of default domain.

Debug:
Observe the debug logs in %ORACLE_HOME%\opmn\logs\default_group~home~default_group~1.log

And the application logs located in 
%ORACLE_HOME%\j2ee\home\application-deployments\orabpel\home_default_group_1\application.log

Observation:
The following problem was observed:
Incorrect db schema version.
The database schema version "2.0.4" from the database does not match the version "10.1.3.4.0" expected by the server.
The database schema currently in place has probably been configured for a previous release; please re-install the database schema and try to start the server again.

Solution:
This means that the database schema was not upgraded to match the newer 10.1.3.4 version.

Execute the following scripts from your Installer directory
%SHIPHOME%\ias_windows_x86_101340\Disk1\install\soa_schema_upgrade\bpel\scripts
msql system/manager@jdbc:polite4@localhost:1531:orabpel @upgrade_10131_10134_olite.sql

%SHIPHOME%\ias_windows_x86_101340\Disk1\install\soa_schema_upgrade\esb\sql\other
msql system/any@jdbc:polite4@localhost:1531:oraesb @upgrade_10131_10134_olite.sql


Problem #2: Oracle Jdeveloper does not allow to deploy the Project, as it could not retrieve domain details.

Debugging:
Log on to enterprise manager console @ http://ics05-swapnils:8888/em/
Now go to Home > Applications, Inside applications, 
Expand All Applications > default > Middleware Services > BPEL > orabpel
 


Check the status of “deploy Service”.

Observation:
The service is STOPPED.

Solution:
Start the service and your JDeveloper should now be able to retrieve Domains, using right click on Project Name. 



Wednesday, March 4, 2009

WSIF Bindings

How to create a WSIF WSDL?

Add these two schema to your definitions tag
xmlns:format="http://schemas.xmlsoap.org/wsdl/formatbinding/"
xmlns:java="http://schemas.xmlsoap.org/wsdl/java/"


The format namespace adds support for mapping Java types to XML schema.
The java namespace allows mapping WSDL operation to Java methods.

Specify binding Information
<binding name="JavaBinding" type="tns:TestService">
<java:binding/>


Binding name specifies the name which would be reffered from service tag.
Binding type specifies the portType, specified in WSDL
The java:binding tag identifies that this is bound to Java code rather than a SOAP service.

This binding would encompass, formatting information, i.e. which XML tag is to be mapped to what Java DataType

<format:typeMapping encoding="Java" style="Java">

The format:typeMapping tag tells us that we will be mapping XML Schema types onto Java types.

<format:typeMap typeName="xsd:string" formatType="java.lang.String" />

The format:typeMap tag explains what Java type is to be used for each XML schema type in the interface.

The Service Tag refers to binding tag for mapping information.
The Java:address tag specifies fully qualified classname which contains implementations of operations specified inside binding tag.

<service name="TaskServiceService">
<port name="TaskServicePort" binding="tns:TaskServiceWSIFBinding">
<java:address className="oracle.bpel.services.workflow.task.impl.TaskServiceWSIF"/>
</port>
</service>