20 Using the Oracle B2B Web Services

This chapter provides information about using the Oracle B2B Web Services. It contains the following topics:

20.1 Introduction to Oracle B2B Web Services

Oracle B2B exposes web services to retrieve the document details in Oracle JDeveloper. These are partner-facing web services, where the user can send messages to Oracle B2B. Similarly, Oracle B2B provides a web service exposed to the back end to receive the messages, and process and send to partner, based on the agreements deployed in Oracle B2B.

To use the Oracle B2B web services, create a web service proxy in your application in Oracle JDeveloper. The Web Services Description Language (WSDL) files for the web services are available at the following URLs on the system where Oracle B2B is installed.

http://host_name:port_number/b2b/services/

A URL suffixed with just a URL pattern of Servlet entered in the Web browser, without any URI, provides the list of WSDLs available for download (with no security restrictions).

Oracle B2B provides the following web service APIs:

Security For Oracle B2B Web Services

Oracle Web Services Manager allows integrating various types of policies without impacting the run time and flow of the web service, and it provides security of service infrastructure. Signing, encryption/decryption, authentication, authorization, auditing, and reporting will be provided by this tool kit. Hence, this web service implementation will not address the details of security, signing, and encryption. Web service methods hold the business logic instead of security details. Based on the policy enforced in Oracle Weblogic Server console, the web service client must attach security details with the web services port.

20.2 Using the Outbound Web Service

The Outbound Web Service is exposed as a built-in internal listening channel, and messages are enqueued to this service. Based on the details and headers in soap:body, agreement identification is done and the message are routed to the partner.

Table 20-1, Table 20-2, and Table 20-3 describe the Outbound Web Service request, response and fault notification message parameters.

Table 20-1 Outbound Web Service Request Parameters

Header Data Type Description Required

from

String

Host name or identification value

No

to

String

Trading Partner name or identification value

Yes

@type

String

Example: DUNS

Identification type

No

documentProtocolVersion

String

Example: 4010

Document type version

Yes Foot 1 

documentTypeName

String

Example: 850

Document type name

action

String

Example: PurchaseOrder

ebMS action name

service

String

Example: OrderProcessing

ebMS service name

serviceType

String

Example: string

Default: string

ebMS service type

messageId

String

Message ID given in this parameter is used to create APP_Message.

No

replyToMessageId

String

Example: <reply_msgID>:collaborationID

Holds the message ID of which message this reply goes to, along with the collaboration ID.

No

messageType

String

Type of the message

No

encoding

String

Example: ISO-8859-1

Default: UTF-8

Encoding format

No

payload

Xsd:anyType

Holds the payload

Yes

attachment

Xsd:anyType

Attachment, if any

No


Footnote 1 Either documentProtocolVersion and documentTypeName must be present, or action, service, and serviceType must be present. A custom generic case only requires action and not the others.

Table 20-2 Outbound Web Service Response Parameters

Header Data Type Description Required

isTransmitted

Boolean

If true, the message was successfully transmitted; otherwise false.

Yes


Table 20-3 Outbound Web Service Fault Message Parameters

Header Data Type Description

ExceptionMessage

String

If a fault is found, the Exception Stack Trace is transmitted.


20.3 Using the Translation Web Service

The Translation Web Service translates the XML payload, such as HL7, EDI, to native format.

Table 20-4, Table 20-5, and Table 20-6 describe the Translation Web Service request, response and fault notification message parameters.

Note:

If a non-EDI XML is sent, then the translated content contains the same payload as it is, provided the agreement matches in Oracle B2B server.

If the EDI XML is sent for translation, and the document is involved as part of a batch, then the translated response will not translate the payload.

Note:

The Translation Web Service translates the EDI XML payload native format, but does not translate the native payload to XML.

Note:

Translation Web service requests are not differentiated from other outbound requests in reporting and metrics.

Table 20-4 Translation Web Service Request Parameters

Header Data Type Description Required

from

String

Host name or identification value

No

to

String

Trading Partner name or identification value

No

@type

String

Example: DUNS

Identification type

No

action

String

Example: PurchaseOrder

ebMS action name

No

documentProtocolVersion

String

Example: 4010

Document type version

Yes

documentTypeName

String

Example: 850

Document type name

Yes

encoding

String

Example: ISO-8859-1

Default: UTF-8

Encoding format

No

payload

Xsd:anyType

Holds the payload

Yes


Table 20-5 Translation Web Service Response Parameters

Header Data Type Description Required

payload

Xsd:anyType

Translated message, with the same encoding type sent in the request.

Yes


Table 20-6 Translation Web Service Fault Message Parameters

Header Data Type Description

ExceptionMessage

String

