Showing posts with label Oracle SOA Suite. Show all posts
Showing posts with label Oracle SOA Suite. Show all posts

Thursday, March 27, 2014

Getting the Audit Detail of a BPEL instance in JAVA - Oracle SOA Suite

Getting the Audit Detail of a BPEL instance in JAVA - Oracle SOA Suite

In Oracle SOA Suite 11g and Oracle SOA Suite 12c,the audit trail of the BPEL is stored in the table AUDIT_TRAIL.If the size of the payload crossed the threshold size configured in the EM console then the details are stored in the AUDIT_DETAILS table.


The payload in the AUDIT_DETAILS table is in compressed binary form, you can use the below approach to get the actual payload.

import java.sql.*;
import java.util.Hashtable;
import javax.naming.Context;
import javax.naming.InitialContext;
public class GetPayload {
    public static Connection getConnection() throws Exception {
        Context ctx = null;
        Hashtable ht = new Hashtable();
        ht.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
        ht.put(Context.PROVIDER_URL, "t3://:8000");
        ctx = new InitialContext(ht);
        javax.sql.DataSource ds =(javax.sql.DataSource)ctx.lookup("jdbc/SOADataSource");
        return ds.getConnection();
    }

    public static String getPayload() {

        Statement stmt = null;
        Connection connection = null;
        ResultSet rs = null;
        
        String query="select  UTL_COMPRESS.LZ_UNCOMPRESS(b.bin) DOC from audit_details b where cikey='5148077' and rownum<2";
       
        String payload = "";
        try {
            connection = getConnection();
            stmt = connection.createStatement();
            rs = stmt.executeQuery(query);
            while (rs.next()) {                    
                Blob blob=rs.getBlob("DOC");
                byte[] sdata = blob.getBytes(1, (int) blob.length());;
                payload = new String(sdata);             
                
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                if (rs != null)
                    rs.close();
                if (stmt != null)
                    stmt.close();
                if (connection != null)
                    connection.close();
            } catch (Exception e) {

            }
        }
        return payload;

    }
}


Wednesday, March 26, 2014

Recovering the composites to JDeveloper from MDS - Oracle SOA Suite

Recovering the composites to JDeveloper from MDS - Oracle SOA Suite

Sometimes there is a possibility the latest code changes of the deployed composite in JDeveloper might have lost in other hand some cases we will not be having the implementation code for the deployed composites.

These scenarios the Oracle SOA Suite composite artifacts can be exported from MDS through em console and the same can be converted to design time artifact in JDeveloper.

This post will explain the steps to recover the composite to JDeveloper from MDS.

Steps to recover the composite from MDS

Login to Em console, right click on the particular composite and click on Export


Select the appropriate options as shown and click on Export

Tuesday, March 18, 2014

Not able to save the projects into the JWS file(Application) in JDeveloper

Not able to save the projects into the JWS file(Application) in JDeveloper

I was facing a issue while saving the project to the application JWS file and getting "Unable to save GettingPayload.jws".

Receiving the following exception in the JDeveloper console.

java.io.IOException
at oracle.ide.marshal.xml.StructureIO.loadUsingSAX(StructureIO.java:251)
at oracle.ide.marshal.xml.StructureIO.loadImpl(StructureIO.java:167)
at oracle.ide.marshal.xml.StructureIO.loadImpl(StructureIO.java:156)
at oracle.ide.marshal.xml.HashStructureIO.load(HashStructureIO.java:46)
at oracle.ideimpl.extension.RoleManagerImpl.getRolePreferences(RoleManagerImpl.java:80)
at oracle.ideimpl.extension.ExtensionManagerImpl.runRoleSelectionDialog(ExtensionManagerImpl.java:1112)
at oracle.ideimpl.extension.ExtensionManagerImpl.initialize(ExtensionManagerImpl.java:943)
at javax.ide.Service.getService(Service.java:68)
at javax.ide.extension.ExtensionRegistry.getExtensionRegistry(ExtensionRegistry.java:400)
at oracle.ide.ExtensionRegistry.getExtensionRegistry(ExtensionRegistry.java:191)
at oracle.ide.IdeCore.startupImpl(IdeCore.java:1384)
at oracle.ide.Ide.startup(Ide.java:703)

