Wednesday, 19 February 2014

SCAC-50012 error : oracle.jrf.UnknownPlatformException: JRF is unable to determine the current application server platform

Hi Guys.

This error is generally because of some issue with java embedding activity used in the BPEL.
If you are using java embedding code in your BPEL then this error occurs very frequently.
Bpel does not have compiler to check java code so for a simple one character error it will throw this exception

This exception is caused when the java code you have in the java embedding activity and that code contains compilation errors.
Since the java editor for writing the code does not contain any code validation, it becomes really difficult to figure out what’s wrong in the code and you get the exception at compile time.


You need to fix the compilation error in your java code to get rid of this error.

For this follow the below steps:

1. Select the java embedding activity in the bpel design view and click on the source view.
2. Copy the java code between CDATA opening and closing bracket.
3. Create a dummy class in some java editor (eclipse/JDeveloper) and paste your code in that class.
4. Remove all the java compilation error.
5. Copy the error fixed code back into to the CDATA brackets [ ] (only the code snipped without java imports.
6. In case your code is importing some packages, make sure that those packeges are in your project class path. You can do that putting respective jar files in <project_location>\sca-inf\lib directory.
7. Along with the jar files, you need to add java package import in the bpel source code. For that use below syntax and add it just before your <bpelx:exec tag> . Make sure you add the entire jar required by you code.

I suggest the below points also.

1.Go to Bpel code.Delete all items from SCA-INF folder
2.For Instance in Java Embedding in BPEL, usage of bpelx:getVariableData(..) will cause this.

Correct Usage is bpws:getVariableData(..)

Rebuild the project and it should work now.

Happy Learning...!!!!!!!!!!!! Fun Sharing.........!!!!!!!!!

java.sql.SQLException: ORA-00911: invalid character in Oracle SOA/BPEL 11g

Hi Guys.

The Invalid character error is quite common in JDBC queries due to very minor mistakes.

I am getting “java.sql.SQLException: ORA-00911: invalid character” exception, while running a JDBC query. 
I have checked my query its working fine when I run directly from a SQL client / JDeveloper.

Solution : Most of the time, If you are getting this exception while running a JDBC query from a BPEL program check if your query is having semicolon (";") at the end of it or anywhere in the query. You should not have semicolon in a JDBC query especially in XSL JDBC query.

I could observed this with the programmers who are comfortable with Oracle or some other database (e.g. MySQL) clients where semicolon is required at the end of query (like many PL/SQL command line clients).

They follow the same practice here and expecting the result perfectly. :-)

Happy Learning...!!!!!!!!!! Fun Sharing..........!!!!!!!!!!

java.sql.SQLSyntaxErrorException: ORA-02089: COMMIT is not allowed in a subordinate session

Hi Guys....

I had faced different scenario in SOA

Scenario:- We are trying to call a stored Proc in BPEL and it is errored out as it is passing when you retry it.

While trying to call a stored procedure from Oracle SOA 11g BPEL to EBS it throws below error
"java.sql.SQLSyntaxErrorException: ORA-02089: COMMIT is not allowed in a subordinate session".

This error happens when there is a commit in the stored proc and that BPEL is using XA transaction.
If you are using Global Transactions (XA) in your DB Adapter then the commit will happen only after the BPEL process completes.

To avoid the above error :

1. Make sure you don't have explicit commits within the stored procedure as BPEL tries to manage the transaction commit and there is a conflict if the stored proc. has an explicit commit inside it.

2. You can use local transactions (non-XA) in your DB Adapter if you don't want to wait till the process is over for the commit to happen.

Happy Learning...!!!!!!   Fun Sharing....!!!!!!!!!

UMS- Configuring Enterprise Email Account on Oracle Enterprise Manager

Hi Guys . Today we will discuss how to deploy a new enterprise email driver and configuration.

1.Go to Oracle\MiddlewareHome\SOA_Domain\communications\plans  folder . It could be different from ENv to ENV.
Please search  for the communications folder.

2.Copy “usermessagingdriver-email_Plan.xml “ file and paste is in same folder.

3. Rename the plan file as usermessagingdriver-email_Plan_00ORACLE.xml
4. Edit the plan file with the following values.
1. Replace @DriverDeploymentName@ with sdpmessagingdriver-email-00EXAMPLLE “(ensure you replace all instances of the name- 2 places as shown below).


       2. Replace @DriverShortName@  with  sdpmessagingdriver-email-00EXAMPLE.

 3. Replace the @RunAsPrincipalName@ token with OracleSystemUser .
4. Logon to WebLogic SOA Concole  http://host:port/em
5. Follow the steps in the below screenshots

 6.Select the sdpmessagingdriver-email.ear  and Modified Plan file as shown below.
àArchive will be in communications/applications folder
àPlan file will be in communications/plans folder.

7. Click Next. Select the SOA Managed server or Admin server  can be both.

 8. Click next

9. Enter an application name in the Application Attributes page as  sdpmessagingdriver-email-00EXAMPLE ,  which is provided in the deployment plan.

10. Click on Deploy.

à Deployment completed.  

 11. Now you go to the below location.


12. Click on that to see the below screen

 13.Click on the Email Driver Properties as shown below.

All changes made in this page require a server restart to take effect. (You can plan this after completion of this configuration)
This Notification will be shown in the Weblogic console after changing the properties in email driver.

14. Now go to the Email driver page , which you deployed now(sdpmessagingdriver-email-00EXAMPLE)

 15. Go to Email diver properties

16. Click on the drill down button of Related Links and Click on Workflow Notification Properties Page

17. Click on More Workflow Notification Configuration Properties... in below screen shot. 

18. Click on Operations in below screen.

19. Click on setASNSDriver

20. Enter the values as below
           PropertyName  :-  EmailFromAddress
           PropertyValue :-
           driverName:- 00EXAMPLE
21. Click on Invoke

Done Email Drover configuration is completed.

Happy Learning....!!!!!  Fun Sharing....!!!!!!!!!!!