If a fault is found, the Exception Stack Trace is transmitted.


20.4 Using the Query API

The Query API retrieves the configured details from Oracle B2B, and share them with applications.

Before initiating a message transmission from applications, a health check request is made for the given parameters. This check finds if any configurations exist, and how many are active. If no configuration is found, the application can stop message flow in its layer with the message "no configuration found in B2B."

The following APIs are provided:

20.4.1 Is Trading Partner Agreement Setup Parameters

Table 20-7 Is Trading Partner Agreement Setup Request Parameters

Header Data Type Description Required

from

String

Host name or identification value

No

to

String

Trading Partner name or identification value

No

@type

String

Example: DUNS

Identification type

No

document

String

Example: Sales Order

Name of the internal application document or AIA EBO to be sent out

Yes

action

String

Example: Update

A sub-classification which identifies the specific interaction with the Trading Partner

Yes


Table 20-8 Is Trading Partner Agreement Setup Response Parameters

Header Data Type Description Required

MatchedTPACount

integer

Number of Agreements present in an active state in the Oracle 2B Repository

Yes


Table 20-9 Is Trading Partner Agreement Setup Fault Message Parameters

Header Data Type Description

ExceptionMessage

String

If a fault is found, the Exception Stack Trace is transmitted.


20.4.2 Get Trading Partner Agreement Information Parameters

Table 20-10 Get Trading Partner Agreement Information Request Parameters

Header Data Type Description Required

from

String

Host name or identification value

No

to

String

Trading Partner name or identification value

No

@type

String

Example: DUNS

Identification type

No

document

String

Example: Sales Order

Name of the internal application document or AIA EBO to be sent out

No

action

String

Example: Update

A sub-classification which identifies the specific interaction with the Trading Partner

No


Table 20-11 Get Trading Partner Agreement Information Response Parameters

Header Data Type Description Required

AgreementID

String

Unique Agreement ID of the matching agreement

Yes

B2BDocumentDef

String

Document definition in Oracle B2B used for creating the Oracle B2B document type

Yes

B2BDocumentType

String

Document type defined in Oracle B2B for the requested application document and action

Yes

B2BDocumentRevision

String

Document revision defined in Oracle B2B for the requested application document and action

Yes

B2BDocumentProtocol

String

DocumentProtocol name defined in Oracle B2B for the requested application document and action

Yes

Direction

String

Document direction

Yes

XSLTFile

String

XSLT file to be used by the AIA layer to generate the Oracle B2B TP document

No


Table 20-12 Get Trading Partner Agreement Information Fault Message Parameters

Header Data Type Description

ExceptionMessage

String

If a fault is found, the Exception Stack Trace is transmitted.


20.5 Securing Oracle B2B Web Services

Web services exposed in B2B must be secured to hide the configuration details from intruders. The Oracle Web Services Manager policy approach provides the facility to secure the web services based on your requirements.

Web services endpoints are registered dynamically and programmatically using the oracle.webservices.provider.ProviderConfig.addService(...) API. Because these endpoints are not displayed in Oracle Enterprise Manager Fusion Middleware Control Console, Oracle B2B maintains the lifecycle of web services and their policies.

To specify a policy and attach it to the web services endpoints:

  1. In Oracle B2B Console, go to Administration>Configuration tab.

  2. Enter the appropriate value in the Webservice Policy field in the Non Purgeable section.

    Enter either the Oracle Web Services Manager policy URI to secure just the endpoints, or enter the whole <policy> tag to uptake RM, Addressing, and Logging. See the examples below.

    See "What Oracle WSM Security Policies Are Available?" in Oracle Fusion Middleware Securing WebLogic Web Services for Oracle WebLogic Server for a listing of available Oracle WSM policies.

  3. Click Save.

    Based on the policy attached here, WSDL URL will start publishing/describing the policy details which need to be used while creating the proxy client for this service.

    No restart of B2B is required to uptake the policy changes.

Examples

Example 1: Enter the following URI in Webservice Policy to apply security policy oracle/wss_username_token_service_policy.

oracle/wss_username_token_service_policy

Example 2: Enter the following XML in Webservice Policy, which applies Security and RM policy.

<policy><policy-references><policy-reference uri="oracle/wss_username_token_ service_policy" category="security"/><policy-reference uri="oracle/wsrm11_policy"  category="wsrm"/></policy-references></policy> 

Limitations

There is no way to control the policy only for the particular endpoint. Whatever the policy specified, it is applicable for all the endpoints.

Removing already specified policy URI by clearing the Webservice Policy field does not work. You must enter some string in the field, such as "none".

No metrics are displayed for Oracle B2B web service usage in Oracle Enterprise Manager Fusion Middleware Control Console.