Wednesday, July 29, 2020
12c OSB - Dynamic routing part1 with Proxy services
Tuesday, July 21, 2020
12c SOA - BPEL dynamic XSLT
- Create a DVM for instance that contains a column on which you want to select, and a second column that lists the particular xslt to be executed.
- Then create string variable 'varXSLT' and an assign before the transformation, in which you do an assign using the LookupDVM() to translate the selection code to the actual xslt file with the varXSLT variable as target.
- From the source view move the copy rule of the transformation to the assign with the LookupDVM() function or in a different assign, remove the transformation activity. In the expression builder replace the reference to the xslt with the varXSLT variable.
- Use ora:processXSLT() function instead of using ora:doXSLTransformForDoc(). If you use ora:doXSLTransformForDoc() function, it will not allow you to map/use this varXSLT variable as it needs a string literal as input value.
- Later, you can move the xsl files to MDS and use the oramds xpath to use the MDS reference xsl files dynamically. This way if you need to change anything in the xsl file , just change in MDS and no need to change in composite itself.
Note: If you create a transformation activity in BPEL, choose the sources and targets, create the xslt etc. then if you go to the source view, you will discover that it is actually an assign activity. The execution of the xslt is done through an xpath expression that references the particular xslt file.
Implementation steps:
Create a SOA project.
Create a XSD
<?xml version="1.0"
encoding="windows-1252" ?>
<xsd:schema
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://www.example.org"
targetNamespace="http://www.example.org"
elementFormDefault="qualified">
<xsd:element
name="OrderRequest">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="OrderId"
type="xsd:string"/>
<xsd:element name="OrderType"
type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element
name="OrderResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Status" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
Use this schema and create a Syn BPEL
Create a DVM
here i added two rows containing 2 xsl files.
Create a Variable varXSLT
Take a assign and Use dvm:lookupValue() function to fetch teh xsl names based on the orderType.
Take a Transformation activity and create 2 xslt files as defined in the dvm.
XSLT1
XSLT2
Use ora:processXSLT() instead of using ora:doXSLTransformForDoc() functions.
Testing:
We can push the xsl files to MDS and use them dynamically from MDS too.
Monday, July 6, 2020
Web Services Security at Transport Level and Message Level
- End-to-end security: message-level XML-Encryption protects sensitive data also in the intermediaries / external proxies. The point-to-point security TLS/SSL doesn't prevent the intermediaries to read the sensitive data.
- With WS-Encryption it's also possible to encrypt only a part of the messages for flexibility (e.g. in case the intermediary proxy need to peek the unencrypted part) or performance (it's cheaper to encrypt/decrypt only portions of the messages).
- The message-level security (e.g. WSS Authentication, XML-Encryption, XML-Signature) is independent to the protocols thus it offers more flexibility to send SOAP messages across different protocols (e.g. http, jms, ftp).
- Performance (encrypt/decrypt, validate): processing time & increased message size
- Configuration & Maintenance (but can be easier using declarative policy)
- Can not peek the message values during development & debug
- More complex, more difficult to find developers who master
12c SOA - Weblogic - Oracle apps adapter connection factory creation
Outbound Connection Pools
Click New
Provide the JNDI Name.
Apps Connection factory created. Open it
Give the XADataSourceName
Save
Go to the deployment again and select OracleAppsAdapter
Update
Select Update option to update the changes in plan.xml file.
Finish
Activate Changes
Featured Post
OIC - how can I use XSLT functions to remove leading zeros from numeric and alphanumeric fields?
To remove leading zeros from an numeric field in Oracle Integration Cloud (OIC) using XSLT, you can Use number() Function The number() funct...
-
Please find the following links for OIC hands on and relevant information: Oracle Integration Cloud Introduction | Benefits | Services offer...
-
OIC interview Q & A: 1. FBDI approach with an example https://soalicious.blogspot.com/2022/02/oic-erp-supplier-bulk-import-and.html 2. ...
-
What is Throttling: Throttling is termed as "regulate the flow". Oracle Service Bus has throttling feature and by using that f...
-
Usecase: Here, we will extract the data from HCM and then download the data from UCM uaing Flow Actions Service and Generic Soap Service To...
-
Stage or vfs or virtual file system is a temporary location in the oic local file system which stores temporary files required for processin...
-
UseCase: Here, we will show you how to split an input, received as comma separated string values( here, emails) into array of values using c...
-
Usecase: Here, we will see how we can download the import Payables Invoices report. That is we will download report equivalent .xml file w...
-
Usecase: Here, we will demonstrate the detailed implementation steps for AP Invoice FBD Import from polling the file from source >> cr...
-
UseCase: While mapping the elements in the mapper using XSD structure of the file contents, getting below 2 types of translation errors: Err...
-
Credential Store Framework (CSF) is used in OWSM to manage the secure credentials. CSF provides a way to store, retrieve, and delete cred...