We can use the string-length() in conjunction with substring to get the last 4 characters
<xsl:value-of select="substring(cbc:Note, string-length(cbc:Note) - 3)" />
Example:
Input: Note: abcdefg1234
Output: 1234
We can use the string-length() in conjunction with substring to get the last 4 characters
<xsl:value-of select="substring(cbc:Note, string-length(cbc:Note) - 3)" />
Example:
Input: Note: abcdefg1234
Output: 1234
Oneway users Wsdl file:
<?xml version="1.0" encoding="UTF-8"?>
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:
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:
Usecase: Here, we will show you how to send or configure a custom HTTP header while invoking a External SOAP service.
The following highlighted Action header 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>
Implementation Steps:
Step1: Create header schema for the custom SOAP headers as below:
<xsd:schema elementFormDefault="qualified" targetNamespace="http://www.w3.org/2005/08/addressing"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:element name="Action" type="xsd:string"/> </xsd:schema>
Step2: save this as ActionHeader.xsd and checked the custom header option for request and upload the file to invoke configure adapter.
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:
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>
1. Export 11g OSB code and import in 12c Jdeveloper. Steps to import OSB project in Jdeveloper: File⇾Import⇾Service Bus Resources⇾ Se...