Monday, August 13, 2012

Abstract WSDL vs Concrete WSDL




Issue:

Composites are in Inactive state after the server restart

Root Cause:

Concrete WSDLs are used in the place of abstract wsdl.

Solution:


<reference name="SyncWorkerEBIZProvABCSImpl"
             ui:wsdlLocation="oramds:/apps/AIAMetaData/AIAComponents/ApplicationObjectLibrary/EBIZ/Worker/wsdls/v1/SyncWorkerEBIZProvABCSImpl.wsdl">
    <interface.wsdl interface="http://xmlns.oracle.com/ABCSImpl/EBIZ/Core/SyncWorkerEBIZProvABCSImpl/V1#wsdl.interface(SyncWorkerEBIZProvABCSImpl)"/>
    <binding.ws port="http://xmlns.oracle.com/ABCSImpl/EBIZ/Core/SyncWorkerEBIZProvABCSImpl/V1#wsdl.endpoint(SyncWorkerEBIZProvABCSImpl/SyncWorkerEBIZProvABCSImpl_pt)"
                location="http://dev.soahome.com:20111/soa-infra/services/payroll/SyncWorkerEBIZProvABCSImpl/SyncWorkerEBIZProvABCSImpl?WSDL"
                soapVersion="1.1">
      <property name="weblogic.wsee.wsat.transaction.flowOption"
                type="xs:string" many="false">WSDLDriven</property>
    </binding.ws>
  </reference>

ui:wsdlLocation:  Abstract WSDL

location:  Concrete WSDL.

Steps while designing in Jdeveloper:

1. In composite.xml drag Webservice Adapter to reference lane.
2. Select the WSDL from Resource Pallette  -> Application Server -> Select default verison composite ws
3. Go to composite.xml source
4. Change ui:wsdlLocation  value to Abstract WSDL. ( WSDL from MDS)


References:

http://docs.oracle.com/cd/E17904_01/doc.1111/e17364/bestpractices.htm#BABCGHEH
https://blogs.oracle.com/aia/entry/aia_11g_best_practices_for_dec

Thursday, March 1, 2012

Oracle GridLink DataSource for SOA 11g


Oracle GridLink DataSource:


Starting from version 10.3.4 Oracle WebLogic introduces Oracle Gridlink DataSource which supports Oracle Database 11g R2 Grid based RAC.

During the SOA 11g installation  we donot have the option to enter the Grid based DataSource details.  So all the default DataSources are created as 'Generic'.

In case if you run into issues with current DataSources. Please recreate DataSources as 'Gridlink DataSources'. 

Make sure all the default parameters and values of 'Generic' Datasources are entered in 'GridLink'  Datasources as well.

Please use below documentation as reference for creation of 'GridLink Datasources'

References:

Wednesday, February 29, 2012

SOA Cluster High Availability for File Adapters - Findings

SOA 11g ps4: 11.1.1.5

File Adapter:

File and FTP Adapter have singleton functionality. In SOA 10g we should have deployed that File Adapter polling process on only one of the server in a cluster. In this way we have lost High availabiltiy functionality for the File Adpater process.

This problem has been solved in SOA 11g by adding the below configurations.

1. Login to Admin Console
2. SOADomain -> Deployments -> FileAdapter -> Configuration -> OutboundConnectionpools
3. Select 'eis/HAFileAdapter'
4. Change the controlDir property to some shared location Eg : /app/oracle/share/soadomain/soacluster/FileAdpater/controlDir

5. Save and Activate changes.

6. From Deployments , Select FileAdapter and update with new 'Plan.xml' . Make sure that 'Plan.xml' is located in shared location. E.g.: /app/oracle/share/soadomain/soacluster/FileAdapter/dp/Plan.xml

7. Save and Activate the changes.

8. Update the Adapter configuration to use the connection factory as shown in the following example:
               <connection-factory location="eis/HAFileAdapter" adapterRef=""/>                                                                                                               
References: http://docs.oracle.com/cd/E21764_01/core.1111/e10106/ha_soa.htm#CHDJFDAI





SOA Cluster High Availability for DB Adapters - Findings

SOA 11g version: 11.1.1.5

DB Adapter:
1. Create a Datasource
2. Create a Connection pool
Steps: SOADomain -> Deployments -> DbAdapter -> Configuration -> OutboundConnectionPools -> Create 'New" connection pool.

3. Save and Activate the changes. At this point if you observer 'DbAdapter' is in 'Prepeared' state. We have to update the 'Dbadapter' by selecting the changed 'Plan.xml'.
4. When try to update and deploy the 'DbAdapter'. It will fail saying 'Location for 'Plan.xml' is not found.

Solution: Change the location of the Plan.xml from its original location in '$ORACLE_HOME/Oracle_SOA1/soa/connectors' to '$SHARED_LOCATION/Dbadapter/'

Updated the DbAdapter and target to soacluster and activate the changes.

Still the 'DbAdapter' is in 'prepared' state.

Restart the managed servers. Now you will see the 'DbAdapter' in Active State.


Wednesday, February 8, 2012

Weblogic domain not start with " Error while loading the class.. taking default Sysout Logger imp"

Issue:

Previous shutdown was not graceful and WLS_DIAGNOSTICS000000.DAT was not removed and was causing the issue.

Solution:

Remove the WLS_DIAGNOSTICS000000.DAT from C:\Oracle\Middleware\user_projects\domains\BPMSOADomain\servers\AdminServer\data\store\diagnostics
directory and restart the server.