Thursday, July 19, 2012

Oracle SOA/BPM- Business Rule - Error(53): The role named "IDecisionService_Role" on this partnerLinkType uses portType "null" which is not defined anywhere.

When you add or remove rule set from the decision service you will get following type of error and warning during compilation

Error(53): The role named "IDecisionService_Role" on this partnerLinkType uses portType "null" which is not defined anywhere
Warning(126): The activity <bpel:invoke> refers to a bpel:partnerLink (via the attribute "partnerLink") - this bpel:partnerLink needs to be defined correctly.


This compilation error comes due to change in namespace in Rule's wsdl file(e.g xyzRule_DecisionService_1.wsdl)  by the JDeveloper. Its a bug in JDeveloper.

It changed from
 xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype"
to
xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/"

Just revert it to

xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype"

 back after add or remove rule set from the decision service.


Tuesday, July 3, 2012

Oracle AIA installation error : java.sql.SQLRecoverableException: IO Error: The Network Adapter could not establish the connection


BUILD FAILED
C:\Oracle\AIAHOME\Infrastructure\Install\AID\AIAExecuteDriver.xml:222: The following error occurred while executing this line:
C:\Oracle\AIAHOME\Infrastructure\Install\AID\AIAExecuteDriver.xml:65: The following error occurred while executing this line:
C:\Oracle\AIAHOME\aia_instances\AIAINST\tmp\AIDExecuteDP_temp_1008901005.xml:50: The following error occurred while executing this line:
C:\Oracle\AIAHOME\Infrastructure\Install\AID\lib\AIDConfigurationLibraryTasks.xml:298: java.sql.SQLRecoverableException: IO Error: The Network Adapter could not establish the connection

Total time: 1 minute 27 seconds
'choice' is not recognized as an internal or external command,
operable program or batch file.


This happens due to less number of DB processes defined on the database. You can run following command to verify number of db processes on the DB.

SQL> show parameter process


NAME                                 TYPE        VALUE
------------------------------------ ----------- -----
aq_tm_processes                      integer     0
db_writer_processes                  integer     1
gcs_server_processes                 integer     0
job_queue_processes                 integer     4
log_archive_max_processes        integer     2
processes                                       integer    45

Increase this value to 200 by running following command

SQL> alter system set processes = 200 scope=spfile;

Now again rerun AIA installer.This time you will not get this issue.

Wednesday, May 9, 2012

Oracle SOA/OSB - OSB Kernel:398034]Two operations expect the same incoming message, you must use a selector different than message body


This error can be fixed, by selecting a different "Operation Selection Configuration". This can be done by selecting your proxy-service and select the "Operation" tab sheet in Eclipse Workshop. Here you determine how algorithm of the operations are handled. In our case select 'SOAPAction Header'.
http://orasoa.blogspot.com/2008/11/handle-multiple-operations-in-osb.html

Oracle SOA/BPEL - MDS- oracle.mds.exception.MDSException: MDS-00054: The file to be loaded oramds:/soa/configuration/default/workflow-identity-config.xml does not exist.


(SOA 11g) The source of the problem for us was that it was deployed to both the admin server (mistake!) and the soa server (correct) and we were accessing it on the admin server port (7001) rather than the soa server port (8001) which was correct.

ie. For us

http://hostname:7001/integration/SOADemoCommunity/DemoCommunitySeedServlet (failed and gave the error mentioned)
http://hostname:8001/integration/SOADemoCommunity/DemoCommunitySeedServlet (worked)

Oracle SOA - Unable to find SOA server on Jdeveloper during BPEL process deployement


Check whether your managed server soa_server1 is running or not. If not then start it . Make sure your weblogic server should be running.

To start managed server go to  ORACLE_HOME\user_projects\domains\{ur_dimain}\bin   folder and run this command

startManagedWebLogic.cmd  soa_server1  t3://localhost:7001

Oracle SOA - Weblogic - java.sql.SQLException: JDBC LLR weblogic.transaction.loggingresource.LoggingResourceException: java.sql.SQLException: JDBC LLR, table verify failed for table 'WL_LLR_ADMIN SERVER', row 'JDBC LLR Domain//Server' record had unexpected value 'soa_domain//AdminServer' expected 'soabpel//AdminServer'*** ONLY the or iginal domain and server that creates an LLR table may access it ***


SQL Test=SELECT 1 FROM SYS.SYSTABLES

If  database is Oracle 11g, then test SQL should be SELECT 1 FROM DUAL

This error comes when datasource not configured for Oracle DB, rather it is pointing to Derby database.

Make sure that while creating/extending the domain, on "Configure JDBC Component Schema" screen, you are selecting the checkbox against "OSB JMS Reporting Provider" and you are selecting "Oracle" as vendor. By default, "Derby" remains selected. Provide the connection details and click on next. On next screen, you test should be successful, and you should see lines similar to below -

