15.1 Introduction to Web-Service-Based Message Exchange

Oracle Healthcare allows you to exchange Web service (SOAP) based messages between endpoints. You can exchange messages in both inbound and outbound direction. However, currently, this support is limited to SOAP 1.1 messages over HTTP only.

The Web service feature not only enables endpoints to receive or send messages, but also it is layered as a protocol implementation and supports other general features such as reporting, tracking, and auditing.

Many enterprises are increasingly having a requirement to integrate their endpoint file transfer and/or message exchange using Web service (in addition to Healthcare-specific protocols.)

15.2 Exchanging SOAP-Based Service Messages with Custom WSDL

The support for SOAP-based messages is available for both inbound and outbound directions. You need to create or upload a Web Service Definition Language (WSDL) file that you can customize according to your requirement.

15.2.1 Exchanging Outbound SOAP-Based Messages

To enable exchange of outbound SOAP-based messages, you need to perform the following tasks:

As the first task, you need to upload the WSDL file that is required to register a Web service to exchange messages. You can upload the WSDL in the either of the following ways:

Inline WSDL - a normal WSDL file where the XSD information is defined within the WSDL itself

A ZIP file containing a WSDL file and an XSD file

A ZIP file containing multiple WSDL and XSD files

To upload a WSDL:

Log on to the Oracle SOA Suite for healthcare integration console (http://<hostname>:<port>/healthcare), where hostname is the name of the computer where Oracle SOA Suite is hosted and port is typically 8001 (in the case of a non-SSL connection).

Click the Designer tab and then click the Configuration tab.

Click to select the WSDL folder.

Click the + icon (Create). The Create WSDL dialog box appears.

Specify a name for the WSDL such as TransmitWSDL. Ensure that the name does not contain any spaces or special characters.

For the Definition File field, click the Browse button to select the WSDL to be uploaded. For this example, the WSDL selected is TransmitDoc2way.wsdl. Click OK to complete the process.

After you have created the custom document, you need to create an endpoint and associate the endpoint with the custom document.

To create an endpoint:

In the Oracle Healthcare console, click the Endpoint folder under Configuration in the Designer tab.

Click the + icon (Create). The Create Endpoint dialog box appears.

Select WS-HTTP from the Transport Protocol list.

Specify a name for the endpoint.

Select the Synchronous check box if you want to enable sending and receiving of documents by using the same connection. In this case, leave the check box as is.

Select Outbound from the Direction list.

Select the required WSDL from the WSDL list. In this case, select TransmitWSDL, which you uploaded in Task 1.

Note:

If you do not want to upload and use a custom WSDL, you can select the Use Generic SOAP check box. This should enable you to send any XML document over SOAP. Oracle SOA Suite for healthcare integration provides a preseeded generic WSDL that is used when you select Use Generic SOAP.

Select the available service (TransmitsDocumentService in this case)

Select the available port (TransmitDocuments2WayPort)

Select the SOAP action (available from the WSDL)

Note:

You can also provide string values for the preceding parameters manually. In the case of manually providing the service name, it should be in the following format, else there would be a validation error:

Select Omit WS Addressing Headers if you want to discard WS Addressing headers as a part of the message to be exchanged.

Select Omit Default SOAP Headers if you do not want Oracle Healthcare Web services outbound channel to send the default SOAP headers such as To, Doctype, and DocRevision as a part of the message as shown in Figure 15-4.

In the Create Endpoint dialog box, specify TransmitInbound as the endpoint name and select Inbound as the direction.

In the TransmitInbound page, add the custom document in the Document To Receive section.

Note:

To ensure that the that the Web services have been registered for listening messages, access the following URL, log on by providing the user name and password, and check if the Web service is listed in the list of registered Web services:

http:<host>:<port>/b2b/services

You need to create users (along with their passwords) in the Oracle Weblogic Server console. Access the following link to know more about creating users in the Oracle Weblogic Server console:

15.4.1 Outbound Synchronization: Composite

In the case of outbound synchronization with a composite:

Web Service: Relies on the composite to decide whether the synchronization is one-way, or if the request/reply pattern is used. If soapAction is provided, it is used only to overwrite the HTTP soapAction headers.

15.4.2 Inbound Synchronization: Composite

In the case of inbound synchronization with a composite:

Web Service: Uses soapAction from the HTTP header to decide whether it is a one-way or request/reply operation specified by the WSDL. In the case of a non-responsive payload, an error is reported for request/reply.

15.4.3 Outbound Synchronization: JMS Queues

In the case of outbound synchronization with a JMS queue:

Web Service: In the case of custom WSDL, uses soapAction (provided from backend or configured in the endpoint) to decide whether it is a one-way or request/reply operation specified by the WSDL. Reply is sent to the backend by using the internal delivery channel configuration. In the case of a generic SOAP WSDL, the transport parameters of the endpoint decides on the one-way or request/reply operation.

15.4.4 Inbound Synchronization: JMS Queues

Web Service: Uses soapAction from the HTTP header to decide whether it is a one-way or request/reply operation specified by the WSDL. In the case of Sync, a reply needs to be generated in a Oracle SOA Suite for healthcare integration callout to be sent to the backend. In the case of a generic SOAP WSDL, the decision is based on the transport parameters specified in the endpoint.

Scripting on this page enhances content navigation, but does not change the content in any way.