While restating the JDeveloper,  i could not able to see the projects listed under the corresponding applications, i have to manually add them to the application.

Not able to connect to Remote Oracle SOA Suite Server through JDeveloper – Oracle SOA Suite

Not able to connect to Remote Oracle SOA Suite Server through JDeveloper – Oracle SOA Suite 

Sometimes we could have faced the issue to establish the connection to remote Oracle SOA Suite Server through JDeveloper; this might be due to different reasons. Below are some of the basic steps to resolve the connection issue.

Verify whether the Weblogic Server’s user name, password, IP Address, Port and the domain name are entered in the connection wizard properly.



Make sure the option “Always use SSL” in the connection wizard has not been set.


Make sure the option “Use HTTP Proxy Server” in the JDeveloper has not been set. Disable the proxy settings: Tools -> Preferences -> Web Browser and Proxy -> Uncheck 'Use HTTP Proxy Server' option.

Tuesday, February 25, 2014

SOA-INFRA app is not starting up - Oracle SOA Suite 11g

SOA-INFRA app is not starting up - Oracle SOA Suite 11g:

When we restarted the soa server, the soa server came up properly except the SOA-INFRA app.
The status of the SOA-INFRA app in weblogic console is failed and also the SOA node in the em console is not displayed.



We could not able to find any particular error from log files including diagnostic log except schema mismatch error with some of the composites.It  seems due to some reason the status of the soa-infra application is failed and the server is restarted without fixing the actual issue then even after fixing the issue and restarting the server the soa-infra app is not Active.

We have tried deleting the following folders from $DOMAIN_HOME/servers/AdminServer
data
temp 
cache 

Unfortunately even after deleting the above folders the SOA-INFRA app did not come up. 

Tried starting the SOA-INFRA app manually from weblogic console, this time the SOA-INFRA app came up and we could able to see the SOA in em console.



Tuesday, January 28, 2014

ODL handler configuration through WLST script - Oracle SOA Suite

ODL handler configuration through WLST script - Oracle SOA Suite:

Oracle Fusion Middleware components write diagnostic log files in the Oracle Diagnostic Logging (ODL) format. Log file naming and the format of the contents of log files conforms to an Oracle standard. By default, the diagnostic messages are written in text format.

ODL provides the following benefits:

The capability to limit the total amount of diagnostic information saved. You can set the level of information saved and you can specify the maximum size of the log file and the log file directory.

When you reach the specified size, older segment files are removed and newer segment files are saved in chronological fashion.

Components can remain active, and do not need to be shutdown, when older diagnostic logging files are deleted.

The ODL configuration can be changed from EM console or WLST script.

Below is the WLST script help us to change the ODL handler setting.

Configureodlloghandlers.py

folderPath="/oracle/product/soa/11g/fmw/fmwlogs/SOACoreDomain"
domainAdminUserName = "weblogic"
domainAdminPassword = "welcome1"
connect(domainAdminUserName, domainAdminPassword, "t3://localhost:7001")
servers = adminHome.getMBeansByType('Server')
for s in servers:
edit()
startEdit()
serverName1 = s.getName()
path = '/Servers/' + serverName1
cd(path)
lh = listLogHandlers()
for l in lh:
lname = l.get('name')
odlfile = folderPath + '/logs/' + serverName1 + '/' + serverName1 + '-' + lname + '-diagnostic.log'
print 'Diagnostic path===>',odlfile
configureLogHandler(target=serverName1,name=lname, path=odlfile)
save()
activate()

The other details like maxFileSize,rotationFrequency and retentionPeriod  etc can also be changed through configureLogHandler method.

Executing the script:

$MIDDLEWARE_HOME/Oracle_SOA/common/bin/wlst.sh Configureodlloghandlers.py

Tuesday, December 17, 2013

Custom Message Throttling and Interface Management – Oracle BPEL

Custom Message Throttling and Interface Management – Oracle BPEL