Component Schema=OSB JMS Reporting Provider
Driver=oracle.jdbc.OracleDriver
URL=jdbc:oracle:thin:@localhost:1521:XE
User=DEV_SOAINFRA
Password=********
SQL Test=SELECT 1 FROM DUAL

CFGFWK-20850: Test Successful!

Oracle SOA - OSB -Problem during creating OSB domain Insufficient data while reading from the network - expected a minimum of 6 bytes and received only 0 bytes


SQL Test=SELECT 1 FROM SYS.SYSTABLES

If your database is Oracle 11g, then test SQL should be SELECT 1 FROM DUAL

I think you have not configured the datasource for Oracle DB, rather it is pointing to Derby database.

Make sure that while creating/extending the domain, on "Configure JDBC Component Schema" screen, you are selecting the checkbox against "OSB JMS Reporting Provider" and you are selecting "Oracle" as vendor. By default, "Derby" remains selected. Provide the connection details and click on next. On next screen, you test should be successful, and you should see lines similar to below -

Component Schema=OSB JMS Reporting Provider
Driver=oracle.jdbc.OracleDriver
URL=jdbc:oracle:thin:@localhost:1521:XE
User=DEV_SOAINFRA
Password=********
SQL Test=SELECT 1 FROM DUAL

CFGFWK-20850: Test Successful!


Oracle SOA - MDS- oracle.mds.exception.MDSExceptionList: MDS-01329: unable to load element "persistence-config" MDS-01370: MetadataStore configuration for metadata-store-usage "OWSM_TargetRepos" is invalid. ORA-04063: package body "DEV_MDS.MDS_INTERNAL_SHREDDED" has errors ORA-06508: PL/SQL: could not find program unit being called: "DEV_MDS.MDS_INTERNAL_SHREDDED" ORA-06512: at line 1

Open the  MDS packages in Oracle SQL Developer and recompile them, you should get rid of the MDS SHREDDED bla error message

Oracle SOA - RCU-6107:DB Init Param Prerequisite failure for: processes Current Value is 40. It should be greater than or equal to 200.

Perform following steps on your database


SQL> alter system reset sessions scope=spfile sid='*';
SQL> alter system set processes=300 scope=spfile;
SQL> shutdown immediate
SQL> startup

Oracle SOA - OutOfMemoryError in SOA


: Make a backup for setSOADomainEnv.cmd(/user_projects/domain/<soa_domain_name>/bin/setSOADomainEnv.cmd

Step2. In the file called setSOADomainEnv.cmd
- replace

DEFAULT_MEM_ARGS="-Xms512m -Xmx1024m"
PORT_MEM_ARGS="-Xms768m -Xmx1536m"

- with

if [ "${SERVER_NAME}" = "SERVERNAME" ]; then
DEFAULT_MEM_ARGS="-Xms2048m -Xmx2048m"
PORT_MEM_ARGS="-Xms2048m -Xmx2048m"
else
DEFAULT_MEM_ARGS="-Xms512m -Xmx1024m"
PORT_MEM_ARGS="-Xms768m -Xmx1536m"
fi

Step3. restart the servers

Tuesday, May 8, 2012

Oracle SOA - Weblogic-Free memory in the server is 3,968,224 bytes. There is danger of OutOfMemoryError - SOA Server


The navigation path in WebLogic 10.3 to Low Memory Sample Size is:
Environment -> Servers -> "the server you wish to change" -> Configuration -> Tuning
Change
"Low Memory Sample Size" from "10" to "120"

Oracle SOA - BPEL- An error occurred while preparing and executing the Temp_QUERY_CUSTOMER_PKG.Temp_QUERY_INVOICE_HEADER_PRC1 API. Cause: java.sql.SQLSyntaxErrorException: ORA-00902: invalid datatype


If you re-create an Oracle Database PL/SQL statement or other schema object (such as a data type), or recompile a package body, and re-deploy a SOA composite that uses the Oracle Database Adapter, then the Oracle Database Adapter runtime will throw an ORA-00902: invalid datatype exception.
The workaround for this issue is to set the following Oracle WebLogic Server properties:
  • Data Source:
    • Initial Capacity: 0
    • Statement Cache Size: 0
  • Adapter Connection Pool:
    • Initial Capacity: 0
If your SOA composite is incompatible with these property settings, the workaround for this issue is to stop and start the Oracle WebLogic Server.

Oracle SOA - OSB- Unable to wire OSB web service on BPEL Process. OSB proxy service calling DB adapter using business service


 If you call DB business service directly in proxy service then there is no end point definition present in the Proxy service WSDL. You have to create end point manually by using this URL
http://localhost:7001/<proxy service end point URL> ?wsdl
e.g.
and use same inside composite while invoking OSB proxy service.

Oracle SOA - Error occurred during initialization of VM Could not reserve enough space for object heap


change your JVM setting in setSOADomainEnv.cmd
\user_projects\domains\<domain_name>\bin
From
USER_MEM_ARGS=-Xms512m -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=512m

to
USER_MEM_ARGS=-Xms1024m -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=256m