Friday, August 11, 2023
WSDL - Oneway users wsdl file
Oneway users Wsdl file:
<?xml version="1.0" encoding="UTF-8"?>
OIC - How to convert XML data to Json data and store it in a variable
Usecase: Here we have a requirement that Source will send xml payload using our exposed or triggered SOAP API and then we will convert it to JSON format and store it in a variable to insert the json data into a database table.
Logic steps:
- Create a WSDL file and create a SOAP trigger connection.
- Create a App driven orcehstration and configure with the created soap connection
- Take a stage and write file with json sample and map the xml data to json data.
- Take stage again and read the json file using opaque schema
- Take a assign and create a variable and store the read file reference with decodebase64().
- Add tracking, save, activate , copy the wsdl and open a project in soap ui tool and add basic authentication and test
Opaque xsd:
https://soalicious.blogspot.com/2022/02/xsd-opaque-schema.html
Users.json:
{
"Users":{
"User":[
{
"id": 1,
"firstName":"string",
"lastName":"string",
"email":"string",
"country":"string"
},
{
"id": 2,
"firstName":"string",
"lastName":"string",
"email":"string",
"country":"string"
},
{
"id": 3,
"firstName":"string",
"lastName":"string",
"email":"string",
"country":"string"
}
]
}
}
Used oneway wsdl:
https://soalicious.blogspot.com/2023/08/wsdl-oneway-users-wsdl-file.html
Detailed with screenshots:
Soap connection:
OIC - Handling Custom SOAP Headers with XML Schema in Oracle Integration Cloud (OIC)
Usecase:
In many SOAP-based integrations, the service provider requires additional WS-Addressing headers (such as Action and To) to be explicitly included in the SOAP request.
However, OIC does not always auto-generate these headers, and missing them can lead to authentication or routing errors.
The challenge:
SOAP web service expects custom WS-Addressing headers (Action, To).
OIC does not allow adding them directly in the standard mapper.
We need a way to inject these headers in the SOAP request payload dynamically.
The following highlighted Action and To headers need to pass:
<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://www.w3.org/2005...>
<s:Header>
<a:Action s:mustUnderstand="1">http://www.testsoftwate.com/dataservices/bidata/2/testdataservice</a:Action>
<a:To s:mustUnderstand="1">http://www.servivehost/services/testdataservice</a:To>
</s:Header>
<s:Body>
...
</s:Body>
</s:Envelope>
Solution
We solve this problem by defining a custom XML schema for the required headers and attaching it to the SOAP Header section in OIC.
Implementation Steps:
Step1: Create header schema for the custom SOAP headers as below:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:wsa="http://www.w3.org/2005/08/addressing"
targetNamespace="http://www.w3.org/2005/08/addressing"
xmlns="http://www.w3.org/2005/08/addressing"
elementFormDefault="qualified">
<xs:element name="Action" type="xs:string"/>
<xs:element name="To" type="xs:string"/>
</xs:schema>
Step2: save this as ActionHeader.xsd and checked the custom header option for request and upload the file to invoke configure adapter.
Note: For each element in the SOAP header, the schema must be imported separately. In this case, since we have two elements (Action and To), the schema needs to be imported twice, and each element has to be selected individually.
Friday, August 4, 2023
OIC XSD - How to validate if any field is empty while reading the file | add restriction to a schema field
Usecase: Here, we are reading a file. During reading, we need to validate field C1 if it is empty . If the any of the field C1 is empty, we have to fail it from further processing.
Steps:
- Add attribute nxsd:fieldValidation="true" to the schema.
- Add the restriction minLength value="1" block to the field to validate.
Schema used:
<?xml version="1.0" encoding="UTF-8" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:nxsd="http://xmlns.oracle.com/pcbpel/nxsd" xmlns:tns="http://TargetNamespace.com/fileReference" targetNamespace="http://TargetNamespace.com/fileRefeference" elementFormDefault="qualified" attributeFormDefault="unqualified" nxsd:version="NXSD" nxsd:stream="chars"
nxsd:fieldValidation="true"
nxsd:encoding="US-ASCII">
<xsd:element name="Root-Element">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Employee" minOccurs="1" maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="C1" nxsd:style="terminated" nxsd:terminatedBy="," nxsd:quotedBy=""">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:minLength value="1"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="C2" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="${eol}" nxsd:quotedBy="""/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
Thursday, August 3, 2023
Excel - How to sum of all positve numbers or negative numbers from a range of values
Usecase: we have a range of numbers in excel file, we have to sum all positive numbers and negative numbers separately from that range.
Steps: Use SUMIF() function to achieve this requirment:
To sum positive numbers
=SUMIF(G2:G366,"<0")
Output: -2590
To sum positive numbers
=SUMIF(G2:G366,">0")
Output: 2590
Featured Post
OIC - OIC Utility to Reprocess Failed Real-Time Integration JSON Payloads
📌 Use Case In real-time OIC integrations, JSON payloads are exchanged with external systems via REST APIs. When such integrations fail (du...

-
OIC interview Q & A: We have divided the interview questions into 3 sections: Non- Technical, Technical shorts and Scenario based questi...
-
Stage or vfs or virtual file system is a temporary location in the oic local file system which stores temporary files required for processin...
-
Please find the following links for OIC hands on and relevant information: Oracle Integration Cloud Introduction | Benefits | Services offer...
-
In Oracle Integration Cloud (OIC), the most commonly used XSLT functions are primarily focused on transforming, filtering, and manipulating ...
-
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 demonstrate the detailed implementation steps for AP Invoice FBD Import from polling the file from source >> cr...
-
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...
-
OIC generation 3 links: Oracle Integration Generation 3 New Features Integration patterns and how to define schedules About RBAC - Resource ...
-
Reasons to use Projects: Build, Manage and Monitor in one place. Manage integrtaion releases. Control access with RBAC. Use and customize pr...
-
Following are the oracle fusion job schedule processes tables which helps to extract the submitted ESS job requests: ESS_Request_History ESS...