This post explain the details on Custom Message Throttling and Interface Management – Oracle BPEL/Oracle SOA Suite 11g



Custom Message Throttling and Interface Management.pdf

Thursday, December 12, 2013

Approaches to integrate Oracle SOA Suite with SalesForce.com

Approaches to integrate Oracle SOA Suite with SalesForce.com

This post explain the different Approaches to integrate Oracle SOA Suite with SalesForce.com.



Integrate Oracle SOA With SalesForce.pdf

Thursday, October 17, 2013

ORABPEL-05250 Error - JDeveloper Part1

ORABPEL-05250 Error - JDeveloper Part1

I faced a strange ORABPEL-05250 issue while deploying the composite to Oracle SOA Suite Server through JDeveloper.

The composite was successfully build in JDeveloper but during deployment to the server received the following exception.

[03:59:18 PM] Sending internal deployment descriptor
[03:59:18 PM] Sending archive - sca_SFDCOT_Invoker_rev1.0.jar
[03:59:38 PM] Received HTTP response from the server, response code=500
[03:59:38 PM] Error deploying archive sca_SFDCOT_Invoker_rev1.0.jar to partition "CRMASYNC" on server AdminServer [http://localhost:8000] 
[03:59:38 PM] HTTP error code returned [500]
[03:59:38 PM] Error message from server:
There was an error deploying the composite on AdminServer: Error occurred during deployment of component: SFDCOT_Invoker to service engine: implementation.bpel, for composite: SFDCOT_Invoker: ORABPEL-05250

Error deploying BPEL suitcase.
error while attempting to deploy the BPEL component file "/oracle/as01/fmw/config/admin/domains/SOACoreDomain/servers/AdminServer/dc/soa_b3d3a863-3515-4d6d-9b7f-0d0c7d1977a6"; the exception reported is: java.lang.Exception: BPEL 1.1 compilation failed

ORABPEL-05250 exception can occur for number of reasons . After a long struggle( tried removing the partner links one by one) received the actual error

There was an error deploying the composite on AdminServer: Error occurred during deployment of component: SFDCOT_Invoker to service engine: implementation.bpel, for composite: SFDCOT_Invoker: ORABPEL-09705

Could not initialize variable.
An error occurs while initializing BPEL variable inputVariable; the schema processor cannot find the element {http://xmlns.oracle.com/pcbpel/adapter/db/top/SFDCOT_POLLING_V}SfdcotPollingVCollection in the following schemas: oracle.fabric.common.wsdl.SchemaManager@7eb126f4.
The XSD element on which the variable was based was not properly defined in XSD or the WSDL.

Ensure that the element named in the error message is valid in the XSD or the WSDL.

The issue is due to schema name in the wsdl file is wrongly specified(wrong case) even though the schema name was wrongly specified in wsdl the composite was able compile and build successfully in JDeveloper installed in windows but failed while deploying to the server running in UNIX, this is due to case sensitive nature of file names in UNIX OS


After correcting this issue the composite got deployed successfully.

Friday, November 16, 2012

Oracle Fusion Middleware 11g Certification Matrix

Oracle Fusion Middleware 11g Certification Matrix

The below URL is having the certification matrix for all the Oracle Fusion Middleware components.






Tuesday, November 13, 2012

Oracle Fusion Middleware Adapters

Details on Oracle Fusion Middleware Adapters:



Application Adapters
Legacy Adapters
Changed Data Capture (CDC) Adapters
B2B Adapters
Technology Adapters
SAP
CICS
VSAM Batch
RosettaNet
File
PeopleSoft
IMS DB
Adabas
EDI
FTP
Siebel
IMS TM
DB2/390
Healthcare
JMS
Oracle Applications
VSAM
Microsoft SQL Server 2005
ebXML
Database
J. D. Edwards
Tuxedo
Microsoft SQL Server 2000

Advanced Queueing


IMS/DB

MQ Series


VSAM CICS

Socket



Technology adapters are included in the Oracle Internet Application Server and WebLogic Suite license upon which the Oracle SOA Suite has a licensing dependency. Other adapter types are licensed separately.

Financial Service adapters, along with Financial Message Designer, are separately licensed standalone products which inter operate with Oracle Service Bus. They are not JCA adapters like the other integration adapters. They include:

    SWIFT Adapter for Oracle Service Bus
    FIX Adapter for Oracle Service Bus
    Payments Adapter for Oracle Service Bus
    Derivatives Adapter for Oracle Service Bus

An additional separately licensed adapter, Enterprise Link for Business Activity Monitoring, is offered as an extension of the Oracle BAM product for customers who are looking to leverage Oracle BAM's embedded extract, transform and load (ETL) tooling. Enterprise Link is only one of five major ways to source data into Oracle BAM and is not required in all customer implementations. Customers who do not need Enterprise Link are any customers connecting to Oracle BAM only through BPEL PM Sensors or the Web Services API for Oracle BAM's Active Data Cache. Enterprise Link is required for all customers connecting to Oracle BAM through JMS queues or though query-based ETL updates. This includes customers who want to listen to JMS messages in existing integration environments, transfer large data sets into BAM, or archive data out of the BAM Active Data Cache on a scheduled basis.

Monday, October 29, 2012

Oracle SOA Suite Composite Deployment - Global Type declaration/definition of name *are duplicated - Part1


Oracle SOA Suite Composite Deployment - Global Type declaration/definition of name *are duplicated - Part1

Sometimes we used to get the below error message while deploying the composites to theOracle SOA Suite  server.

oracle.fabric.common.wsdl.XSDException: Global element declaration/definition of name '{http://xmlns.oracle.com/GlobalDeclaration/employee}Employee' are duplicated at the following locations:

http://localhost:8000/soa-infra/services/default/EmployeeServer/employeeserver_client_ep?XSD=xsd/EmployeeServer.xsd [line#: 4]
http://localhost:8000/soa-infra/services/default/EmployeeServer/xsd/EmployeeServer.xsd [line#: 3]
file:/reuters/shared/11g/software/soa_deploy/code/Utilities/EmployeeClient/xsd/EmployeeClient.xsd [line#: 6]
There are at least two of them looking different:
http://localhost:8000/soa-infra/services/default/EmployeeServer/employeeserver_client_ep?XSD=xsd/EmployeeServer.xsd [difference starting at line#:7]
file:/reuters/shared/11g/software/soa_deploy/code/Utilities/EmployeeClient/xsd/EmployeeClient.xsd [difference starting at line#:9]

The exception states the definition of the element Employee with the names spaces “http://xmlns.oracle.com/GlobalDeclaration/employee” differs in the following location.


file:/code/Utilities/EmployeeClient/xsd/EmployeeClient.xsd

I am having two composites EmployeeClient and EmployeeServer, EmployeeClient invokes EmployeeServer via parnerlink, EmployeeClient and EmployeeServer composites are defined with the following xsd’s

EmployeeClient/EmployeeClient.xsd:

<?xml version="1.0" encoding="UTF-8"?>
<schema attributeFormDefault="unqualified"
                elementFormDefault="qualified"
                targetNamespace="http://xmlns.oracle.com/GlobalDeclaration/employee"
                xmlns="http://www.w3.org/2001/XMLSchema">
                <element name="Employee">
                                 <complexType>
                                                 <sequence>
                                                                 <element name="empid" type="string"/>
                                                 </sequence>
                                 </complexType>
                </element>               
</schema>

EmployeeServer/EmployeeServer.xsd:

<?xml version="1.0" encoding="UTF-8"?>
<schema attributeFormDefault="unqualified"
                elementFormDefault="qualified"
                targetNamespace="http://xmlns.oracle.com/GlobalDeclaration/employee"
                xmlns="http://www.w3.org/2001/XMLSchema">
                <element name="Employee">
                                 <complexType>
                                                 <sequence>
                                                                 <element name="empid" type="string"/>
                                <element name="empname" type="string"/>
                                <element name="contactno" type="string"/>
                                <element name="state" type="string"/>
                                                 </sequence>
                                 </complexType>
                </element>
               
</schema>