Professional Documents
Culture Documents
SOAP Protocol
User’s Guide
Software Release 5.1.0
January 2008
Important Information
SOME TIBCO SOFTWARE EMBEDS OR BUNDLES OTHER TIBCO SOFTWARE. USE OF SUCH EMBEDDED
OR BUNDLED TIBCO SOFTWARE IS SOLELY TO ENABLE THE FUNCTIONALITY (OR PROVIDE LIMITED
ADD-ON FUNCTIONALITY) OF THE LICENSED TIBCO SOFTWARE. THE EMBEDDED OR BUNDLED
SOFTWARE IS NOT LICENSED TO BE USED OR ACCESSED BY ANY OTHER TIBCO SOFTWARE OR FOR
ANY OTHER PURPOSE.
USE OF TIBCO SOFTWARE AND THIS DOCUMENT IS SUBJECT TO THE TERMS AND CONDITIONS OF A
LICENSE AGREEMENT FOUND IN EITHER A SEPARATELY EXECUTED SOFTWARE LICENSE
AGREEMENT, OR, IF THERE IS NO SUCH SEPARATE AGREEMENT, THE CLICKWRAP END USER
LICENSE AGREEMENT WHICH IS DISPLAYED DURING DOWNLOAD OR INSTALLATION OF THE
SOFTWARE (AND WHICH IS DUPLICATED IN TIBCO BUSINESSCONNECT TM SOAP PROTOCOL USER"S
GUIDE) OR IF THERE IS NO SUCH SOFTWARE LICENSE AGREEMENT OR CLICKWRAP END USER
LICENSE AGREEMENT, THE LICENSE(S) LOCATED IN THE “LICENSE” FILE(S) OF THE SOFTWARE. USE
OF THIS DOCUMENT IS SUBJECT TO THOSE TERMS AND CONDITIONS, AND YOUR USE HEREOF
SHALL CONSTITUTE ACCEPTANCE OF AND AN AGREEMENT TO BE BOUND BY THE SAME.
This document contains confidential information that is subject to U.S. and international copyright laws and
treaties. No part of this document may be reproduced in any form without the written authorization of TIBCO
Software Inc.
TIB, TIBCO, TIBCO Adapter, Predictive Business, Information Bus, The Power of Now, TIBCO BusinessConnect,
TIBCO Runtime Agent, TIBCO BusinessWorks, TIBCO Administrator, TIBCO Designer, TIBCO Rendezvous,
and TIBCO Enterprise Message Service are either registered trademarks or trademarks of TIBCO Software Inc. in
the United States and/or other countries.
EJB, Java EE, J2EE, and all Java-based trademarks and logos are trademarks or registered trademarks of Sun
Microsystems, Inc. in the U.S. and other countries.
All other product and company names and marks mentioned in this document are the property of their
respective owners and are mentioned for identification purposes only.
THIS SOFTWARE MAY BE AVAILABLE ON MULTIPLE OPERATING SYSTEMS. HOWEVER, NOT ALL
OPERATING SYSTEM PLATFORMS FOR A SPECIFIC SOFTWARE VERSION ARE RELEASED AT THE SAME
TIME. SEE THE README.TXT FILE FOR THE AVAILABILITY OF THIS SOFTWARE VERSION ON A
SPECIFIC OPERATING SYSTEM PLATFORM.
THIS DOCUMENT IS PROVIDED “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR
IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT.
THIS DOCUMENT COULD INCLUDE TECHNICAL INACCURACIES OR TYPOGRAPHICAL ERRORS.
CHANGES ARE PERIODICALLY ADDED TO THE INFORMATION HEREIN; THESE CHANGES WILL BE
INCORPORATED IN NEW EDITIONS OF THIS DOCUMENT. TIBCO SOFTWARE INC. MAY MAKE
IMPROVEMENTS AND/OR CHANGES IN THE PRODUCT(S) AND/OR THE PROGRAM(S) DESCRIBED IN
THIS DOCUMENT AT ANY TIME.
THE CONTENTS OF THIS DOCUMENT MAY BE MODIFIED AND/OR QUALIFIED, DIRECTLY OR
INDIRECTLY, BY OTHER DOCUMENTATION WHICH ACCOMPANIES THIS SOFTWARE, INCLUDING
BUT NOT LIMITED TO ANY RELEASE NOTES AND "READ ME" FILES.
Copyright © 1999-2008 TIBCO Software Inc. ALL RIGHTS RESERVED.
TIBCO Software Inc. Confidential Information
Contents iii
|
Contents
Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix
Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii
Related Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiv
BusinessConnect SOAP Protocol Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiv
Other TIBCO Product Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiv
Third Party Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv
Typographical Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvi
How to Contact TIBCO Support. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
Figures
Tables
Preface
Topics
Related Documentation
This section lists documentation resources that you may find useful.
Typographical Conventions
Convention Use
code font Code font identifies commands, code examples, filenames, pathnames, and
output displayed in a command window. For example: Use MyCommand to start
the foo process.
Key Key name separated by a plus sign indicate keys pressed simultaneously. For
combinations example: Ctrl+C.
Key names separated by a comma and space indicate keys pressed one after the
other. For example: Esc, Ctrl+Q.
The note icon indicates information that is of special interest or importance, for
example, an additional action required only in certain circumstances.
The tip icon indicates an idea that could be useful, for example, a way to apply
the information provided in the current section to achieve a specific result.
The warning icon indicates the potential for a damaging situation, for example,
data loss or corruption if certain steps are taken or not taken.
For comments or problems with this manual or the software it addresses, please
contact TIBCO Support as follows.
• For an overview of TIBCO Support, and information about getting started
with TIBCO Support, visit this site:
https://www.tibco.com/services/support
• If you already have a valid maintenance or support contract, visit this site:
http://support.tibco.com
Entry to this site requires a username and password. If you do not have a
username, you can request one.
Topics
SOAP Overview
Public Messages
Public messages are exchanged over the Internet between two BusinessConnect
installations. These can use the HTTPS or HTTP transport protocols. Synchronous
request-response and notify transaction types are supported.
When you use BusinessConnect to send a SOAP document to a partner, you use
different operation types for different kinds of transactions. There are two
operation types in SOAP:
• Notify Use this operation when the Initiator just wants an acknowledgment
from the Responder to verify business document receipt.
• Synchronous request-response Use this operation when the Initiator and the
Responder need to do a more complex business exchange of business
documents.
Notify Operations
The following process flow occurs in a notify operation:
1. A private process inside the initiating company sends a message to the local
BusinessConnect. See Initiator Outbound Request — Private Process to
BusinessConnect on page 121 for details.
2. The Initiator BusinessConnect retrieves relevant information and sends the
message to the Responder BusinessConnect.
3. The Responder BusinessConnect then forwards the message to the local
private process. See Responder Inbound Request — BusinessConnect to
Private Process on page 127. The Responder BusinessConnect considers the
operation complete.
4. The Responder BusinessConnect immediately sends a transport response
(acknowledgment) to the Initiator on the same channel as the Initiator business
request.
5. Alternatively, if the Responder BusinessConnect could not process the notify
operation, BusinessConnect SOAP Protocol sends a SOAP Fault to the
Initiator.
Private Process
retransmits
Response wait
between
wait
Response
Initiator Responder
From Initiator
From the Initiator, an operation is processed with the following timing
restrictions:
1. The Initiator sends out a request to the Responder.
2. If communication cannot be established, a specified number of retries occurs.
From Responder
From the Responder, an operation is processed with the following timing
restrictions:
1. The Initiator sends out a request to the Responder.
2. The Responder BusinessConnect server hands off the document to the
Responder private process.
3. The Responder private process returns the response to the Initiator
BusinessConnect server. The time between the request sent to the private
process and the response from by the private process can be specified as the
Private Process Wait.
4. Unless a transport-level error is returned, the Responder sends an
acknowledgment to the local private process.
Scenario 2: Notification
When you are defining a notify operation, you cannot configure the timing
restrictions. The flow of information and the associated predefined timing
restrictions are as shown in Figure 2.
Figure 2 Notification
Notification
# of retires
Acknowledgement
wait
Acknowledgement
Initiator Responder
This tutorial guides you through the steps necessary for running a
BusinessConnect SOAP Protocol B2B transaction.
The example in this chapter uses standalone private processes.
Topics
• Overview, page 12
• Prerequisites, page 15
• Configuring the Initiator, page 16
• Configuring the Responder, page 21
• Running the Tutorial, page 26
Overview
This chapter provides a short tutorial that demonstrates how to use an operation
to send a sample document from a trading host to a trading partner.
Operations
Two operations are defined in the sample interface file:
• PONotify This operation is used when the Initiator just wants an
acknowledgment from the Responder to verify business document receipt.
• POSync This is a synchronous request-response operation that is used when
the Initiator and the Responder need to do a more complex business exchange
of business documents.
Only the POSync operation is used in this tutorial.
Trading Partners
The trading host is known as the Initiator. The trading partner is known as the
Responder.
Using the notify operation, the Initiator sends a document to the Responder,
which then provides the Initiator with an acknowledgment that the business
document has been received.
This tutorial includes the sample Initiator, Responder and operation configuration
files along with the standalone Initiator and Responder private processes.
Two machines are used in the tutorial: an Initiator machine and a Responder
machine. Each machine hosts a private process and BusinessConnect.
Transactions
The POSync operation consists of the following transactions:
1. The Initiator private process sends a message to BusinessConnect.
2. The Initiator BusinessConnect sends the message to the Responder
BusinessConnect.
3. The Responder BusinessConnect then sends the message to the Responder
private process.
4. The Responder private process sends a response to the Responder
BusinessConnect.
Company A
Private Process Outbound Request
TIBCO BusinessWorks
1 BusinessConnect
Send Request-
Response SOAP Protocol
7
Internet
Receive Request
3
Legend BusinessConnect
SOAP Protocol 4
Request Send Response
Response 6
ACK
Company B
Initiator Machine
The following sample files for the Initiator machine are used in the tutorial and
available in BC_install_dir\protocols\soap\samples\client:
• SOAPClient.properties Contains information on the operation ID, trading
partner, and attachments.
• runSOAPClient.bat or runSOAPClient Executes the Initiator.
• operations.csx Contains sample SOAP operations to be imported by the
Initiator.
Responder Machine
The following sample files for the Responder machine are used in the tutorial and
available in BC_install_dir\protocols\soap\samples\server:
• SOAPServer.properties Contains information on attachments.
• runSOAPServer.bat or runSOAPServer Executes the Responder.
• operations.csx Contains sample SOAP operations to be imported by the
Responder.
Prerequisites
This section steps you through the activities you need to perform to configure the
Responder trading partner:
1. Importing Operations on the Initiator on page 16
2. Setting Up the Initiator as a Trading Host, page 17
3. Setting Up Initiator Server, page 18
4. Setting Up the Responder as a Trading Partner, page 19
5. Configuring the Business Agreement Between the Initiator and Responder,
page 20.
6. Click Open.
7. Click OK.
8. Enter a password (not required).
9. Click Import.
The Edit Operations dialog appears with imported operations.
6. In the New Host Participant dialog with the participant name SOAPClient,
select the Active checkbox.
7. Click Save.
8. Click the BusinessConnect > System Settings link in the left panel.
9. Click the General Settings link in the right panel.
10. Confirm that SOAPClient is selected in the Default Host dropdown list.
11. Click Save.
This section steps you through the activities you need to perform to configure the
Responder trading partner:
1. Importing Operations on the Responder on page 21
2. Setting Up the Responder as a Trading Host, page 21
3. Setting Up Responder Server, page 23
4. Setting Up the Initiator as a Trading Partner, page 23
5. Configuring the Business Agreements Between the Initiator and Responder,
page 24.
7. Click Open.
8. Click OK.
9. Enter a password (not required).
10. Click Import.
11. Click Done.
The trading host setup for the Responder consists of these steps:
• Set Up the Responder Host
• Set Up the SOAP Protocol for the Responder Host
5. Click OK.
6. In the New Participant dialog with SOAPClient in the Participant Name field,
select the Active checkbox.
where hostname is the name of the Initiator host and port is the HTTP port set in
the Initiator’s deployment configuration and is set to 6700 by default.
Example: http://www.acme.com:6700/SOAP
@ECHO OFF
SET BC_INSTANCE=BC-Responder
SET JDK_DIR=C:\tibco\jre\1.5.0
SET RV_DIR=C:\tibco\TIBRV
SET CLASSPATH=.;%RV_DIR%\lib\tibrvj.jar;%CLASSPATH%
%JDK_DIR%\bin\java SOAPServer SOAPServer.properties %BC_INSTANCE%
body.xml header.xml
3. Using the command line interface, start the Responder private process on the
Responder machine by executing the following command:
on Windows:
BC_install_dir\protocols\soap\samples\server\
runsoapserver.bat
on UNIX:
BC_install_dir\protocols\soap\samples\server\
runsoapserver
Example: runsoapserver
C:\tibco\bc\5.1\protocols\soap\samples\server>runsoapserver.bat
@ECHO OFF
SET BC_INSTANCE=BC-Initiator
SET JDK_DIR=C:\tibco\jre\1.5.0
SET RV_DIR=C:\tibco\TIBRV
SET CLASSPATH=.;%RV_DIR%\lib\tibrvlib.jar;%CLASSPATH%
%JDK_DIR%\bin\java SOAPClient SOAPClient.properties %BC_INSTANCE%
body.xml header.xml
5. On the Initiator machine, start the Initiator private process by executing the
following command:
on Windows:
BC_install_dir\protocols\soap\samples\client\
runSOAPClient.bat
on UNIX:
BC_install_dir\protocols\soap\samples\client\
runsoapclient
Example: runSOAPClient
t
Attachment : po.txt
Attachment : image.gif
rocessing Application"></ci:ItemDescription>
</ci:Item>
<ci:InvoiceSummary Amount="544.15"></ci:InvoiceSummary>
</ci:CommonInvoice>
Request header:
<ep:endpoints xmlns:ep="http://user.org/header">
<ep:to>
<ep:address>
<name>Book Orders</name>
<street>1st Street</street>
<city>New York</city>
<zip>1111</zip>
</ep:address>
</ep:to>
<ep:from>
<ep:address>
<name>Book Lovers</name>
<street>1st Street</street>
<city>Los Angeles</city>
<zip>90210</zip>
</ep:address>
</ep:from>
</ep:endpoints><prop:properties xmlns:prop="http://user.org/header">
<identity>uuid:74b9f5d0-33fb-4a81-b02b-5b760641c1d6</identity>
<sentAt>2000-05-14T03:00:00+08:00</sentAt>
<expiresAt>2000-05-15T04:00:00+08:00</expiresAt>
<topic>http://electrocommerce.org/purchase_order/</topic>
</prop:properties>
request body:
<cpo:CommonPO xmlns:cpo="http://po.org/body">
<cpo:POHeader CreationDate="2000-06-23" Number="12345" Purpose="PO" Type="
EZ"></cpo:POHeader>
<cpo:BillTo></cpo:BillTo>
<cpo:ShipTo ContactName="BonifazLuis" ContactNumber="12345" ContactType="C
T"></cpo:ShipTo>
<cpo:Item>
<cpo:ItemHeader ExtendedPrice="499.75" Price="99.95" Quantity="5" UnitOf
Measure="EA"></cpo:ItemHeader>
<cpo:ItemDescription Description="Word Processing Application" Type="F">
</cpo:ItemDescription>
</cpo:Item>
<cpo:Total LineItemTotal="87" POTotal="544.15" QuantityTotal="34">12.34</
cpo:Total>
</cpo:CommonPO>
operation ID: POInterface/1.0/POSync
closure:8ae9266f0cb0d114010cb16747a701d5
Attachment saved to file po.txt
Sending response...
publishing on subject: AX.BC.BC-Responder.SOAP.RESPONDER.RESPONSE
response header: <ep:endpoints xmlns:ep="http://user.org/header">
<ep:to>
<ep:address>
<name>Book Orders</name>
<street>1st Street</street>
<city>New York</city>
<zip>1111</zip>
</ep:address>
</ep:to>
<ep:from>
<ep:address>
<name>Book Lovers</name>
<street>1st Street</street>
<city>Los Angeles</city>
<zip>90210</zip>
</ep:address>
</ep:from>
</ep:endpoints>
#
# SOAP Client Private process property file.
#
#client.operationID: POInterface/1.0/PONotify
client.operationID: POInterface/1.0/POSync
client.tradingPartnerID:SOAPServer
client.encoding:ISO8859_1
#client.transactionID:uuid:1234567917
attachment1.name:po.txt
attachment1.contentID:<process-1@xyz.com>
attachment1.contentType:text/plain
attachment2.name:image.gif
attachment2.contentID:<process-2@xyz.com>
attachment2.contentType:binary
or
#client.operationID: POInterface/1.0/POSync
7. Click on the transaction for which you would like to see the details.
The Transaction Details screen appears with the details of this transaction, as
shown in Figure 6.
9. Click on the transaction for which you would like to see the details.
The Transaction Details screen appears with the details of this transaction, as
shown in Figure 8.
Topics
• Overview, page 36
• Setting Up the Tutorial, page 38
• Configuring BusinessWorks Private Processes, page 39
• Running the Tutorial, page 45
Overview
To use BusinessWorks as a private process, you must first create a local SOAP
connection. The connection provides information about the directory where the
BusinessConnect configuration store is located, the configuration store instance
name, protocol to use, and BusinessConnect installation name.
You can also create a remote SOAP connection if your BusinessConnect
installation is not on your local machine. An example remote SOAP connection is
included in the sample project. To use the remote connection, you must provide
the subject name and remote TIBCO Rendezvous daemon host name.
Transactions
The PONotify operation consists of the following transactions:
1. The Initiator private process sends a message to BusinessConnect.
2. The Initiator BusinessConnect sends the message to the Responder
BusinessConnect.
3. The Responder BusinessConnect then sends the message to the Responder
private process.
4. After the message is received, the Responder BusinessConnect sends an
acknowledgement (ack) back to the Initiator BusinessConnect.
A detailed diagram of the PONotify operation is displayed in Figure 9.
TIBCO BusinessWorks
1 BusinessConnect
Send Notify SOAP Protocol
Internet
4
Company B
Legend
BusinessWorks
Notify BusinessConnect
Receive Notification
SOAP Protocol 3
ACK
The following steps assume you have completed the tutorial in Chapter 2.
Prerequisites
To run this tutorial you must satisfy the following prerequisites:
• Make sure that you have satisfied all prerequisites listed in Prerequisites on
page 15
• Install BusinessConnect Palette
If you expand this folder you will notice that it contains the CommonPO and
CommonInvoice schemas in BCSchemas>SOAP>POInterface> 1.0>PONotify
and POSync respectively.
8. Click Apply.
9. Click the Save icon to save the project.
4. Make sure that you have the correct tpName for the action Send Request,
which is SOAPServer.
5. Change the name if needed, and click Apply.
Send Notify
This process uses the BusinessWorksRead File activity to read the notify
document stored in the samples directory. The process then uses the Parse XML
activity to parse the content into an XML tree and pass the tree to the Send
Request/Notification activity.
The activity creates a notify message and sends it to the Initiator’s
BusinessConnect, as shown in Figure 12.
Receive Response
The response from the trading partner could be a SOAP message with a business
document or a SOAPFault. If the trading partner response is SOAPFault,
BusinessConnect sends this fault message to the BusinessWorks process. The
Send Request/Notification activity parses the fault message. The fault message
fields can be retrieved from this activity.
Receive Notification
The Receive Notification process shows how a BusinessWorks process can receive
a SOAP notify message initiated by a trading partner. The process uses the
Receive Request/Notification activity.
It is configured to wait for a request from BusinessConnect, as shown in Figure 13.
6. In the Date Range Criteria dropdown list, select Predefined Date Range.
7. Click Search to search logs.
A list of logs appears, as shown in Figure 16.
8. Click on the Notify transaction for which you would like to see the details.
The Transaction Details screen appears with the details of this transaction, as
shown in Figure 17.
10. Click on the transaction for which you would like to see the details.
The Transaction Details screen appears with the details of this transaction, as
shown in Figure 19.
This chapter describes some of the steps you and your trading partners must take
in order to begin working together with BusinessConnect SOAP Protocol.
Topics
Before trading partners can do business, they must agree on the structure and
content of each XML business document that they plan to exchange over the
Internet. To do this, trading partners must create XSDs that define the contents
and structure of their associated XML documents.
Trading partners can exchange an XSD file via email, the web, or any other
method. This is like two people trading dictionaries before they communicate in
different languages.
You can use TIBCO Turbo XML™ to create XSDs. This platform allows you to
create, validate, convert, and manage XML schemas and files.
Trading partners must exchange information that they can use to identify the
other partner when conducting e-commerce. Trading partners can exchange
identity information via email, the web, or any other method.
The identity information that you must share with a trading partner includes the
following:
• Trading partner name See the sections on setting up trading partners for
information on how to specify your partner’s company name.
• Domain identifiers Each trading partner involved in the exchange of SOAP
documents has a domain and ID.
See the sections on setting up trading partners for information on where you
add your partner’s domain and identifier:
— Set Up the SOAP Protocol for the Responder Partner on page 19
— Setting Up the SOAP Protocol for the Initiator Partner on page 24
• Public certificates Trading partners should exchange their public certificates
for encryption and authentication. Your trading partner public certificate is
used to encrypt outgoing messages and authenticate incoming messages
signed by your trading partner.
See TIBCO BusinessConnect Concepts for information on security and
certificates files in general, and TIBCO BusinessConnect Trading Partner
Administration Guide for instructions on how to set security credentials.
Topics
• Overview, page 54
• Creating a SOAP Interface, page 56
• Adding a Version to an Interface, page 57
• Adding an Operation to a Version, page 58
• SOAP Operation Properties, page 59
• Importing SOAP Interfaces, page 67
• Exporting SOAP Interfaces, page 68
• Modifying SOAP Operations, page 69
Overview
SOAP Interfaces
An interface is a category of operations; for example, Manage Purchase Order.
This category includes a group of related operations such as the following:
• Create Purchase Order
• Change Purchase Order
• Cancel Purchase Order
Each interface has a version number. This allows the administrator to preserve
older versions of interfaces while creating newer ones as needed. Each interface
knows about the operations that it contains.
For example, a Manage Purchase Order interface could have the following
definition:
The purpose of the interface is to specify the purchase order
management process between trading partners. The management process
includes the creation, change, and cancellation Business Document.
All purchase order acknowledgments of acceptance are "substantive
acceptance". A substantive acceptance returns some part of the
original business document without modifications.
SOAP Operations
Each operation defines an action. For example, the definition of a Create Purchase
Order operation would include the following:
• The operation description and transaction type (notify or synchronous
request-response).
• The transaction type request parameters, such as the schemas for header and
body element validation, and signing and encryption options for incoming
and outgoing requests.
• The operation response parameters, such as the schemas for header and body
element validation, and signing and encryption options for outgoing and
incoming response.
Each installation can be the Initiator for certain interfaces, while the Responder
can also be the Initiator for the same or other interfaces.
Interfaces are defined in terms of their input and output, with no inherent
Initiator or Responder. This allows trading partners to exchange interfaces by
exporting or importing them.
After interfaces and operations have been set up, they must be associated with
protocol bindings.
For step-by-step instructions, see Configure SOAP Agreement Protocol Binding
on page 82.
Before you can create versions and operations, you must create or import a SOAP
interface.
1. Click the BusinessConnect > Operations Editor link.
2. Select SOAP in the Protocol dropdown list in the right panel.
3. Click the Edit button.
The Edit Operations: SOAP dialog appears, as shown in Figure 20.
Signing and encryption can be enabled for an operation using the Request Action
tab for the Notify operation, and using the Request Action and Response Action
tabs for the synchronous Request-Response operation. Both the request and
response messages can be signed and encrypted.
Details are explained in the fields Require Digital Signature and Require Content
Encryption for these tabs:
• Notify Request Action Tab on page 60
• Request Action Tab on page 62
• Response Action Tab on page 64
For more information on how to set certificates and keys for signing and
encryption refer to Document Security Tab on page 86.
If both 'Require Digital Signature' and 'Require Content Encryption' check boxes
are cleared on inbound, any message will be accepted.
Notify Operation
Field Description
Name Name of the operation
Field Description
SOAPAction This field specifies the value of the SOAPAction HTTP Request header field of the
SOAP message. It can be used to indicate the intent of the SOAP HTTP request
and its value is a URI identifying the intent.
See the SOAP 1.1 specification at http://www.w3.org/TR/soap/ for more
information.
Field Description
Name Name of the operation
Require Digital If selected, this option will sign the outgoing messages and force the incoming
Signature messages to be signed.
Require Content If selected, this option will encrypt the outgoing messages and force the
Encryption incoming messages to be encrypted.
Field Description
SOAP Header The XSD file that BusinessConnect uses to validate the header part of the SOAP
Validation message.
Schema Name
The XSD file must have a namespace declaration.
If no file is displayed, you can add a schema by clicking on the change link,
browse to the location of another schema, and load it for validation. If there is
an existing schema file displayed, you can replace it using the change link, or
remove it using the remove link.
Note: All header elements are validated against this schema, while the elements
partyInfo and security are not validated. Each header element is looked for
the SOAP envelope attributes mustUnderstand and actor, and they will be
removed before the schema validation as long as the value of these attributes is
default (0 for mustUnderstand and “” for actor). Otherwise, user is
responsible for specifying these attributes in the schema for successful
validation.
SOAP Header The top-level XSD element for your business document
Root Element
This name cannot contain spaces. This value is used only for importing the
Name
schema into the BusinessConnect Palette and is not used during schema
validation.
SOAP Body The XSD file that BusinessConnect uses to validate the body part of the SOAP
Validation message.
Schema Name
The XSD file must have a namespace declaration.
If no file is displayed, you can add a schema by clicking on the change link,
browse to the location of another schema, and load it for validation. If there is
an existing schema file displayed, you can replace it using the change link, or
remove it using the remove link.
SOAP Body Root The top-level XSD element for your business document
Element Name
This name cannot contain spaces. This value is used only for importing the
schema into the BusinessConnect Palette and is not used during schema
validation.
Operation Tab
Use the Synchronous Request-Response Operation tab to specify general
information about the operation.
Field Description
Name Name of the operation
SOAPAction This field specifies the value of the SOAPAction HTTP Request header field of the
SOAP message. It can be used to indicate the intent of the SOAP HTTP request
and its value is a URI identifying the intent.
See the SOAP 1.1 specification at http://www.w3.org/TR/soap/ for more
information.
Field Description
Name Name of the operation
Require Digital If selected, this option will sign the outgoing requests and force the incoming
Signature requests to be signed.
Require Content If selected, this option will encrypt the outgoing requests and force the
Encryption incoming requests to be encrypted.
Field Description
Validate Message Validate the request when, for an Initiator, it comes from the local private
process and goes to a trading partner.
Validate the message for the following cases:
• When this field is selected, at least one of the schemas (such as body or
header) must be populated.
• When a schema is present, the corresponding content (such as body or
header) must conform to that schema. If the schema is absent, no
validation is performed.
Select to validate the message when, for a Responder, it comes from the
Initiator trading partner and goes to the Responder local private process.
See Appendix B, Schema Validation, on page 153.
SOAP Header The XSD file that BusinessConnect uses to validate the header part of the
Validation SOAP request .
Schema Name
The XSD file must have a namespace declaration.
If no file is displayed, you can add a schema by clicking on the change link,
browse to the location of another schema, and load it for validation. If there is
an existing schema file displayed, you can replace it using the change link, or
remove it using the remove link.
Note: All header elements are validated against this schema, while the
elements PartyInfo and Security are not validated. Each header element is
looked for the SOAP envelope attributes mustUnderstand and actor, and
they will be removed before the schema validation as long as the value of these
attributes is default (0 for mustUnderstand and “” for actor). Otherwise, user
is responsible for specifying these attributes in the schema for successful
validation.
SOAP Header The top-level XSD element for your business document
Root Element
This name cannot contain spaces. This value is used only for importing the
Name
schema into the BusinessConnect Palette and is not used during schema
validation.
Field Description
SOAP Body The XSD file that BusinessConnect uses to validate the body part of the SOAP
Validation request.
Schema Name
The XSD file must have a namespace declaration.
If no file is displayed, you can add a schema by clicking on the change link,
browse to the location of another schema, and load it for validation. If there is
an existing schema file displayed, you can replace it using the change link, or
remove it using the remove link.
SOAP Body Root The top-level XSD element for your business document
Element Name
This name cannot contain spaces. This value is used only for importing the
schema into the BusinessConnect Palette and is not used during schema
validation.
Field Description
Name Name of the operation (response)
Require Digital If selected, this option will sign the outgoing responses and force the incoming
Signature responses to be signed.
Require Content If selected, this option will encrypt the outgoing responses and force the
Encryption incoming responses to be encrypted.
Field Description
Validate Message Validate the response when, for a Responder, it comes from the local private
process and goes to a trading partner.
Validate the message for the following cases:
• When this field is selected, at least one of the schemas (such as body or
header) must be populated.
• When a schema is present, the corresponding content (such as body or
header) must conform to that schema. If the schema is absent, no validation
is performed.
Select to validate the response when, for an Initiator, it comes from the trading
partner and goes to the Initiator local private process.
See Appendix B, Schema Validation, on page 153.
SOAP Header The XSD file that BusinessConnect uses to validate the header part of the SOAP
Validation response.
Schema Name
The XSD file must have a namespace declaration.
If no file is displayed, you can add a schema by clicking on the change link,
browse to the location of another schema, and load it for validation. If there is
an existing schema file displayed, you can replace it using the change link, or
remove it using the remove link.
Note: All header elements are validated against this schema, while the elements
PartyInfo and Security are not validated. Each header element is looked for
the SOAP envelope attributes mustUnderstand and actor, and they will be
removed before the schema validation as long as the value of these attributes is
default (0 for mustUnderstand and “” for actor). Otherwise, user is
responsible for specifying these attributes in the schema for successful
validation.
SOAP Header The top-level XSD element for your business document
Root Element
This name cannot contain spaces. This value is used only for importing the
Name
schema into the BusinessConnect Palette and is not used during schema
validation.
Field Description
SOAP Body The XSD file that BusinessConnect uses to validate the body part of the SOAP
Validation response.
Schema Name
The XSD file must have a namespace declaration.
If no file is displayed, you can add a schema by clicking on the change link,
browse to the location of another schema, and load it for validation. If there is
an existing schema file displayed, you can replace it using the change link, or
remove it using the remove link.
SOAP Body Root The top-level XSD element for your business document
Element Name
This name cannot contain spaces. This value is used only for importing the
schema into the BusinessConnect Palette and is not used during schema
validation.
Private Process Time to wait for the response from the private process before timeout. The
Wait (seconds) Private Process Wait timeout can be extended, depending on the hibernation
poller interval.
• Click Done to save the added interface, interface version, and the new
operations that have been added to the interface version.
You may want to import one or more interfaces from a trading partner so that you
do not have to re-create the interface.
To import an interface, do the following:
1. Select BusinessConnect>Operations Editor.
2. Select SOAP from the Protocol dropdown list.
3. Click on Edit.
4. In the Edit Operations dialog, click Import.
The Import Operations dialog appears.
Sample Interfaces
BusinessConnect SOAP Protocol provides the following sample interfaces that
can be imported into the BusinessConnect configuration store:
BC_install_dir\protocols\soap\samples\server\operations.csx
BC_install_dir\protocols\soap\samples\client\operations.csx
You may want to send an interface to a trading partner so that the partner does
not have to re-create the interface.
To export an interface, do the following:
1. Select BusinessConnect>Operations Editor.
2. Select SOAP from the Protocol dropdown list in the right panel.
3. Click Edit.
4. The Edit Operations dialog appears, as shown in Figure 26.
5. Click the radio button next to the interface, version, or operation you wish to
export.
6. Click Export Interface, Export Version, or Export Operation, depending on
what you selected in step 5.
7. The Export Operations dialog appears for the selected interface, version, or
operation.
To save the exported data, set the password.
8. Click on Export Data.
9. The pop-up dialog displays with the suggested file name operations.exp.
10. Browse to the desired place on your machine and click Save.
11. Click Done to finish export.
You can modify SOAP operations by defining the SOAP body validation schema
name and SOAP body root element name. This must be done on the Initiator and
Responder BusinessConnect installations.
6. Click Open.
7. Click OK.
The Edit Synchronous Request-Response Operation: Sync dialog appears, as
shown in Figure 29.
Topics
Field Description
Default Domain The default domain identity to use for this host. Select from the list of domain
Identity identities created in the Domain Identities dialog.
See Adding a Domain Identity for a Host on page 74 to add or edit a domain
identity.
Valid Email This field is not used for BusinessConnect SOAP Protocol.
Address List
6. Click Save.
4. Click Save.
5. Click OK.
The domains of the host and trading partner are not taken into consideration
while performing duplicate detection. Only the values hostname and tpname are
considered.
Inbound Messages
For inbound messages, duplicate detection is performed in the same way for the
inbound request and inbound response.
Duplicate detection for Inbound Response messages is done only for synchronous
operations.
Duplicate detection criteria for the Inbound Request and for Inbound Response
messages are as follows:
• Protocol name
• Protocol version
• Installation name
• Host name
• Trading partner name
• Operation ID
• Body element of the SOAP envelope
Outbound Messages
For outbound messages, duplicate detection is performed only for the outbound
request.
Outbound Request
Duplicate detection criteria for the OutboundRequest messages are as follows:
• Protocol name
• Protocol version
• Installation name
• Host name
• Trading partnere name
• Transaction ID
• Operation ID
• Request coming from the private process (no header)
Field Description
Default Domain The default domain identity to use for this host. Select from the list of
Identity domain identities created in the Domain Identities dialog.
See Adding a Domain Identity for a Host to add or edit a domain identity.
Valid Email Address This field is not used for BusinessConnect SOAP Protocol.
List
Duplicate Detection Prevents duplicate messages from being sent to the trading partner and
for Outbound sends an error message to the private process. See Duplicate Message
Detection on page 76 for more details.
Add Add a special header to any messages going to this trading partner.
BusinessConnect
See BusinessConnect SOAP Protocol Public Messages on page 112 for more
Specific Header
information.
Field Description
Allow Anonymous Allow pass-through messages from this trading partner.
SOAP Messages
See Receiving SOAP Messages without TIBCO-Specific Headers on
From This Trading
page 108 for more information.
Partner
SOAP Namespace The prefix for the envelope namespace is now configurable by the user. The
Prefix string SOAP-ENV is still the default, but you can replace it by any string of
your choice. For example, a SOAP message can have the following format:
<abc:Envelope
xmlns:abc="http://schemas.xmlsoap.org/soap/envelope/">
<abc:Header>
......
</abc:Header>
<abc:Body>
......
</abc:Body>
</abc:Envelope>
Topics
Use the Operation Bindings tab to configure the SOAP operations that each
participant in a business agreement can initiate and respond to.
The following properties apply to all the activities that you import in the
Operations Editor.
Field Description
Allow All This checkbox is cleared by default for the SOAP protocol.
Operations
When the checkbox is cleared, it is required that operations be explicitly bound
in the Host ’X’ Can Initiate and Partner ’Y’ Can Initiate areas.
Select this checkbox to allow all operations between participants. You can
modify the behavior of one or more activities by binding the operations in the
Host ’X’ Can Initiate and Partner ’Y’ Can Initiate areas.
Non Repudiation This checkbox is selected by default for the SOAP protocol.
Logging
See Non-Repudiation Logs on page 98 for more details.
Add Operation The Host ’X’ Can Initiate area lists the activities that the host can initiate and
Binding the partner can respond to. To bind an operation in this area, do the following:
1. Click Add Operation Bindings.
2. Click the topmost (+) to expand the operation tree and select the operation.
3. Click OK.
Add Operation The Partner ’Y’ Can Initiate area lists the activities that the partner can initiate
Binding and the host can respond to. To bind an operation in this area, do the following:
1. Click Add Operation Bindings.
2. Click the topmost (+) to expand the operation tree and select the operation.
3. Click OK.
Field Description
Override To override the settings for a SOAP operation, select this checkbox and then
Operation select General from the dropdown list.
Settings
The options entered here override those chosen in SOAP Operation Properties
on page 59.
SOAPAction You can use this dialog to override the SOAPAction that you entered in the
Operations Editor for this operation, whether you are changing an operation
that a host initiates or responds to.
3. Click Save.
Transports Tab
4. Configure transport settings for the host using Table 10.
Field Description
Override Select this checkbox to override the settings for a transport.
Transports
Primary Select the primary transport to override from the dropdown list: HTTP, HTTPS,
Transport or HTTPSCA.
5. Click Save.
Field Description
Override To override the settings for a SOAP operation, select this checkbox and then
Operation select General from the dropdown list.
Settings
The options entered here override those chosen in SOAP Operation Properties
on page 59.
SOAPAction You can use this dialog to override the SOAPAction that you entered in the
Operations Editor for this operation, whether you are changing an operation
that a host initiates or responds to.
3. Click Save.
Transports Tab
Field Description
Outbound Transports for Host (Host to Trading Partner)
Primary Transport The following options are available: HTTP, HTTPS, or None.
The primary transport is configured using the steps described in
Configuring Transports for a Partner on page 79.
Client Select one of the private keys that was assigned to the host.
Authentication
For more information, see TIBCO BusinessConnect Trading Partner
Identity for HTTP,
Administration Guide, Upload a Private Key for a Host.
FTPS, HTTPSCA
Client Select one of the SSH private keys (used to support the SSHFTP transport)
Authentication that was assigned to the host.
Identity for SSHFTP
For more information, see TIBCO BusinessConnect Trading Partner
Administration Guide, Upload a Private Key for a Host.
HTTP or HTTPS This area displays the transport (HTTP or HTTPS) that was selected in the
deployment configuration.
See TIBCO BusinessConnect Trading Partner Administration Guide, Setting Up
HTTP/S for a Trading Partner for more details.
Select or clear the checkbox to allow or disallow the use of this transport.
Show Advanced
Use the participant configuration tabs to override the general settings for a
participant per agreement protocol binding.
• To view the participant configuration tabs, click the Show Advanced button.
Configuration GUI displays two tabs labeled Host’s Configuration and
Partner’s Configuration, where Host and Partner are the participants in the
business agreement.
To hide the participant configuration tabs, click the Hide Advanced button.
Field Description
Override Settings If this checkbox is selected. it will override the settings specified for the host in
Table 6, Configuring a Host: General Tab, on page 74.
Field Description
Override Settings If this checkbox is selected. it will override the settings specified for the host in
Table 7, Configuring a Partner: General Tab, on page 78.
This chapter discusses how to view audit and resend logs after conducting
business transactions.
Topics
• Overview, page 90
• Audit Logs, page 91
• Non-Repudiation Logs, page 98
• Resend Logs, page 100
Overview
BusinessConnect provides four logs which are used to store messages processed
through the system. These logs are:
• Audit logs
• Resend logs
• Non-repudiation logs
Use the Log Viewer to search for SOAP transaction records.
Accessing Logs
To access a log, do the following:
1. Click the BusinessConnect > Log Viewer link in the left panel.
2. Click a link in the right panel to select which log to view:
— Audit Logs to display the audit log search options.
— Resend Logs to display the resend log search options.
— Non-repudiation Logs to display the non-repudiation log search options.
3. Select SOAP in the Protocol dropdown list.
4. Invoke a search by following the procedures described in TIBCO
BusinessConnect Trading Partner Administration Guide.
Audit Logs
The audit log is used to store information about the messages and documents
processed by BusinessConnect. You can use the audit log to follow the processing
states of inbound or outbound documents. Some of the types of information
stored in the audit log include:
• Sent and received documents
• Document originator
• Trading partner name
• Processing status
• Validation errors
3. Configure the advanced search settings by using the list presented in Table 16.
Column Definition
Trading Partner Boolean search using: is, contains, is not, is not like
4. In addition to these search entry fields, here are also buttons available that
allow you to do the following:
— Remove Query
— Execute Query
— Save Current Query
— Search
To learn more about these options, see TIBCO BusinessConnect Trading Partner
Administration Guide, Saving and Reusing Queries.
Summary View
Table 17 lists the columns that appear in the audit log.
Column Definition
Time Stamp When each of the transaction states is logged
Column Definition
Time Stamp When each of the transaction states is logged
Column Definition
Description Description of the last action recorded for the message
Example: Received request from private process.
REQUEST_SENT_TO_TP Request or notification sent This entry is logged only after the request
to trading partner; received has been successfully posted to the
acknowledgment. trading partner.
Either this entry or the next one is the last
one logged for notification.
RESPONSE_FROM_TP Received response from This entry is logged only after a response
trading partner is received from the trading partner.
UNPACKAGE_MSG Message from the <trading Logging is done after the received HTTP
partner> parsed to a SOAP message (request/response) is converted
message successfully to a SOAP message and decrypted (if
encrypted previously).
RESPONSE_VERIFIED Signed response from the Logging is done after the signed response
trading partner verified message is verified successfully.
successfully
Table 20 provides a list of the state field values for the Responder process:
RESPONSE_TO_TP Response sent to trading Logging is done after having the response
partner was successfully posted to the trading
partner.
PACKAGE_MSG SOAP Message packaged Logging is done after the SOAP message
successfully is packaged; for example, after the header
elements, body elements, and attachments
have been added.
If security is enabled, the SOAP body will
be signed and/or encrypted.
UNPACKAGE_MSG Message from the <trading Logging is done after the received HTTP
partner> parsed to a SOAP message (request/response) is converted
message successfully to a SOAP message and decrypted (if
encrypted previously).
REQUEST_VERIFIED Signed request from Trading Logging is done after the signed request
Partner verified successfully message is verified.
COMPLETED_WITH_ DMZ could not send the This state is logged when responder fails
ERROR
response to the partner to send a response to the Initiator.
Non-Repudiation Logs
TIBCO BusinessConnect SOAP Protocol 5.1.0 logs the signed incoming messages
to the non-repudiation tables: the incoming Notify or Synchronous Request
messages are logged on the Responder side, and the Synchronous Response
messages are logged on the Initiator side.
Non-repudiation logging can be enabled in a business agreement and then it
applies to all operations. It extracts the SOAP envelope from an incoming SOAP
message and logs it when the message verification succeeds.
Non-repudiation logging stores the SOAP envelope (without attachments) as is,
and also stores the verification certificates and decryption identities for encrypted
messages.
The incoming SOAP messages will be logged as follows:
• If messages are signed and encrypted, both the verification certificate and
encryption identities will be logged
• If messages are signed (and not encrypted), only the verification certificate
will be logged
Previous From this dropdown list, you can select the previous period to search:
• One Day
• One Week
• One Month
• One Year
3. Configure the advanced search settings by using the list presented in Table 22.
Column Definition
Operation ID Boolean search using: is, contains, is not, is not like
Trading Partner Boolean search using: is, contains, is not, is not like
4. In addition to these search entry fields, there are also buttons available that
allow you to do the following:
— Remove Query
— Execute Query
— Save Current Query
— Search
To learn more about these options, see TIBCO BusinessConnect Trading Partner
Administration Guide, Saving and Reusing Queries.
Details for the transactions in the non-repudiation logs view cannot be opened
for viewing (as it is the case with audit logs).
Resend Logs
See Table 24, State Values for Resend Logs, on page 101 for details.
3. In addition to these search entry fields, here are also buttons available that
allow you to do the following:
— Search (execute a search)
— Done (finish using the dialog)
To learn more about these options, see TIBCO BusinessConnect Trading Partner
Administration Guide, Performing a Log Search.
User TranID Boolean search using: is, contains, is not, is not like.
Host Initiates Boolean search using: is, contains, is not, is not like.
Column Definition
Trading Partner Boolean search using: is, contains, is not, is not like
7. In addition to these search entry fields, there are also buttons available that
allow you to do the following:
— Search (execute a search)
— Done (finish using the dialog)
To learn more about these options, see TIBCO BusinessConnect Trading Partner
Administration Guide, Performing a Log Search on page 106.
This chapter covers several advanced topics, such as trading with a third-party
SOAP implementation, using the Passthrough feature, and so on.
Topics
Partyinfo Schema
This section describes how a third-party SOAP implementation must configure its
messages to send them to a BusinessConnect SOAP Protocol implementation. In a
SOAP message, BusinessConnect SOAP Protocol by default puts TIBCO-specific
header data inside the SOAP Header element. For an example, see
BusinessConnect SOAP Protocol Public Messages on page 112.
For more details about TIBCO specific header schema, see Partyinfo Schema on
page 106.
While this TIBCO-specific header data is useful for BusinessConnect SOAP
Protocol, it is not useful when the trading partners do not use TIBCO products. In
order to allow seamless integration of SOAP messages with trading partners that
use third-party B2B solutions, it is possible to exchange SOAP messages without
TIBCO-specific headers.
Example:
http://www.SOAPServer.com:6700/SOAP
?host=SOAPServer&tpname=SOAPClient
&opid=Sync/1.0/PORequest
&transid=1232456789
Since BusinessConnect SOAP Protocol 5.1 provides support for multiple hosts, a
host value can be specified in a URL . If a host value is not present, the default
host is assumed.
Passthrough is allowed only for HTTP and HTTPS transports. The HTTPS-CA
transport can be used only when the parameter tpname is populated in the URL
for the passthrough messages
You must select the option Allow Anonymous SOAP Messages for the host or the
default host in order to complete a transaction when the header PartyInfo is
missing. You must also select the option Allow Anonymous SOAP Messages
From This Trading Partner for that partner if the parameter tpname is available in
the URL. If both parameters host and tpName are present, the option Allow
Anonymous SOAP Messages for the field tpName controls passthrough of the
message. When there is no operation ID in the passthrough messages, they are not
received by the Responder Request message in the BusinessConnect palette.
See Case 1: SOAP Header is Absent; URL has no Parameters on page 110, and
Case 3: SOAP Header is Absent; URL has no opid Parameter on page 110 for more
details.
Depending on the presence of the parameters tpname and opid in the URL, the
transaction will proceed as follows:
• When the values tpname and opid are present, the transaction can be
completed end-to-end; for example, the response can be sent back for the
Synchronous Request Response message. In this case, host defaults to the
default host of the system.
• If either of these values are missing when passthrough is enabled, the
transaction will be treated as a Notify operation.
To better illustrate the passthrough feature, the following cases are supplied:
• Case 1: SOAP Header is Absent; URL has no Parameters on page 110
• Case 2: SOAP Header is Absent; URL has no tpname and host Parameters on
page 110
• Case 3: SOAP Header is Absent; URL has no opid Parameter on page 110
• Case 4: SOAP Header is Absent; URL has no transid Parameter on page 111
• Case 5: Case 5: SOAP Header is Absent; URL has the host Parameter on
page 111
Case 2: SOAP Header is Absent; URL has no tpname and host Parameters
Example:
http://www.SOAPServer.com:6700/SOAP
?opid=Sync/1.0/PORequest
&transid=1232456789
The received SOAP message is rejected by default, and a SOAP Fault is generated
and sent back to the trading partner. To overcome this behavior and to allow this
trading partner to send a SOAP message to BusinessConnect SOAP Protocol, the
Allow Anonymous SOAP Messages From This Trading Partner checkbox in the
trading partner’s SOAP General subpanel must be selected.
When anonymity is enabled for this trading partner, BusinessConnect SOAP
Protocol has no operation-related context for the inbound message. It can only
handle the incoming message as a Notify operation.
BusinessConnect SOAP Protocol forwards the inbound SOAP message to the
private process through the ResponderRequest message.
The request and requestHeader fields of this message contain the incoming
SOAP header and body information in XML format. Once the incoming SOAP
message is forwarded to the local private process, BusinessConnect SOAP
Protocol sends an HTTP 204/No Content response back to the trading partner.
For this transaction, host is the default host of the system.
BusinessConnect SOAP Protocol has the complete context of the inbound SOAP
message. The transaction is processed as a regular synchronous Request Response
or Notify transaction, depending on the type of the operation in the incoming
message. A unique transaction ID is generated and this ID is passed to the private
process.
All transaction IDs generated by BusinessConnect SOAP Protocol will have the
string bcsoap: as the prefix.
SOAP Header
All outgoing messages will have the attributes mustUnderstand and actor
defined in the header elements. These attributes will have default values; for
example, 0 for mustUnderstand and "" for actor.
When validating the incoming messages, these attributes will be removed from
the header element only when they have default values. This is done to eliminate
the schema changes for the installations.
While validating BusinessConnect SOAP Protocol messages, any third-party
software receiving these messages must ensure that their schema for header
elements includes the attributes mustUnderstand and actor .
To see an example, look in the example provided in partyInfo schema, which is
available in BC_install_dir/protocols/soap/samples/tutorial.
Header Section 1
This is the part of the SOAP Header that comes from the requestHeader field in
the InitiatorRequest message from the private process.
It is present whether or not the BusinessConnect-specific SOAP Header is
included.
See a sample SOAP envelope message in SOAP XML Message with a
BusinessConnect-Specific Header on page 114.
Header Section 2
This is the BusinessConnect-specific part of the SOAP Header that is added if the
Add BusinessConnect Specific Header checkbox is selected in the sending
partner’s setup.
SOAP Body
This is the part of the SOAP body that comes from the request field in the
InitiatorRequest message from the private process. It is present whether or not
the BusinessConnect-specific SOAP Header is included.
See Initiator Outbound Request — Private Process to BusinessConnect on
page 121 for a description of this private process message.
This section shows how a private process can set SOAP envelope attributes and
namespaces. The SOAP message generated by BusinessConnect SOAP Protocol
will have the private process-supplied envelope attributes and namespaces along
with the default attributes and namespaces generated by BusinessConnect SOAP
Protocol.
The SOAP envelope attributes are managed following these rules:
• On outbound, all attributes will be populated on the SOAP envelope
• On inbound, only the envelope attributes with their associated namespaces
will be sent to the private process. The unused namespace attributes will not
be sent.
• The envelope attributes must be bound to a namespace prefix.
• A SOAP Envelope namespace, such as
http://schemas.xmlsoap.org/soap/envelope/, cannot be sent from the
private process. Also, the private process cannot send the namespace for a
SOAP envelope prefix that has been defined in the TIBCO Administrator GUI
for a given trading partner.
• value
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
xmlns:pro="http://myorg.com/schemas/promotions"
pro:promotionExpiryDate="03/12/2003">
. . .
</SOAP-ENV:Envelope>
Topics
Overview
The following sections describe the messages used for private request and
response document exchange in BusinessConnect SOAP Protocol.
• For RV Messages, message fields are packaged in the ^data^ control tag as
part of the aeRvMsg format.
• For JMS messages, these values are part of the Object message.
See TIBCO BusinessConnect Trading Partner Administration Guide, sections aeRvMsg
Message Format and JMS Transport for more information.
Private process messages described in this chapter are the following:
• Initiator Messages on page 121
• Responder Messages on page 127
• General Messages on page 133
The following objects can be included in private messages:
• Attachment Object on page 139
• TradingPartner on page 140
• Attribute on page 141
• SOAPFault on page 142
• Detail Class on page 143
Initiator Messages
Initiator
Request
Initiator
Response
statusMsg String Yes OK, or the string representing the cause of the
error. In this case, the response might be an
error document.
See statusCode and statusMsg Field Reference
on page 146.
The Receive Response activity can receive the SOAPFault element or any valid
XML document as a response. Therefore, if the option “Parse XML” is enabled,
the body element can have either the schema for the response, or the SOAPFault
element.
To get a proper response, the root element has to be configured in the GUI , and
also the schema has to be present for that operation. If there is no schema defined
for the response, only the SOAPFault element will be displayed. This behavior is
the same as in the case of the Send Response activity for sending a response.
See SOAPFault on page 142 for more information.
Responder Messages
Even if the incoming message size exceeds the threshold set at BusinessConnect
>Configuration>Intercomponent Advanced Settings>Skip content
threshold, the full message (not a file reference) is sent to the private process
through RV or JMS.
Responder
Request
Responder
Response
statusMsg String No OK,or the string representing the cause of the error.
See statusCode and statusMsg Field Reference on
page 146.
The Send Response activity has the SOAPFault element as a part of a body
element, as well as of the BCResponderResponse element.
If you want to send SOAPFault, you must populate it in the SOAPFault element
under the BCResponderResponse element. The SOAPFault element under the
body element should not be used: any SOAPFault values specified under the
body element will be ignored.
See SOAPFault on page 142 for more information.
Responder
Acknowledgement
Table 32 ResponderAck
statusMsg String Yes OK, or the string representing the cause of the error.
See statusCode and statusMsg Field Reference on
page 146.
General Messages
Advisory Message
This message is used to publish status information.
Attachment
The only exception to this rule is when the property Content-Type is defined
as binary and is subsequently changed to application/binary. This change
is done in order to maintain backward compatibility with BusinessConnect
SOAP Protocol 5.0.
The property Content-Type for attachments must conform to MIME
[RFC2045] standards, for example it has to be in the type/subtype format.
For complete syntax of this property refer to RFC 2045 at
http://www.ietf.org/rfc/rfc2045.txt.
Outbound Attachments
Outbound attachments are populated for the outbound request or response
messages such as Initiator Request or Responder Response.
If the property Content-Type is not specified, it will be determined based on the
type of the content:
• If content is of type String, Content-Type defaults to text/plain.
• If content is of type byte Array, Content-Type defaults to
application/octet-stream.
Inbound Attachments
Inbound attachments are received from public process multipart MIME SOAP
messages, which can carry the attachment content either in the text or binary
format.
Since the private process has to receive the attachment content as a string,
BusinessConnect SOAP Protocoll handles the attachments with the different
content types as follows:
• If the attachment content type is text, content is sent to the private process
as-is
• If the attachment content type is binary, content is base64-encoded and sent
to the private process
• If the attachment content type is unknown, content is Base64 encoded and sent
to the private process. In this case, the property Content-Type is changed to
application/octet-stream and the content is treated as binary; for
example, even if the plain text is received with the property Content-Type
described as unknown, this content will be base64-encoded (see Converting
Attachments to bas64 Strings on page 137).
OriginalContentType
For inbound attachments, if the content type is unknown, it will be changed to
application/octet-stream. The same will be passed on to the private process in the
field Content-Type. Original value received is populated in the
OriginalContentType field.
For text and binary content types, the fields contentType and
OriginalContentType for the private process will have the same value. This field
will be populated even when the attachment property from the release 5.0 is
preserved.
Attachment Object
originalContent String The original received content type is populated in this field.
Type
The field is available only for the Responder Request and
Initiator Response private process messages.
TradingPartner
Attribute
SOAPFault
faultActor String This element references the sender of the SOAP fault message. It
often carries the host name.
If the host cannot be determined, the default host will be used.
faultDetail Detail A detail message of the SOAPFault in the SOAP body. This is an
(class) attribute node with sub-elements, which is converted into an
XML string with sub-elements.
See Table 38 for more details.
Detail Class
Description String Represents the detailed description of the error while processing
the SOAP body element.
This appendix describes the possible values in the statusCode and statusmsg
fields. It also explains schema validation errors.
Topics
The statusCode and statusMsg fields are used in private messages that are sent
in response to a request. See Responder Inbound Request — BusinessConnect to
Private Process on page 127 and Responder Outbound Response — Private
Process to BusinessConnect on page 130 for examples of this.
The following values may display in the statusCode and statusMsg fields:
Code
Description
(status Role Category Possible Resolution
Code) (statusMsg)
500 Internal Server Error. Error System Check fault code, fault string, fault e f,
SOAP Fault occurred. faultactor.
The 600-699 status codes are error related to Web Services Security
Code
(status Description Role Category Possible Resolution
(statusMsg)
Code)
651 Message signing Error Security Check the identity used for signature
failed or the signing algorithm. One of them
may be invalid.
652 Signature verification Error Security Check the certificates used for
failed signature verification. It may be
wrong.
653 Message decryption Error Security Check the identity used for
failed decryption. It may be wrong.
659 Unknown error Error Security Error while processing the message
for security. For more details, look in
the status message.
The 800-899 status codes are for errors trapped locally on the Initiator side:
802 Transport transport Error Configuration SOAP supports HTTP and HTTPS
not supported by only.
SOAP
Code
(status Description Role Category Possible Resolution
(statusMsg)
Code)
805 Notification did not Error Configuration
reach all trading
partners
820 Schema Validation Error Schema Load header and/or body schema for
error: Missing validation request operation
Validating schema and message
(request) contents
821 Schema Validation Error Schema Load header and/or body schema for
error: Missing validation response operation
Validating schema and message
(response) contents
Code
(status Description Role Category Possible Resolution
(statusMsg)
Code)
824 Attachment Error Schema
processing error, validation
msg: message (request and message
from PP) contents
842 Invalid transport URI Error HTTP Error The transport URL for the trading
partner is not correct: check and
correct the URL.
866 Received response Error Security Check the operation editor settings.
document is denied
because of
encryption/signing
permissions
867 Error setting Error PackageMess Verify that envelope attributes are
envelope attributes age correctly specified as described in the
documentation.
The 900 - 999 status codes are for errors trapped by the Responder and sent back to the
Initiator:
Code
(status Description Role Category Possible Resolution
(statusMsg)
Code)
900 TP not allowed Error Configuration
access to specified
doc, reason:
901 Missing Error Passthrough Verify that your default host accepts
BusinessConnect anonymous messages by selecting
SOAP Header Allow Anonymous SOAP Messages
for the default host.
921 Missing validating Error Schema Load header and/or body schema for
schema validation request operation
and message
contents
922 Request not Error Schema Load header and/or body schema for
confirming to schema validation response operation
and message
contents
925 Received request Error Security Check the operation editor settings.
document is denied
because of
encryption/signing
permissions
Code
(status Description Role Category Possible Resolution
(statusMsg)
Code)
940 Client Authentication Error HTTP/
Failed Comm
943 Error while sending Error System Could not save context information in
request to private the database. Check database
process connection status.
944 Response not Error Schema Load header and body schema for
confirming to schema validation response action
and message
contents
Topics
Overview
This section explains SOAP fault and SOAP advisory messages that appear if
schema validation fails.
Schema validation errors are accessed through the log viewer using TIBCO
Administrator.
• If schema validation fails on the Initiator side for an outbound SOAP message,
the SOAP advisory message on the ERROR subject on the Initiator side will
have the complete details of the schema validation errors. These details will be
posted in the field statusMsg of the SOAP/Advisory AE message.
• If the schema validation fails on the Responder side for an inbound SOAP
message, (SOAP message from the public process), a SOAP fault is sent to the
trading partner. The SOAP fault detail will have the complete schema
validation error.
A sample SOAPFault message structure with fault detail looks as follows:
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<SOAP-ENV:Fault>
<faultcode>SOAP-ENV:Server</faultcode>
<faultstring>Server Error</faultstring>
<detail>
<ei:ErrorInfo xmlns:ei="http://www.tibco.com/
namespaces/bc/2002/04/errorinfo.xsd">
<code>922</code>
<description>Actual error from schema validation
</description>
</ei:ErrorInfo>
</detail>
</SOAP-ENV:Fault>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
The SOAP advisory message will be published both on the Initiator and
Responder side, with the statusMsg element containing the schema
validation errors.
• If the schema validation fails when processing response message from the
private process on the Responder side, a SOAP fault is sent with the fault
string, Response not conforming to schema. This SOAP fault message will
not have fault detail.
A SOAP/Advisory AE message will be published on the ERROR subject with
the schema validation errors in the statusMsg element.
• If the schema validation fails when processing a response message on the
Initiator side, a SOAP/Advisory AE message is published on the ERROR subject
with schema validation errors in the statusMsg element.
Topics
Overview
The BusinessConnect SOAP Protocol WSDL Tool allows users to import and
export WSDL files into BusinessConnect configuration.
The BusinessConnect SOAP Protocol WSDL tool does not take care of setting
certificates for participants. After the import, you must explicitly set certificates
for the HTTPS/HTTPSCA transports.
WSDL Import
UNIX Platform :
\tibco\bc\version\protocols\soap\tools\wsdl\wsdlimport
After importing WSDL files, log out and then log into the TIBCO Administrator
console to see the imported WSDL operations.
While importing WSDL files with the WSDL tool, keep in mind the following:
• Separate transport for each port in the WSDL will be created under the
partner mentioned in the file wsdlimport.tra.
• Operation bindings will be created for the operations imported through the
WSDL under Business Agreement>SOAP>Host can initiate of that particular
host and partner mentioned in the file wsdlimport.tra. Business agreement
will be created, if it is was not present before the import. The checkbox
“Override Transports” in the Transports tab of these operation bindings will
be enabled and primary transport will be set to the transport created under
partner for this particular operation.
• The checkbox “Validate Message” for that operation in the Operations Editor
will be always selected after the import if there is at least one schema for that
operation in WSDL.
Properties
Database connection java.property.bc.repo.db.user=database user
java.property.bc.repo.db.password=database password
Properties
Database vendor name (such as java.property.bc.repo.db.vendor=database vendor name
MSSQL, DB2, MySQL, Oracle) java.property.oracle.sid=sid for oracle database
Table 41 WSDL File, Trading Partner, and Local Host Name Properties for WSDL Import
Properties
WSDL file name property java.property.wsdlfilename=WSDL filename
This property specifies the WSDL file name to be imported. If the WSDL
filename is a directory, then all the WSDL files under this directory will
be imported.
WSDL Export
UNIX Platform:
\tibco\bc\version\protocols\soap\tools\wsdl\wsdlexport
In order to export schemas in to a WSDL file, the root element has to be present. If
there is no root element, schema will not be exported even if it was uploaded in
the GUI.
Properties
Database connection java.property.bc.repo.db.user=database user
java.property.bc.repo.db.password=database password
Table 43 WSDL File, Trading Partner, and Local Host Name Properties for WSDL Export
Properties
WSDL file name property java.property.wsdlfilename=wsdl file name
Index
E
edit an operation binding for partner 85
editing an operation binding for host 84
operation settings tab 84
transports tab 85
editing an operation binding for partner
operation settings tab 85
exchanging identity information 52
exchanging URI definitions 51
T
trading with a third-party SOAP implementation 106