Web Services : SOAP, REST Services
Introduction: Web Services are services offered over the web that enable communication between different applications. They allow systems built on different technologies, platforms, or programming languages to exchange data using open standards such as XML, WSDL, SOAP, and REST.
What Are Web Services?
A Web Service enables interaction between applications over the internet
Key Characteristics:
- Platform independent
- Language independent
- Uses open standards
- Supports system-to-system communication
Common Types of Web Services:
- SOAP Web Services
- REST Web Services
Why Are Web Services Used?
Web services are mainly used for two purposes:
1. Reusable Application Components
Web services allow commonly used functionalities to be reused instead of being built repeatedly.
Examples:
- Currency conversion services
- Weather information services
- Language translation services
Applications can simply consume these services when needed.
2. Connecting Existing Applications
Web services enable data exchange between different applications and platforms.
Example:
An Oracle ERP system exchanging data with a banking system or a third-party application.
SOAP Services : SOAP stands for Simple Object Access Protocol. It is a protocol used to exchange structured data between applications using XML.
SOAP services are widely used in enterprise systems due to their strong structure, security, and reliability.
Key Features of SOAP:
- Uses XML for communication
- Platform and language independent
- Supports security standards
- Defined using WSDL
SOAP Message Structure
A SOAP message is an XML document with a fixed structure:
1. Envelope
Identifies the XML document as a SOAP message.
2. Header
Contains optional information such as:
- Security
- Authentication
- Transaction details
3. Body
Contains the actual request and response data exchanged between systems.
4. Fault
Used to return error details and status information when an error occurs.
WSDL stands for Web Services Definition Language.
It is an XML-based language used to describe a web service in detail.
A WSDL defines:
- What the service does
- How to call the service
- What input and output data it uses
- Where the service is located
SOAP Example in OIC
ESS Job Request Status – SOAP Service
Use Case
After submitting an ESS job, OIC calls a SOAP service to check the job execution status using the request ID.
SOAP Request Payload
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://xmlns.oracle.com/apps/financials/commonModules/shared/model/erpIntegrationService/types/"> <soapenv:Header/> <soapenv:Body> <typ:getESSJobRequestStatus> <typ:requestId>123456</typ:requestId> </typ:getESSJobRequestStatus> </soapenv:Body> </soapenv:Envelope>
requestId → ESS job ID returned when the job was submitted
SOAP Response Payload
(Received by OIC from Oracle ERP Cloud)
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Body> <getESSJobRequestStatusResponse> <result> <requestId>123456</requestId> <jobStatus>SUCCEEDED</jobStatus> <jobPhase>Completed</jobPhase> <startTime>2026-01-12T10:15:30</startTime> <endTime>2026-01-12T10:16:10</endTime> </result> </getESSJobRequestStatusResponse> </soapenv:Body> </soapenv:Envelope>
Status
- jobStatus → SUCCEEDED / RUNNING / ERROR
- jobPhase → Indicates current execution phase
REST Example in OIC
Get All Banks – REST Service
Use Case
OIC calls a REST API to fetch all bank details from Oracle Financials Cloud.
REST Request Payload
/fscmRestApi/resources/11.13.18.05/cashBanks
REST Response Payload
(Received by OIC)
{
"items": [
{
"BankId": 300000001234567,
"BankName": "State Bank of India",
"BankNumber": "SBI001",
"Country": "IN",
"Status": "Active"
},
{
"BankId": 300000001234568,
"BankName": "HDFC Bank",
"BankNumber": "HDFC002",
"Country": "IN",
"Status": "Active"
}
],
"count": 2,
"hasMore": false,
"limit": 25,
"offset": 0
}
Conclusion
Type |
Service |
Request |
Response |
SOAP |
ESS Job Status |
XML |
XML |
REST |
Get All Banks |
HTTP GET |
JSON |
Example
clearly show how OIC interacts with SOAP and REST services using real-world Oracle ERP scenarios:
- SOAP is best for structured enterprise operations like ESS job monitoring
- REST is ideal for lightweight data retrieval such as bank master data