Using Soap Adapter Oracle Integration PDF
Using Soap Adapter Oracle Integration PDF
Using Soap Adapter Oracle Integration PDF
E85422-15
June 2019
Oracle Cloud Using the SOAP Adapter with Oracle Integration,
E85422-15
Copyright © 2017, 2019, Oracle and/or its affiliates. All rights reserved.
This software and related documentation are provided under a license agreement containing restrictions on
use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your
license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify,
license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means.
Reverse engineering, disassembly, or decompilation of this software, unless required by law for
interoperability, is prohibited.
The information contained herein is subject to change without notice and is not warranted to be error-free. If
you find any errors, please report them to us in writing.
If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on
behalf of the U.S. Government, then the following notice is applicable:
U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software,
any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are
"commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-
specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the
programs, including any operating system, integrated software, any programs installed on the hardware,
and/or documentation, shall be subject to license terms and license restrictions applicable to the programs.
No other rights are granted to the U.S. Government.
This software or hardware is developed for general use in a variety of information management applications.
It is not developed or intended for use in any inherently dangerous applications, including applications that
may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you
shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its
safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this
software or hardware in dangerous applications.
Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of
their respective owners.
Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are
used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron,
the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro
Devices. UNIX is a registered trademark of The Open Group.
This software or hardware and documentation may provide access to or information about content, products,
and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly
disclaim all warranties of any kind with respect to third-party content, products, and services unless otherwise
set forth in an applicable agreement between you and Oracle. Oracle Corporation and its affiliates will not be
responsible for any loss, costs, or damages incurred due to your access to or use of third-party content,
products, or services, except as set forth in an applicable agreement between you and Oracle.
Contents
Preface
Audience v
Documentation Accessibility v
Related Resources v
Conventions vi
iii
Request Header Page 4-4
Response Header Page 4-5
Invoke Callback Operation Page 4-6
Summary Page 4-7
iv
Preface
This guide describes how to configure the SOAP Adapter as a connection in an
integration in Oracle Integration.
Note:
The information in this guide applies to all of your Oracle Integration
instances. It doesn’t matter which edition you’re using, what features you
have, or who manages your cloud environment. You’ll find what you need
here, including notes about any differences between the various flavors of
Oracle Integration when necessary.
Topics
• Audience
• Documentation Accessibility
• Related Resources
• Conventions
Audience
This guide is intended for developers who want to use the SOAP Adapter in
integrations in Oracle Integration.
Documentation Accessibility
For information about Oracle's commitment to accessibility, visit the Oracle
Accessibility Program website at http://www.oracle.com/pls/topic/lookup?
ctx=acc&id=docacc.
Related Resources
See these Oracle resources:
v
Preface
• Oracle Cloud
http://cloud.oracle.com
• Using Integrations in Oracle Integration
• Using the Oracle Mapper with Oracle Integration
Conventions
The following text conventions are used in this document:
Convention Meaning
boldface Boldface type indicates graphical user interface elements associated
with an action, or terms defined in text or the glossary.
italic Italic type indicates book titles, emphasis, or placeholder variables for
which you supply particular values.
monospace Monospace type indicates commands within a paragraph, URLs, code
in examples, text that appears on the screen, or text that you enter.
vi
1
Understand the SOAP Adapter
Review the following conceptual topics to learn about the SOAP Adapter and how to
use it as a connection in integrations in Oracle Integration. A typical workflow of
adapter and integration tasks is also provided.
Topics:
• SOAP Adapter Capabilities
• What Application Version Is Supported?
• Workflow to Create and Add a SOAP Adapter Connection to an Integration
Note:
The SOAP Adapter treats all endpoints as they are exposed. The SOAP
Adapter does not filter or change any of the APIs exposed by the application
to which you are connecting. If there is a native adapter for the application to
which you are connecting, use that adapter instead. If you choose to use the
SOAP Adapter instead of the native adapter, the API restrictions and
deprecation policies apply as specified in the respective application’s
documentation. To connect to the Oracle HCM Cloud SOAP APIs, see
Oracle HCM Cloud Adapter Capabilities.
Important:
Integrations exposed as SOAP APIs (using a SOAP Adapter-specific
connection configured as a trigger) cannot accept attachments.
1-1
Chapter 1
SOAP Adapter Capabilities
– Ensures that an incoming structured payload (XML) from a client does not
exceed 10 MB in size. If the size of the payload exceeds 10 MB, an HTTP
error code message is returned to the client.
– Ensures that an incoming unstructured payload (MTOM) from a client does not
exceed 512 MB in size. If the size of the payload exceeds 512 MB, an HTTP
error code message is returned to the client.
– Allows configuring only HTTPS protocol-based SOAP endpoints for accepting
incoming SOAP requests.
– Supports configuring the inbound SOAP endpoints using the following security
policies: HTTP Basic Authentication, WS-Username token-based
authentication, OAuth 2.0, and Security Assertion Markup Language (SAML)
(see SAML Policy Security Support in the Trigger (Inbound) Direction and
OAuth 2.0 Policy Security Support in the Trigger (Inbound) Direction).
– Supports accessing of standard and custom SOAP/HTTP header properties
present in the incoming SOAP request and making them available as part of
an Oracle Integration message for any processing in subsequent actions (see
Support for Adding Standard and Custom SOAP and HTTP Headers).
– Enables you to implement the following message exchange patterns on the
inbound SOAP endpoint: synchronous request/response, one-way request,
and asynchronous request with callback support.
– Supports TLS server v1.2 in the trigger (inbound) direction.
• SOAP Adapter capabilities when configured as an invoke:
– Allows invocation of an HTTPS protocol-based external SOAP endpoint,
thereby encrypting the communications using transport layer security (TLS)
(see Transport Layer Security Version Support).
– Allows invocation of HTTP protocol-based SOAP endpoints.
– Allows invocation of external SOAP endpoints that are unprotected and
protected using HTTP Basic Authentication and WS-Username token-based
authentication.
– Allows invocation of external SOAP endpoints hosted on TLS servers v1.1 and
v1.2.
– Supports invocation of two-way, SSL-enabled external SOAP endpoints (see
Two-Way SSL Support for Outbound Connections).
– Supports configuration of standard and custom SOAP/HTTP header properties
available to the outbound SOAP request (see Support for Adding Standard
and Custom SOAP and HTTP Headers).
– Supports invocation of external SOAP endpoints that implement the following
message exchange patterns: synchronous request/response, one-way
request, and asynchronous request with callback support (using WS-
Addressing) (see Asynchronous Callback Response Support in the Invoke
(Outbound) Direction).
– Supports propagation of the subject between co-located modules (for
example, integrations to processes and processes to integrations). This
enables the module to provide custom features and restrictions based on the
current subject. When an integration invokes another process or integration,
the subject is propagated using a JWT token. Similarly, when a process
invokes an integration, it propagates the subject using JWT (see Support for
Invoking Co-located SOAP Endpoints).
1-2
Chapter 1
What Application Version Is Supported?
1-3
Chapter 1
Workflow to Create and Add a SOAP Adapter Connection to an Integration
1-4
2
SOAP Adapter Concepts
The following sections describe SOAP Adapter capabilities in more detail.
Topics:
• SOAP Specifications
• Transport Layer Security Version Support
• Version Suppression of the Timestamp in the WS-Security Header
• Ability to Specify if the Timestamp is Not Required in the Response Message
• SOAP Action Validation Disabling for Inbound Requests
• Asynchronous Callback Response Support in the Invoke (Outbound) Direction
• Support for Adding Standard and Custom SOAP and HTTP Headers
• Support for Multiple Part Messages in Document-Style WSDLs
• Two-Way SSL Support for Outbound Connections
• SAML Policy Security Support in the Trigger (Inbound) Direction
• OAuth 2.0 Policy Security Support in the Trigger (Inbound) Direction
• Asynchronous Trigger Support in Orchestrated Integrations
• Support for Invoking Co-located SOAP Endpoints
• Support for Uploading a WSDL with Schemas in a ZIP File
• Support for Using MTOM to Transfer Large Binary Payloads
• Support for Dynamic Endpoints
SOAP Specifications
The following specifications are supported:
• SOAP 1.2
• WS-I Security (for SSL, TLS, and ciphers)
• SOAP 1.1 binding for MTOM
• WS-Addressing
• WS-Security Username Token
2-1
Chapter 2
Support for Adding Standard and Custom SOAP and HTTP Headers
Adding standard and custom SOAP and HTTP headers to outbound and inbound
requests and handling the responses with headers to propagate back to the user are
supported. This configuration enables header configuration for the inbound service
and header propagation for the outbound service. WS-Addressing headers
propagation is not supported (for example, MessageId, ReplyTo, FaultTo, and so on).
All header information and body elements are encapsulated under a single element so
the mapper can display request and response information. See Add the SOAP
Adapter Connection to an Integration.
2-2
Chapter 2
– Implicit headers:
With this type, the request header and body part are in different message
types. In the binding section of the WSDL, the header uses the part name
within the message type and message type name. The body does not have
any part names explicitly defined in it.
<wsdl:message name="CreateUserRequestHeader">
<wsdl:part name="requestHeader" element=" tns:UserCreate"/>
</wsdl:message>
<wsdl:message name="CreateUserRequest">
<wsdl:part element="tns:UserCreateHeader" name="parameters"/>
</wsdl:message>
<wsdl:binding name="UserBinding" type="tns:UserEndPoint">
<soap:binding style="document" transport="http://
schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="CreateUser">
<soap:operation soapAction="http://example.com/CreateUser" />
<wsdl:input> <soap:body use="literal" />
<soap:header use="literal" part="requestHeader"
message="tns:CreateUserRequestHeader"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:binding/>
– Explicit headers:
With this type, there are multiple parts in a single message type in the WSDL:
one for the header and one for the body payload. The header is specified by
its part name. The body uses its own name.
<wsdl:message name="CreateUserRequest">
<wsdl:part element="tns:UserCreateHeader" name="parameters"/>
<wsdl:part name="requestHeader" element=" tns:UserCreate"/>
</wsdl:message>
<wsdl:binding name="UserBinding" type="tns:UserEndPoint">
<soap:binding style="document" transport="http://
schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="CreateUser">
<soap:operation soapAction="http://example.com/CreateUser" />
<wsdl:input> <soap:body use="literal" />
<soap:header use="literal" part="requestHeader"
message="tns:CreateUserRequest"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:binding/>
2-3
Chapter 2
Note:
Without specifying a header, multiple parts in a document-style
WSDL are not supported.
When you invoke the Adapter Endpoint Configuration Wizard to configure the
SOAP Adapter as a trigger or invoke, the Operations page detects that the WSDL
includes defined SOAP request and/or response headers and automatically
enables the button to configure SOAP headers for the endpoint. You can select
No to remove the headers for the endpoint. You cannot modify these headers. The
subsequent Request Header and Response Header pages of the WSDL load and
show the specific headers defined in the WSDL. See Add the SOAP Adapter
Connection to an Integration.
2-4
Chapter 2
2-5
Chapter 2
Note:
You cannot switch from an asynchronous trigger/callback invoke to
nonasynchronous trigger/invoke.
2-6
Chapter 2
For this example, the main WSDL reference must be corrected to reference
EnterpriseObjectLibrary as shown.
<xsd:import namespace="http://xmlns.oracle.com/EnterpriseObjects/
Core/EBO/SalesOrder/V2" schemaLocation="./EnterpriseObjectLibrary/
Core/EBO/SalesOrder/V2/SalesOrderEBM.xsd"/>
<xsd:import namespace="http://xmlns.oracle.com/EnterpriseObjects/Core/
Common/V2" schemaLocation="./EnterpriseObjectLibrary/Core/Common/V2/
Meta.xsd"/>
• The ZIP file contains a main WSDL (for this example, named service.wsdl) and
references another WSDL and XSDs:
• The ZIP file contains a WSDL (for this example, named service.wsdl) and any
number of XSD dependencies in the same directory.
2-7
Chapter 2
Note:
MTOM upload/download cannot be invoked asynchronously with a large
payload and high concurrency. This scenario can result in an out-of-memory
error depending upon payload size and concurrency. Take care in your
design. For example, in a scheduled orchestrated integration with scheduling
set to every 10 minutes, four flows can run consistently with 512 MB payload
every 10 minutes on a two-node Oracle Integration cluster without any out-
of-memory errors.
2-8
Chapter 2
2-9
Chapter 2
2-10
Chapter 2
Note:
2-11
3
Create a SOAP Adapter Connection
A connection is based on an adapter. You define connections to the specific cloud
applications that you want to integrate.
Topics:
• Prerequisites for Creating a Connection
• Create a Connection
• Upload an SSL Certificate
Create a Connection
The first step in creating an integration is to create the connections to the applications
with which you want to share data.
Note:
You can also create a connection in the integration canvas of:
• An orchestrated integration (See Define Inbound Triggers and
Outbound Invokes.)
• A basic routing integration (See Add a Trigger (Source) Connection.)
3-1
Chapter 3
Create a Connection
5. Click Create.
Your connection is created and you are now ready to configure connection details,
such as email contact, connection properties, security policies, connection login
credentials, and (for certain connections) agent group.
3-2
Chapter 3
Create a Connection
1. In the Email Address field, enter an email address to receive email notifications
when problems occur.
2. In the upper right corner, click Save.
3-3
Chapter 3
Create a Connection
5. In the Ignore timestamp in the response message (Optional) field, specify if the
timestamp is not required in the response message.
• Yes: The timestamp is not required in the response message. If the timestamp
is present in the SOAP security header when the response is received from
the service , it is ignored.
• No: The timestamp is received in the response from the service is not ignored.
6. In the Enable two way SSL for outbound connection field, select Yes if you
want to enable two-way SSL communication.
7. In the Name of the certificate to use for SSL communication field, enter the
key alias name configured for two-way SSL communication. This is the name you
entered in the Key Alias Name field when uploading the identity certificate in the
Upload Certificate dialog. See Upload an SSL Certificate.
8. Click OK.
9. Configure connection security.
3-4
Chapter 3
Create a Connection
3-5
Chapter 3
Create a Connection
Note:
If no timestamp is included as part of the header, configure the SOAP
Adapter connection with the Basic Authentication security policy (oracle/
http_basic_auth_over_ssl_client_policy) and set Suppress insertion of
timestamp into the request (Optional) to Yes.
4. Click OK.
3-6
Chapter 3
Upload an SSL Certificate
To configure an agent group, you must download and install the on-premises
connectivity agent. See Download and Run the On-Premises Agent Installer and
About Agents and Integrations Between On-Premises Applications and Oracle
Integration in Using Integrations in Oracle Integration.
3-7
Chapter 3
Upload an SSL Certificate
4. In the Upload Certificate dialog box, select the certificate type. Each certificate
type enables Oracle Integration to connect with external services.
• Trust Certificate: Use this option to upload a trust certificate.
a. Enter a unique alias for the certificate.
b. Click Browse, then select the trust file (for example, .cer or .crt) to
upload.
• Message Protection Certificate: Use this option to upload a keystore
certificate with SAML token support. Create, read, update, and delete (CRUD)
operations are supported on this type of certificate.
a. Enter a unique alias for the certificate.
b. Click Browse, then select the certificate file (.cer or .crt) to upload.
• Identity Certificate: Use this option to upload a certificate for two-way SSL
communication.
a. Click Browse, then select the keystore file (.jks) to upload.
b. Enter the password of the keystore being imported.
c. Enter the comma-separated list of aliases from the keystore being
imported.
d. Enter the comma-separated list of passwords corresponding to key
aliases.
e. If you want to display the passwords in clear text, select Show Key
Password(s). This enables you to ensure that you are correctly entering a
list of keystore passwords.
5. Click Upload.
6. Click the certificate name to view details such as the subject of the certificate, the
issuer of the certificate, the date the certificate was issued, and the date the
certificate expires.
3-8
4
Add the SOAP Adapter Connection to an
Integration
When you drag the SOAP Adapter into the trigger or invoke area of an integration, the
Adapter Endpoint Configuration Wizard appears. This wizard guides you through the
configuration of the SOAP Adapter endpoint properties.
These topics describe the wizard pages that guide you through configuration of the
SOAP Adapter as a trigger or invoke in an integration.
Topics:
• Basic Info Page
• Trigger Operation Page
• Trigger Callback Operation Page
• Invoke Operation Page
• Header Page
• Request Header Page
• Response Header Page
• Summary Page
Element Description
What do you want to call your endpoint? Provide a meaningful name so that others can
understand the responsibilities of this
connection. You can include English
alphabetic characters, numbers, underscores,
and dashes in the name. You cannot include
the following:
• Blank spaces (for example, My Inbound
Connection)
• Special characters (for example, #;83&
or righ(t)now4)
• Multibyte characters
What does this endpoint do? Enter an optional description of the
connection’s responsibilities. For example:
This connection receives an inbound
request to synchronize account
information with the cloud
application.
4-1
Chapter 4
Trigger Operation Page
Element Description
Do you want to configure this as a callback Select Yes to configure the SOAP Adapter as
invoke? a callback invoke. This option is only available
when configuring the SOAP Adapter as an
invoke in an orchestrated integration. See
Asynchronous Trigger Support in Orchestrated
Integrations.
Element Description
Selected Port Type Displays the selected port type. If your WSDL
includes multiple port types, select the port
type.
Select the Operation Displays the selected operation. If your WSDL
includes multiple operations, select the
operation.
Request Object Displays the request object (if your WSDL
includes request objects).
Response Object Displays the response object (if your WSDL
includes response objects).
Disable SoapAction validation Select Yes to disable SOAP action validation
for inbound requests. This is useful for
environments in which your WSDL includes
custom code and you want to bypass
validation. When set to No (the default),
Oracle Integration validates the SOAP action
to ensure that it matches the WSDL.
Element Description
No Response Select if a one-way call without a response is
expected.
Delayed Response Select if a delayed callback response is
expected.
4-2
Chapter 4
Invoke Operation Page
Element Description
Selected Port Type Displays the selected port type. If your WSDL
includes multiple port types, select the port
type.
Selected Operation Displays the selected operation. If your WSDL
includes multiple operations, select the
operation.
Request Object Displays the request object (if your WSDL
includes request objects).
Response Object Displays the response object (if your WSDL
includes response objects).
Header Page
Enter the header details for the SOAP Adapter. The following table describes the key
information on the Oracle SOAP Adapter Header page. The headers you specify are
applied to the request and/or response object of the selected operation. The selected
elements are included under respective wrapper elements in the integration WSDL
and are displayed in the mapper as a request and/or response.
Element Description
Configure MTOM Attachment Options MTOM attachment options are shown when a
base64Binary element is present in the WSDL
messages for a given operation in both the
request and response messages (for
synchronous integrations).
• Send attachments in request: Select to
configure MTOM for the outbound
request.
• Accept attachments in response: Select
to configure MTOM for the outbound
response.
4-3
Chapter 4
Request Header Page
Element Description
Do you want to configure headers for this Select Yes, then select the headers to include.
Endpoint? Yes is automatically selected for you in the
following situations:
• Your endpoint already contains SOAP
headers.
• An asynchronous trigger (trigger with a
one-way operation selected on the
Operations Page and Delayed Response
selected on the Callback Operations
page) or callback invoke (invoke with Do
you want to configure this as a
callback invoke? set to Yes on the Basic
Info page) was configured. The selection
is disabled in this case and cannot be
modified.
SOAP Headers This option is automatically selected in the
following situations and cannot be modified:
• Your endpoint already contains SOAP
headers.
• An asynchronous trigger (trigger with a
one-way operation selected on the
Operations Page and Delayed Response
selected on the Callback Operations
page) or callback invoke (invoke with Do
you want to configure this as a
callback invoke? set to Yes on the Basic
Info page) was configured.
Standard HTTP Headers Select this check box to add standard HTTP
headers in the request and/or response.
Custom HTTP Headers Select this check box to add custom HTTP
headers in the request and/or response.
Custom SOAP Headers Select this check box to add custom SOAP
headers in the request and/or response.
Note:
Based on the selections made on this page, separate tabbed pages are
shown in the Request Header page and/or Response Header page for
configuring the selected headers.
4-4
Chapter 4
Response Header Page
4-5
Chapter 4
Invoke Callback Operation Page
Element Description
No Response Select if a no callback response is expected.
Delayed Response Select if a delayed callback response is
expected.
Select the Port Type Select the port type to use for the
asynchronous callback response.
Selected Callback Operation View the callback operation associated with
the selected port type. In the case of multiple
operations, Select the operation.
Flow Identifier Specify the name of the callback integration.
(that is, to be used in the request integration).
The identifier value must be the same as the
callback integration flow identifier seen in
Oracle Integration integrations.
Flow Version Specify the version number of the callback
integration. The version value must be the
same as the callback integration flow version
seen in Oracle Integration integrations.
4-6
Chapter 4
Summary Page
Summary Page
You can review the specified adapter configuration values on the Summary page.
Element Description
Summary Displays a summary of the configuration
values you defined on previous pages of the
wizard.
The information that is displayed can vary by
adapter. For some adapters, the selected
business objects and operation name are
displayed. For adapters for which a generated
XSD file is provided, click the XSD link to view
a read-only version of the file.
To return to a previous page to update any
values, click the appropriate tab in the left
panel or click Back. Click Cancel to cancel
your configuration details.
4-7
5
Implement Common Patterns Using the
SOAP Adapter
You can use the SOAP Adapter to implement the following common patterns.
Topics:
• Create an Integration that Consumes External REST APIs Hosted on a Two-Way
SSL-Enabled Server
• Configure MTOM Support in the SOAP Adapter
• Consume Taleo SOAP APIs
• Invoke a SOAP-Based Integration with a Timestamp
• Configure Custom SOAP Headers for the SOAP Adapter
• Call an Oracle Fusion Applications Business Intelligence Publisher Report
Synchronously
Note:
You must satisfy the following prerequisites:
• Ensure that the server on which the external REST APIs are hosted is
enabled for two-way SSL support.
• File a service request with Oracle Support Services to obtain the
keystore file used for establishing an Oracle Integration identity to
facilitate a two-way SSL-based integration.
5-1
Chapter 5
Create an Integration that Consumes External REST APIs Hosted on a Two-Way SSL-Enabled Server
Upload the trust certificate for the server hosting the REST APIs to consume. This
certificate is required for the outbound call.
1. Click Upload, then specify the following:
• Certificate Type: Select Trust Certificate.
• Certificate Alias Name: Enter a name.
• Select Certificate File (.cer/.crt/...): Select the file.
5-2
Chapter 5
Create an Integration that Consumes External REST APIs Hosted on a Two-Way SSL-Enabled Server
5-3
Chapter 5
Configure MTOM Support in the SOAP Adapter
2. For the response mappings, map source elements to target elements. For this
example, PartyId is mapped to PartyId and PartyName is mapped to
PartyName.
MIME-Version: 1.0
Content-Type: Multipart/Related; boundary=MIME_boundary;
type="application/soap+xml"; start="<[email protected]>"
--MIME_boundary
Content-Type: application/soap+xml; charset=UTF-8
Content-Transfer-Encoding: 8bit
Content-ID: <[email protected]>
<Envelope>
<Body>
<ReceiveImage>
<filename>abc.jpg</filename>
<image>.... JPEG image base64 .....</image>
5-4
Chapter 5
Configure MTOM Support in the SOAP Adapter
</ReceiveImage>
</Body>
</Envelope>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
xmlns:xop='http://www.w3.org/2004/08/xop/include'
xmlns:xop-mime='http://www.w3.org/2005/05/xmlmime'>
<soap:Body>
<Order>
<orderNumber>ABC</orderNumber>
<orderType>backorder</orderType>
<image xop-mime:content-type='image/jpeg'>
<image xop-mime:content-type='image/jpeg'>
</image>
</Order>
</soap:Body>
</soap:Envelope>
--MIME_boundary
Content-Type: image/jpeg
Content-Transfer-Encoding: binary
Content-ID: <[email protected]> 4
--MIME_boundary--
5-5
Chapter 5
Configure MTOM Support in the SOAP Adapter
Design Time
When you configure the SOAP Adapter as an invoke connection in an integration,
MTOM attachment options are shown in the Adapter Endpoint Configuration Wizard
when a base64Binary element is present in the WSDL messages for a given operation
in both request and response messages (for synchronous).
1. Specify the base64Binary element-based WSDL in the Connections page when
configuring the SOAP Adapter.
2. Enable the appropriate Send attachments in request (for outbound request) and
Accept attachments in response (for outbound response) options to enable
MTOM processing for that endpoint.
5-6
Chapter 5
Configure MTOM Support in the SOAP Adapter
For example:
Mapping
1. For an outbound request, any attachment reference from the virtual file system
(VFS) can be mapped to the base64Binary element of the outbound message. As
shown below, attachmentReference from the REST source is mapped to the
base64Binary element of the message.
2. For an outbound response, the attachment is saved to the VFS and the
base64Binary element of the payload holds the VFS reference. The VFS reference
can be further used to map it to a REST resource or an FTP Adapter:
5-7
Chapter 5
Consume Taleo SOAP APIs
Runtime
During runtime, MTOM processing is triggered based on the availability of the
attachmentXpathInfo and attachmentXpathInfoForResponse properties in the JCA
file. This information is persisted during design time.
In the outbound request, the XPath information given by attachmentXpathInfo in the
JCA file creates an attachment in the cloud message and structures the SOAP
message in the MTOM-specific format.
In the outbound response, the logic checks if there is any attachment received in the
response of the cloud message, which is further saved in the VFS. The node
represented by the property attachmentXpathInfoForResponse substitutes it with the
VFS reference of the attachment in the cloud message.
If this error occurs, add a timestamp to your WSS security. For example:
<soap:Header>
<wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/
oasis-200401-wss-wssecurity-secext-1.0.xsd">
5-8
Chapter 5
Configure Custom SOAP Headers for the SOAP Adapter
<wsu:Timestamp wsu:Id="IS-918F6052E6918D5F2414550387589204">
<wsu:Created>2017-04-17T17:20:50.9200</wsu:Created>
<wsu:Expires>2017-04-17T17:21:50.9200</wsu:Expires>
</wsu:Timestamp>
<wsse:UsernameToken>
<wsse:Username>Joe</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-
wss-username-token-profile-1.0#PasswordText">My_password</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</soap:Header>
3. On the Request page and/or Response page, upload a valid schema from which
an element can be selected as a custom SOAP header. Note the following
restrictions on schemas to upload.
• The schema to upload must have a targetNamespace.
5-9
Chapter 5
Configure Custom SOAP Headers for the SOAP Adapter
• Endpoints that expect custom SOAP headers without a namespace are not
supported.
• Ensure the schema is defined with elementFormDefault as qualified (for
child elements with a namespace prefix) or unqualified (for child elements
without a namespace prefix), as required.
• A schema with dependencies (imports/includes/cross references) is not
supported. See Example Schemas.
• Only one element can be selected as a header from the uploaded schema. To
select multiple elements:
– For the same targetNamespace, a schema must be uploaded again for
each element.
– For a different targetNamespace, a different schema with required
targetNamespace can be used.
4. Select the required element from the list of elements displayed from the uploaded
schema.
5. Click Add Header to add the element to the configured headers table.
Example Schemas
The following schema includes a targetNamespace. A prefix for a child is required.
Schema XML
The following schema includes a targetNamespace. A prefix for a child is not required.
5-10
Chapter 5
Call an Oracle Fusion Applications Business Intelligence Publisher Report Synchronously
Schema XML
Note:
Upon calling a BIP report synchronously, the request sent to the BIP web
service initiates report generation and sends a response back after the report
is generated. This can cause latency issues in an Oracle Integration
environment.
5-11
6
Troubleshoot the SOAP Adapter
Review the following topics to learn about troubleshooting issues with the SOAP
Adapter.
Topics:
• Regenerate the SOAP Adapter Connection After WSDL Definition Updates
• Use the Correct SoapUI Version to Load and Test SOAP Endpoints
• Edit Adapter Connections in Active Integrations
• Multiple SOAP Adapter Invokes with Custom Headers Created Prior to 17.4.3
• SOAP Endpoint Invocation Fails with OSB-380001: mustUnderstand Error
• Specify Connection Property Values with the REST API
• Callback Integrations Fail with a Configured SOAP Action Mismatch Error
• Integrations Fail with SAML Security Policy Selected in Inbound Direction
• Schemas Not Successfully Loaded in Mapper When Using Headers Configured
with WSDLs Ending in asmx
• Resolve SOAP Action Mismatch Errors in the SoapUI
• Resolve Exceptions While Invoking Oracle Integration From External Clients
• Connection Error When Using the Incorrect TLS Version
• Extra Information is Included in the Response Headers Returned as Part of the
Response Message
• Basic Authentication Fields are Unavailable when Updating a SOAP Adapter
Connection after Importing a 16.2.5 Integration
• Unexpected Use of the Suppression Insertion of Timestamp into WS-Security
Header Feature in the SOAP Adapter Causes an Unrelated Error Response
• Pre-17.2.5 Integration Failures with an Invoke SOAP Adapter Configured with the
Basic Authentication Security Policy and Suppress Timestamp Set to No
Additional integration troubleshooting information is provided. See Troubleshoot
Oracle Integration in Using Integrations in Oracle Integration.
6-1
Chapter 6
Use the Correct SoapUI Version to Load and Test SOAP Endpoints
-Dsoapui.https.protocols=TLSv1.2
6-2
Chapter 6
Multiple SOAP Adapter Invokes with Custom Headers Created Prior to 17.4.3
Note:
Manual updating is not recommended because the change can impact
downstream mappings and assignments based on the integration
design.
6-3
Chapter 6
SOAP Endpoint Invocation Fails with OSB-380001: mustUnderstand Error
<fault xmlns="http://www.bea.com/wli/sb/context">
<errorCode>OSB-380001</errorCode><
<reason>Fault received on invocation of target : https://host:port/endpoint
<![CDATA[ Fault Code : codeNS:MustUnderstand Fault String : Unprocessed
'mustUnderstand' header element:
{http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-
secext-1.0.xsd}
Security ]]> </reason>
<location>node>RouteNode1</node><path>response-pipeline</path>
</location>
</fault>
Solutions:
• If the SOAP Adapter connection was created with a static WSDL file or dynamic
WSDL URL (valid URL), but the connection fails at runtime with the following error/
fault message pointing to an unexpected host/port or endpoint URL, ensure that
the WSDL has the correct service endpoint URL.
<service name="PrecisionService">
<port binding="tns:PrecisionServiceBinding" name="PrecisionPort">
<soap:address
location="http://correct_host:correct_port/correct_soap_endpoint>"/>
</port>
</service>
• If the WSDL has incorrect endpoint information as seen in the fault message, fix
the WSDL service port to resolve the issue.
6-4
Chapter 6
Callback Integrations Fail with a Configured SOAP Action Mismatch Error
Configuration Property If Yes, Set the Property as If No, Set the Property as
Follows: Follows:
Suppress insertion of
timestamp into the request "propertyName" : "propertyName" :
(Optional) "suppressTimestampForRe "suppressTimestampForRe
quest", quest",
"propertyValue" : "propertyValue" :
"true" "false"
Specify the Transport Layer Security (TLS) version of the target server as follows.
For cases in which Oracle Integration calls Oracle Integration and you need to specify
the TLS version, it should always be TLSv1.2.
6-5
Chapter 6
Integrations Fail with SAML Security Policy Selected in Inbound Direction
As a workaround add the prefix declarations manually in the schemas, re-import the
IAR file and proceed. The following is an example of the schema in the WSDL after
artifact generation:
<s:schema elementFormDefault="qualified"
targetNamespace="http://webservices.com/1.0/Core/"
xmlns:s="http://www.w3.org/2001/XMLSchema"
xmlns:s4="http://webservices.com/1.0/Core/">
....
</s:schema>
6-6
Chapter 6
Resolve Exceptions While Invoking Oracle Integration From External Clients
action identifier read/available from the WSDL file. To resolve this error, update the
default SOAP action with SOAP headers that include empty values.
1. Start the SoapUI.
2. Import the WSDL.
3. Click the Header tab at the bottom of the page.
4. Click the + button to create a header.
The Add HTTP Header dialog is displayed.
5. Specify the name of the header to add (for example, SoapAction)
6. Update the value for the SOAP action header. For this example, the Value field is
left empty to match the Salesforce Adapter.
7. Verify the updated headers by clicking the Raw tab.
6-7
Chapter 6
Connection Error When Using the Incorrect TLS Version
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/
oasis-200401-wss-username-
token-profile-1.0#PasswordText">welcome2</wsse:Password>
<wsse:Nonce EncodingType="http://docs.oasis-open.org/wss/2004/01/
oasis-200401-wss-soap-
message-security-1.0#Base64Binary">Jkyg2D3NCGPBs5q6j/jhQg==</wsse:Nonce>
<wsu:Created>2017-04-12T09:01:10.208Z</wsu:Created> </
wsse:UsernameToken>
</wsse:Security>
6-8
Chapter 6
Extra Information is Included in the Response Headers Returned as Part of the Response Message
Runtime Error:
"type" : "http://www.w3.org/Protocols/rfc2616/rfc2616-
sec10.html#sec10.5.1", "title" : "Internal Server Error",
"detail" : "Internal server error. Please contact oracle support for
details.",
"o:errorCode" : "500",
"o:errorDetails" : [ {
"type" : "UnMappedFault:execute",
"instance" : "\n \n \n \n \n \n SYSTEM_ADMINISTRATOR\n \n \n sysadmin\n \n
\n
...
...
<nstrgmpr:result>
<nsmpr6:PartyId>10</nsmpr6:PartyId>
<nsmpr6:PartyName>Acme Corp</nsmpr6:PartyName>
</nstrgmpr:result>
With a header:
<nsmpr2:result>
<nsmpr8:PartyId
xmlns:nsmpr8="http://xmlns.oracle.com/apps/cdm/foundation/parties/
organizationService/">10
</nsmpr8:PartyId>
<nsmpr8:PartyName
xmlns:nsmpr8="http://xmlns.oracle.com/apps/cdm/foundation/parties/
organizationService/">Acme Corp
</nsmpr8:PartyName>
</nsmpr2:result>
6-9
Chapter 6
Basic Authentication Fields are Unavailable when Updating a SOAP Adapter Connection after Importing a 16.2.5 Integration
<errorCode>OSB-380001</errorCode>
<reason>InvalidSecurityToken : The security token is not valid.</reason>
6-10