Thursday, 12 December 2013

(System MBean Browser) Change the remote FTP path from em console @ runtime

In the composite, logical properties are specified in the inbound JCA file and their logical-physical mapping is resolved by using binding properties.

This gives you the below flexibility:

You specify the logical parameters once at design time, and you can later modify the physical directory name as needed.



In the design view of composite, you can select the exposed FTP Service and add the properties to specify the actual path for Logical directory paths.















Design view – composite.xml


Source view – composite.xml




soa-infra > System MBean Browser >Application Defined MBeans

Use the below filter expression to rightly oracle.soa.config:name=your service name



Under Attributes of selected MBean choose Properties and find properties specifies in composite as under Key

These details say- directory path can be can be re-configured and the changes can be applied at run-time.

Wednesday, 11 December 2013

(Secured FTP) POLL and ARCHIVE file using BPEL 11g

Problem statement:

- I would like to poll a file from a directory structure -/tmp/SAPI093 within a secured FTP location.,

- Upon successful polling I would like to archive the same on different directory path -/tmp/SAPI093/archive



ISSUE : After successful creation of jca adapter for Secured FTP ,I am able to get the polled file deleted from source directory but, failed in archiving of polled file in archive directory in the Source FTP location .

Solution: To fix the same you will need to add the binding property “UseRemoteArchive” to true.















Design view – composite.xml


Source view – composite.xml




In the composite, logical properties are specified in the inbound JCA file and their logical-physical mapping is resolved by using binding properties.

You specify the logical parameters once at design time, and you can later modify the physical directory name as needed.



In the design view of composite, you can select the exposed FTP Service and add the properties to specify the actual path for Logical directory paths.















Design view – composite.xml


Source view – composite.xml


Monday, 2 December 2013

OSB Transformation with XSLT

Problem Statement::

· I would like to extend my current BPEL based SFDC integration flow to cater request from a newer Source application running on SAP – via OSB.

[ SAP(OSB)<====>(BPEL)<====>SFDC(salesforce) ]

· This raises a requirement of Mapping OSB incoming Message to BPEL Structre – where I would like to use familiar XSLT Transformation within OSB Flow

ProxyService - We have a Proxy Service built for SAP Application to consume and send the outbound request to middleware. – this is built out of a concrete WSDL structure

BusinessService - We have Connected this proxy to a Business Service build out a BPEL WSDL- obtained from a pre-deployed BPEL Composite application that in turn communicates with (SFDC-salesforce)



Solution:

We need to develop our XSLT file using Jdeveloper .and for this we create a dummy BPEL process say Project 1.

Download the required WSDL artifacts for transformation

· Download the OSB Proxy WSDL,this is invoked by SAP Source application, keep this handy -

http://host-name:port/myosb/SAP_SFDC_PPLPublish/ProxyService/SAPPPLPublish_PS?wsdl

· BPEL composite end point for SFDC comonent -

http://host-name:port/mysoa-infra/services/CRMASYNC/SFDCPPL_EventManager/sfdcppl_eventmanager_client_ep?WSDL



 

Connect this Dummy BPEL Service to actula intended target – which is nothing but our orginal BPEL Target Application for Salesforce



 

DO a simple XSL transform between the SAPPPLPublish_PS OSB ProxyService structure to actual target SFDCPPL_EventManager Structure. – call this as Transformation_1.xsl



 

Create a pipeline pair ,between your SAPPPLPublish_PS and Routenode SFDCPPL_EventManager.



 

Add stage1 to request pipeline pair node1.



Edit the Stage one with following Assignments

· 1st Assign the incoming content received by proxyService to inputVar – thus inputVar contains the exact payload with out <soap-env/> wrapper

-



-



· Use 2nd Assign and select XSLT Resource ,Browse and Select the XSLT Transformation_1.xsl file generated usin JdeveloperEditor,

- Use the $inputVar as the variable representing Input Document to the XSLT Transformation.

- Assign the result of this XSLT transformation to variable outputVar

· 3rd Replace everythingin body to routenode with the result of above transformation stored in outputVar

- Choose node content



Save the changes and , Activate the changes in change center.

Testing from Proxy Service and Verifying the Trace.:










Incoming Payload to OSB Proxy ServiceOutgoing Transformed Message through routnode to BPEL Service