You are on page 1of 184

TIBCO BusinessConnect™

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

Chapter 1 Introduction to SOAP and BusinessConnect SOAP Protocol 1


SOAP Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
BusinessConnect SOAP Protocol Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
SOAP Message Security 1.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
BusinessConnect SOAP Protocol Features. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
BusinessConnect SOAP Protocol Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Private Messages and Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Public Messages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Operation Types and Process Flows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Notify Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Synchronous Request-Response Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Scenario 1: Synchronous Request-Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Scenario 2: Notification. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

Chapter 2 Tutorial — Standalone Private Processes 11


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Trading Partners . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Transactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Initiator Machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Responder Machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

TIBCO BusinessConnect SOAP Protocol User’s Guide


iv
| Contents
Configuring the Initiator. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Importing Operations on the Initiator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Setting Up the Initiator as a Trading Host . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Setting Up Initiator Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Setting Up the Responder as a Trading Partner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Configuring the Business Agreement Between the Initiator and Responder . . . . . . . . . . . . . . . . . . . . . . . . . 20
Configuring the Responder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Importing Operations on the Responder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Setting Up the Responder as a Trading Host. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Setting Up Responder Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Setting Up the Initiator as a Trading Partner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Configuring the Business Agreements Between the Initiator and Responder . . . . . . . . . . . . . . . . . . . . . . . . 24
Running the Tutorial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Viewing the Audit Logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

Chapter 3 Tutorial — BusinessWorks Private Processes 35


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Transactions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Setting Up the Tutorial. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Configure the Machines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Configuring BusinessWorks Private Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Unzipping the Project Archive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Setting the Global Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Configuring Connections to BusinessConnect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Initiator Process Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Responder Process Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Running the Tutorial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Running the TIBCO BusinessWorks Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Viewing the Audit Logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

Chapter 4 Preparing Information with Your Trading Partners 49


Reaching Agreement on Shared Business Documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Exchanging URI Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Exchanging Identity Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

Chapter 5 Managing SOAP Operations 53


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Creating a SOAP Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Adding a Version to an Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Adding an Operation to a Version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

TIBCO BusinessConnect SOAP Protocol User’s Guide


Contents v
|
SOAP Operation Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Notify Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Synchronous Request-Response Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Importing SOAP Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Sample Interfaces. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Exporting SOAP Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Modifying SOAP Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Modify the Notify Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

Chapter 6 Setting Up Trading Hosts and Partners 73


Configuring the SOAP Protocol for a Host. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Duplicate Message Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Inbound Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Outbound Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Configuring the SOAP Protocol for a Partner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Setting General Properties for a Partner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Configuring Transports for a Partner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

Chapter 7 Configuring Agreement Protocol Bindings 81


Configure SOAP Agreement Protocol Binding. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Edit Protocol Binding Dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Operation Bindings Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Edit an Operation Binding for Host . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Edit an Operation Binding for Partner. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Document Security Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Transports Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Show Advanced . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

Chapter 8 Viewing Logs 89


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Accessing Logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Audit Logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Configure an Audit Log for SOAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Audit Log Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Non-Repudiation Logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Configure a Non-Repudiation Log for SOAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Resend Logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Configure a Resend Log for SOAP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

TIBCO BusinessConnect SOAP Protocol User’s Guide


vi
| Contents

Chapter 9 Advanced Topics 105


Partyinfo Schema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Trading with a Third-Party SOAP Implementation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
SOAP Messages without TIBCO-Specific Headers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Sending SOAP Messages without TIBCO-Specific Headers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Receiving SOAP Messages without TIBCO-Specific Headers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Using the Passthrough Feature. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
BusinessConnect SOAP Protocol Public Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
SOAP Header . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
SOAP Body . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
SOAP XML Message with a BusinessConnect-Specific Header . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
SOAP Envelope Attributes and Namespaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Envelope Attributes and Namespaces Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

Chapter 10 Private Messages 119


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Initiator Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Initiator Outbound Request — Private Process to BusinessConnect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Initiator Inbound Response — BusinessConnect to Private Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
Responder Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
Responder Inbound Request — BusinessConnect to Private Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
Responder Outbound Response — Private Process to BusinessConnect . . . . . . . . . . . . . . . . . . . . . . . . . 130
Responder Acknowledgement — BusinessConnect to Private Process . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
General Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Advisory Message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Attachment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
Attachment Object. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
TradingPartner. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
Attribute. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
SOAPFault . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Detail Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143

Appendix A Status Codes 145


statusCode and statusMsg Field Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146

Appendix B Schema Validation 153


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
Schema Validation Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155

TIBCO BusinessConnect SOAP Protocol User’s Guide


Contents vii
|

Appendix C BusinessConnect SOAP Protocol WSDL Tool 157


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
WSDL Import . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
WSDL Export . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163

TIBCO BusinessConnect SOAP Protocol User’s Guide


viii
| Contents

TIBCO BusinessConnect SOAP Protocol User’s Guide


Figures ix
|

Figures

Figure 1 Synchronous Request-Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8


Figure 2 Notification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Figure 3 Request Response Operation POSync . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Figure 4 Imported Operations PONotify and POSync . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Figure 5 Audit Logs Search on the Initiator Side . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Figure 6 Transaction Detail on the Initiator Side . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Figure 7 Audit Log Search on the Responder Side . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Figure 8 Transaction Detail on the Responder Side . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Figure 9 Notify Message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Figure 10 Imported Operations for SOAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Figure 11 Verify Trading Partner’s Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Figure 12 Send Notify. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Figure 13 Receive Notification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Figure 14 Receive Request and Send Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Figure 15 Test Send Notify. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Figure 16 Audit Logs Search on the Initiator Side . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Figure 17 Transaction Detail on the Initiator Side . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Figure 18 Audit Log Search on the Responder Side . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Figure 19 Transaction Detail on the Responder Side . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Figure 20 Create a SOAP Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Figure 21 New Interface POInterface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Figure 22 Add a Version to an Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Figure 23 New Interface Version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Figure 24 Add an Operation to a Version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Figure 25 Import Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Figure 26 Export SOAP Interface, Version, or Operation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Figure 27 Edit Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Figure 28 Edit Notify Operation: Notify . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

TIBCO BusinessConnect SOAP Protocol User’s Guide


x
| Figures
Figure 29 Edit Synchronous Request-Response Operation: Sync . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Figure 30 Synchronous Request-Response Operation: Sync . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Figure 31 Operation Bindings Added for Host and Partner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Figure 32 Initiator Outbound Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Figure 33 Initiator Inbound Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
Figure 34 Responder Inbound Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
Figure 35 Responder Outbound Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
Figure 36 Responder Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

TIBCO BusinessConnect SOAP Protocol User’s Guide


Tables xi
|

Tables

Table 1 General Typographical Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvi


Table 1 Notify Operation Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Table 2 Notify Request Action Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Table 3 Synchronous Request-Response Operation Tab. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Table 4 Request Action Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Table 5 Response Action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Table 6 Configuring a Host: General Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Table 7 Configuring a Partner: General Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Table 8 Operation Bindings Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Table 9 Override Outbound Settings: Operation Settings Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Table 10 Override Outbound Settings: Transports Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Table 11 Override Inbound Settings: Operation Settings Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Table 12 Transports Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Table 13 Show Advanced: Host’s Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Table 14 Show Advanced: Partner’s Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Table 15 Audit Log: Search Transactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Table 16 Audit Log: Advanced Search Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Table 17 Audit Log Columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Table 18 Transaction Detail Columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Table 19 State Field Values for Initiator Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Table 20 State Field Values for Responder Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Table 21 Non-Repudiation Log: Search Transactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Table 22 Non-Repudiation Log: Advanced Search Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Table 23 Resend Log: Resendable Transactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Table 24 State Values for Resend Logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Table 25 Resend Log: Advanced Search Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Table 26 Resend Log: Resend History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Table 27 Resend Log: Advanced Search Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

TIBCO BusinessConnect SOAP Protocol User’s Guide


xii
| Tables
Table 28 Initiator Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Table 29 Initiator Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
Table 30 Responder Inbound Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
Table 31 Responder Outbound Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
Table 32 ResponderAck . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Table 33 Advisory Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Table 34 Attachment Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
Table 35 Trading Partner Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
Table 36 Attribute Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
Table 37 SOAP Fault Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Table 38 Detail Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Table 39 statusCode and statusMsg Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
Table 40 BusinessConnect Database Configuration Properties for WSDL Import. . . . . . . . . . . . . . . . . . . . 159
Table 41 WSDL File, Trading Partner, and Local Host Name Properties for WSDL Import. . . . . . . . . . . . . 160
Table 42 BusinessConnect Database Configuration Properties for WSDL Export . . . . . . . . . . . . . . . . . . . 161
Table 43 WSDL File, Trading Partner, and Local Host Name Properties for WSDL Export . . . . . . . . . . . . 162

TIBCO BusinessConnect SOAP Protocol User’s Guide


| xiii

Preface

This manual describes how to use TIBCO BusinessConnect TM SOAP Protocol.

Topics

• Related Documentation, page xiv


• Typographical Conventions, page xvi
• How to Contact TIBCO Support, page xvii

TIBCO BusinessConnect SOAP Protocol User’s Guide


xiv Preface
|

Related Documentation

This section lists documentation resources that you may find useful.

BusinessConnect SOAP Protocol Documentation


The following documents form the BusinessConnect SOAP Protocol
documentation set:
• BusinessConnect SOAP Protocol User’s Guide: Read this guide to learn about
preparing information for use with trading partners, managing SOAP
interfaces, setting up trading hosts and partners, configuring agreement
protocol bindings, and so on. This guide also includes two tutorials:
Standalone Private Processes, and TIBCO BusinessWorks Private Processes.
• BusinessConnect SOAP Protocol Installation Guide: Read this guide in order to
properly install and configure the SOAP protocol.
• BusinessConnect SOAP Protocol Release Notes: Read this document to learn
about new features, changes in functionality, deprecated features, known
issues, and closed issues for each release. This document is supplied for each
release and is available only in PDF format.

Other TIBCO Product Documentation


You may also find useful to read the documentation for the following TIBCO
products, which may be used or integrated with BusinessConnect SOAP Protocol:
• TIBCO BusinessConnect™ software: This software allows you to configure
and manage trading partners to perform secure transmission of documents
and messages.
• TIBCO Administrator™ software: This software allows you to manage users,
machines and applications defined in a TIBCO Administration Domain. The
TIBCO Administrator graphical user interface enables users to deploy,
monitor, and start and stop TIBCO applications.
• TIBCO BusinessWorks™ software: This software is a scalable, extensible, and
easy to use integration platform that allows you to develop integration
projects. TIBCO BusinessWorks includes a graphical user interface (GUI) for
defining business processes and an engine that executes the process.
• TIBCO Designer™ software: This graphical user interface is used for
designing and creating integration project configurations and building an
Enterprise Archive (EAR) for the project. The EAR can then be used by TIBCO
Administrator for deploying and running the application.

TIBCO BusinessConnect SOAP Protocol User’s Guide


Related Documentation xv
|

• TIBCO Runtime Agent™ software: This software suite is a prerequisite for


other TIBCO software products. In addition to TIBCO Runtime Agent
components, the software suite includes the third-party libraries used by
other TIBCO products such as TIBCO Designer, Java Runtime Environment
(JRE), TIBCO Hawk®, and TIBCO Rendezvous®.
• TIBCO Rendezvous: This software enables programs running on many
different kinds of computers on a network to communicate seamlessly. It
includes two main components: the Rendezvous programming language
interface (API) in several languages, and the Rendezvous daemon.
• TIBCO Enterprise Message Service ™ software: This software provides a
message service that enables integration of applications within an enterprise
based on the Java Message Service (JMS) specifications.

Third Party Documentation


The specification for the SOAP protocol can be found at
http://www.w3.org/TR/SOAP/.

TIBCO BusinessConnect SOAP Protocol User’s Guide


xvi Preface
|

Typographical Conventions

The following typographical conventions are used in this manual.

Table 1 General 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.

bold code Bold code font is used in the following ways:


font
• In procedures, to indicate what a user types. For example: Type admin.
• In large code samples, to indicate the parts of the sample that are of
particular interest.
• In command syntax, to indicate the default parameter for a command. For
example, if no parameter is specified, MyCommand is enabled:
MyCommand [enable | disable]

italic font Italic font is used in the following ways:


• To indicate a document title. For example: See TIBCO BusinessWorks Concepts.
• To introduce new terms For example: A portal page may contain several
portlets. Portlets are mini-applications that run in a portal.
• To indicate a variable in a command or code syntax that you must replace.
For example: MyCommand pathname

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.

TIBCO BusinessConnect SOAP Protocol User’s Guide


How to Contact TIBCO Support xvii
|

How to Contact TIBCO Support

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.

TIBCO BusinessConnect SOAP Protocol User’s Guide


xviii Preface
|

TIBCO BusinessConnect SOAP Protocol User’s Guide


|1

Chapter 1 Introduction to SOAP and


BusinessConnect SOAP Protocol

This chapter describes SOAP and BusinessConnect SOAP Protocol.

Topics

• SOAP Overview, page 2


• BusinessConnect SOAP Protocol Overview, page 3
• BusinessConnect SOAP Protocol Features, page 4
• BusinessConnect SOAP Protocol Messages, page 5
• Operation Types and Process Flows, page 6

TIBCO BusinessConnect SOAP Protocol User’s Guide


2
| Chapter 1 Introduction to SOAP and BusinessConnect SOAP Protocol

SOAP Overview

SOAP 1.1 (Simple Object Access Protocol) is a lightweight XML-based messaging


protocol for exchanging structured data in a decentralized, distributed
environment. SOAP allows buyers, sellers, and intermediaries to share business
documents and messages over the Internet. SOAP can also be used for other types
of supply chain integration transactions, such as collaborative forecasting,
inventory management, and design collaboration.
SOAP transactions involve the exchange of documents, most of which are
analogous to hardcopy documents traditionally used in business. These
documents are simple text files, but they have well-defined structure and
contents.
SOAP has the following parts:
• An envelope that defines a framework for describing what is in a message and
how to process the message. This defines the message package. The SOAP
envelope consists of an optional header and a mandatory body. The envelope
is the first element in the document and identifies it as a SOAP message. The
header allows the sender to add management or control information that can
be used for routing, security, or proper handling by the recipient. The body
contains the information sent to the receiver.
• A standard for representing request and response.

TIBCO BusinessConnect SOAP Protocol User’s Guide


BusinessConnect SOAP Protocol Overview 3
|

BusinessConnect SOAP Protocol Overview

BusinessConnect SOAP Protocol is the TIBCO implementation of the SOAP 1.1


specification. The protocol is developed by TIBCO for exchanging XML
documents used in e-commerce. Based upon an agreed-upon process flow and
common document format, you and your trading partner can conduct secure and
verifiable business transactions online using BusinessConnect SOAP Protocol.
For an overview of what a business protocol means, see TIBCO BusinessConnect
Concepts, Chapter 2 BusinessConnect Architecture, section Business Protocols.

SOAP Message Security 1.1


In TIBCO BusinessConnect SOAP Protocol 5.1.0, Web Services Security
(WS-Security 2004) is used to sign or to encrypt the SOAP body as a whole.
Individual elements of the body or any other parts, such as header elements or
attachments, can not be signed or encrypted.
For more details on enabling signing and encryption, see the Require Digital
Signature and Require Content Encryption fields for the following operations:
• Notify Request Action Tab on page 60
• Request Action Tab on page 62
• Response Action Tab on page 64

TIBCO BusinessConnect SOAP Protocol User’s Guide


4
| Chapter 1 Introduction to SOAP and BusinessConnect SOAP Protocol

BusinessConnect SOAP Protocol Features

The following are some significant features of the BusinessConnect SOAP


Protocol:
• Support for the synchronous Request-Response and Notify operation types
See Notify Operations on page 6 and Synchronous Request-Response
Operations on page 7 for more details.
• Support for HTTP, HTTPS, and HTTPSCA transport protocols
• Multiple server certificate support for HTTPS
• Access control through trading partner identification and permissions
• Validation of XML documents with XSDs
• Signing or encryption of the SOAP body as a whole using Web Services
Security (WS-Security 2004).
See SOAP Message Security 1.1 on page 3 for more details.
• Ability to specify certain timing constraints
• Ability to generate audit records
See Audit Logs on page 91 for more details.
• Enabled non-repudiation logging in business agreements for all operations.
See Non-Repudiation Logs on page 98 for more details.
• Ability to send attachments
See Attachment on page 135 for more details.
• Ability to use the WSDL Tool to export and import WSDL files
See Appendix C, BusinessConnect SOAP Protocol WSDL Tool, on page 157
for more details.

BusinessConnect SOAP Protocol Compatibility


For information on the platforms with which BusinessConnect SOAP Protocol is
compatible, see the readme.txt file for each release.

TIBCO BusinessConnect SOAP Protocol User’s Guide


BusinessConnect SOAP Protocol Messages 5
|

BusinessConnect SOAP Protocol Messages

In a SOAP transaction, two partners exchange business documents over the


Internet based on a pre-defined business agreement. The business agreement
describes what message formats and transport protocols the partners have agreed
to use, among other options. The exchange of business documents is known as the
process flow. See Operation Types and Process Flows on page 6.
In a BusinessConnect process flow, two types of messages are exchanged: private
messages and public messages.

Private Messages and Processes


Private messages are exchanged between a private process and BusinessConnect.
For a detailed description of BusinessConnect SOAP Protocol private messages,
see Chapter 10, Private Messages, page 119. Private messages can contain a
request, a response, or a notification document.
Private processes handle conversion from internal to public data and back.
• On the Initiator side, the private process converts internal data to a SOAP
request, an acceptance, or a notification document.
• On the Responder side, the private process receives a SOAP request, converts
it to internal company format, receives back a response from inside the
company, and converts it to SOAP format.
The following private processes are available with BusinessConnect SOAP
Protocol:
• Standalone Standalone private processes use TIBCO Rendezvous Certified
Messaging to communicate with BusinessConnect SOAP Protocol. For an
example, see Chapter 2, Tutorial — Standalone Private Processes, on page 11.
• BusinessWorks The BusinessWorks processes can send requests to
BusinessConnect SOAP Protocol, or receive replies from BusinessConnect
SOAP Protocol. For an example, see Chapter 3, Tutorial — BusinessWorks
Private Processes, on page 35.

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.

TIBCO BusinessConnect SOAP Protocol User’s Guide


6
| Chapter 1 Introduction to SOAP and BusinessConnect SOAP Protocol

Operation Types and Process Flows

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.

TIBCO BusinessConnect SOAP Protocol User’s Guide


Operation Types and Process Flows 7
|

Synchronous Request-Response Operations


The following process flow occurs in a synchronous request-response operation.
1. A private process inside the initiating company sends a request to the local
BusinessConnect.
See Initiator Outbound Request — Private Process to BusinessConnect on
page 121.
2. The Initiator BusinessConnect retrieves relevant information and sends the
business request to the Responder BusinessConnect.
3. The Responder BusinessConnect validates and forwards the business request
to the local private process and waits for the local private process to respond.
See Responder Inbound Request — BusinessConnect to Private Process on
page 127.
If the validation of the inbound SOAP message fails, then the Responder
BusinessConnect SOAP Protocol sends a SOAP Fault on the same channel to
the Initiator BusinessConnect, which then forwards the fault content to the
private process.
4. The Responder private process can send an error to BusinessConnect if it
cannot process the request. The Responder BusinessConnect sends a SOAP
Fault message to the Initiator BusinessConnect, which then forwards the fault
message to the Initiator private process.
5. The Responder private process responds to the local BusinessConnect.
See Responder Outbound Response — Private Process to BusinessConnect on
page 130.
The Responder private process can also return an error message to
BusinessConnect, which sends a SOAPFault message to the trading partner.
To send the SOAPFault as the response, the Responder private process should
set the statusCode field of the ae/SOAP/ResponderResponse AE message to
values outside the range of 200-299.
The ae/SOAP/ResponderResponse AE message class includes a field called
soapFault. BusinessConnect SOAP Protocol uses the values in the soapFault
field to generate the public SOAPFault response message.
6. The Responder BusinessConnect forwards the business response from the
local private process on the same channel to the Initiator’s waiting
BusinessConnect.
7. The Responder BusinessConnect sends an acknowledgment to the local
private process if it receives no error message from the Initiator
BusinessConnect.

TIBCO BusinessConnect SOAP Protocol User’s Guide


8
| Chapter 1 Introduction to SOAP and BusinessConnect SOAP Protocol

See Responder Acknowledgement — BusinessConnect to Private Process on


page 132.
8. The Initiator BusinessConnect forwards the response to the local private
process.
See Initiator Inbound Response — BusinessConnect to Private Process on
page 124.

Scenario 1: Synchronous Request-Response


For asynchronous request-response operation, you can specify the following:
• For the Initiator:
— Response Wait
— Time to Wait between Retransmits
— Number of Retries
• For the Responder:
— Private Process Wait

Figure 1 Synchronous Request-Response


Request
# of retires
Time to wait

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.

TIBCO BusinessConnect SOAP Protocol User’s Guide


Operation Types and Process Flows 9
|

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

1. The initiating trading partner sends a notification to its partner.


2. The receiving partner sends back an acknowledgment and hands off the
notification to the private process.
3. If communication cannot be established, a specified number of retries occurs.

TIBCO BusinessConnect SOAP Protocol User’s Guide


10
| Chapter 1 Introduction to SOAP and BusinessConnect SOAP Protocol

TIBCO BusinessConnect SOAP Protocol User’s Guide


| 11

Chapter 2 Tutorial — Standalone Private Processes

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

TIBCO BusinessConnect SOAP Protocol User’s Guide


12
| Chapter 2 Tutorial — Standalone Private Processes

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.

TIBCO BusinessConnect SOAP Protocol User’s Guide


Overview 13
|

5. The Responder BusinessConnect sends a response to the Initiator


BusinessConnect.
6. The Responder BusinessConnect sends an acknowledgement (ack) to the
Responder private process.
7. The Initiator BusinessConnect sends a response to the Initiator private
process.
A detailed diagram of the POSync operation is displayed in Figure 3.

Figure 3 Request Response Operation POSync

Company A
Private Process Outbound Request

TIBCO BusinessWorks
1 BusinessConnect
Send Request-
Response SOAP Protocol
7

Internet

Private Process Inbound Request


5 2
BusinessWorks

Receive Request
3
Legend BusinessConnect
SOAP Protocol 4
Request Send Response
Response 6
ACK
Company B

TIBCO BusinessConnect SOAP Protocol User’s Guide


14
| Chapter 2 Tutorial — Standalone Private Processes

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.

TIBCO BusinessConnect SOAP Protocol User’s Guide


Prerequisites 15
|

Prerequisites

Before starting this tutorial, provide the following prerequisites:


1. Install the following software packages:
a. BusinessConnect Server
b. BusinessConnect SOAP Protocol
2. If you are unfamiliar with the SOAP standard, read Chapter 1, Introduction to
SOAP and BusinessConnect SOAP Protocol, page 1.
3. See TIBCO BusinessConnect Server Administration Guide and TIBCO
BusinessConnect Trading Partner Administration Guide for complete information
on setting up and running BusinessConnect.

TIBCO BusinessConnect SOAP Protocol User’s Guide


16
| Chapter 2 Tutorial — Standalone Private Processes

Configuring the Initiator

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.

Importing Operations on the Initiator


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 covered in this tutorial.

Import the Initiator Operation Interfaces


Start TIBCO Administrator and do the following:
1. Click the BusinessConnect > Operations Editor link in the left panel.
2. In the Operations Editor dialog, select SOAP from the dropdown list and click
Edit.
3. Click Import.
4. Click change....
5. Browse to the location and select
BC_install_dir\protocols\soap\samples\client\operations.csx

6. Click Open.
7. Click OK.
8. Enter a password (not required).

TIBCO BusinessConnect SOAP Protocol User’s Guide


Configuring the Initiator 17
|

9. Click Import.
The Edit Operations dialog appears with imported operations.

Figure 4 Imported Operations PONotify and POSync

10. Click Done.

Setting Up the Initiator as a Trading Host


On the Initiator machine, you will set up the Initiator as a trading host.
Setting up the Responder as the Initiator’s trading partner is discussed in Setting
Up the Responder as a Trading Partner on page 19.
The trading host setup for the Initiator consists of these steps:
• Set Up Initiator Host, page 17
• Set Up the SOAP Protocol for the Initiator Host, page 18

Set Up Initiator Host


The trading host is typically defined when setting up BusinessConnect.
• If the host is set, go to Set Up the SOAP Protocol for the Initiator Host on
page 18.
• If the host is not set, complete the following steps.
1. Click the BusinessConnect > Participants link in the left panel.
2. Click the New button.
3. Type SOAPClient in the Participant Name field.
4. Select Host in the Participant Type dropdown list.
5. Click OK.

TIBCO BusinessConnect SOAP Protocol User’s Guide


18
| Chapter 2 Tutorial — Standalone Private Processes

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.

Set Up the SOAP Protocol for the Initiator Host


1. Click the BusinessConnect > Participants link in the left panel.
2. Click the SOAPClient link in the right panel.
3. Click the Protocols tab.
4. Verify that SOAP is listed in the Protocol Name list.
If SOAP does not appear in the list of protocols:
a. Click Enable.
b. Select the SOAP checkbox.
c. Click Save.

Setting Up Initiator Server


The Initiator server must be set up to communicate with its trading partners. To
do so, follow these steps:
• Create the deployment configuration.
See TIBCO BusinessConnect Server Administration Guide for information on
deployment configurations.
• Set Up the Initiator Server Transport.

Set Up the Initiator Server Transport


To set up the server transport, follow these steps:
1. Click the Application Management > BusinessConnect > Configuration link
in the left panel.
2. Click the BusinessConnect link in the Configuration Builder panel.
3. On the Public Process Configuration tab, click the HTTP link.

TIBCO BusinessConnect SOAP Protocol User’s Guide


Configuring the Initiator 19
|

4. Verify that the Enable HTTP Transport checkbox is selected.


5. Keep the default port of 6700.
6. Click Save twice.
7. Click Deploy.
8. Verify that the Start Successfully Deployed Services checkbox is selected.
9. Click OK.
This will deploy BusinessConnect and start the server.

Setting Up the Responder as a Trading Partner


The Responder trading partner setup consists of these steps:
• Set Up the Responder Partner
• Set Up the SOAP Protocol for the Responder Partner

Set Up the Responder Partner


1. Click the BusinessConnect > Participants link in the left panel.
2. Click the New button.
3. Type SOAPServer in the Participant Name field.
4. Select Partner in the Participant Type dropdown list.
5. Click OK.
6. In the New Partner Participant dialog with SOAPServer in the Participant
Name filed, select the Active checkbox.

Set Up the SOAP Protocol for the Responder Partner


1. In the New Partner Participant dialog with SOAPServer in the Participant
Name filed, click the Protocols tab.
2. Verify that SOAP is listed in the Protocol Name list.
If SOAP does not appear in the list of protocols:
a. Click Enable.
b. Select the SOAP checkbox.
c. Click OK.
3. Click the SOAP link.

TIBCO BusinessConnect SOAP Protocol User’s Guide


20
| Chapter 2 Tutorial — Standalone Private Processes

4. Click the Transports tab.


5. Click the Add button.
6. In the New Transport dialog, type HTTP in the Transport Name field.
7. Select HTTP from the Transport Type dropdown list.
8. Click OK.
9. In the NewHTTP Transport dialog, type the following in the URL field:
hostname:port/SOAP
where hostname is the name of the Responder host and port is the HTTP port set
in the Responder’s deployment configuration and is set to 6700 by default.
Example: http://www.widgets.com:6700/SOAP

10. Click Save twice.

Configuring the Business Agreement Between the Initiator and Responder


1. Click the BusinessConnect > Business Agreements link in the left panel.
2. Click the New button in the right panel.
3. Select the SOAPClient radio button in the Host Party area and the
SOAPServer radio button in the Partner Party area.
4. Click OK.
5. In the New Agreement dialog, click the Add Protocol Binding button.
6. In the Select Protocol dialog, select the SOAP checkbox.
7. Click OK.
8. Click the SOAP link that appears in the Agreement Protocol Binding list.
9. In the Operation Binding tab, verify that the Allow All Operations checkbox is
selected. This allows the host and trading partner to initiate all enabled
operations.
10. Select the Transports tab.
11. In the Outbound Transports for Host 'SOAPClient' area, select HTTP from the
Primary Transport dropdown list.
12. In the Allowed Inbound Transports for Partner 'SOAPServer' area, ensure that
the HTTP checkbox is selected.
13. Click Save twice.

TIBCO BusinessConnect SOAP Protocol User’s Guide


Configuring the Responder 21
|

Configuring the Responder

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.

Importing Operations on the Responder


To set up the Responder on the Responder machine, import the Responder
operation interfaces as follows:
1. Click the BusinessConnect > Operations Editor link in the left panel.
2. Select SOAP from the Protocol dropdown list in the right panel.
3. Click Edit.
4. Click Import.
5. Click Change....
6. Browse to the location and select
BC_install_dir\protocols\soap\samples\server\operations.csx

7. Click Open.
8. Click OK.
9. Enter a password (not required).
10. Click Import.
11. Click Done.

Setting Up the Responder as a Trading Host


On the Responder machine, you set up the Responder as a trading host. Setting
up the Initiator as the Responder’s trading partner is discussed Setting Up the
Initiator as a Trading Partner on page 23.

TIBCO BusinessConnect SOAP Protocol User’s Guide


22
| Chapter 2 Tutorial — Standalone Private Processes

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

Set Up the Responder Host


The trading host name property is typically defined when setting up
BusinessConnect.
If the property is set, go to Set Up the SOAP Protocol for the Responder Host on
page 22.
If the property is not set, complete the following steps:
1. Click the BusinessConnect > Participants link in the left panel.
2. Click the New button.
3. Type SOAPServer in the Participant Name field.
4. Select Host in the Participant Type dropdown list.
5. Click OK.
6. In the New Participant dialog with the participant name SOAPServer, 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 SOAPServer is selected in the Default Host dropdown list.
11. Click Save.

Set Up the SOAP Protocol for the Responder Host


1. Click the BusinessConnect > Participants link in the left panel.
2. Click the SOAPServer link in the right panel.
3. Click the Protocols tab.
4. Verify that SOAP is listed in the Protocol Name list.
If SOAP does not appear in the list of protocols:
a. Click Enable.
b. Select the SOAP checkbox.
c. Click Save.

TIBCO BusinessConnect SOAP Protocol User’s Guide


Configuring the Responder 23
|

Setting Up Responder Server


The Responder server must be set up to communicate with its trading partners.
To do so, follow these steps:
• Create the deployment configuration. See TIBCO BusinessConnect Server
Administration Guide for information on deployment configurations.
• Set Up the Responder Server Transport

Set Up the Responder Server Transport


To set up the server transport, follow these steps:
1. Click the Application Management > BusinessConnect > Configuration link
in the left panel.
2. Click the BusinessConnect link in the right panel.
3. On the Public Process Configuration tab, click the HTTP link.
4. Select Enable HTTP Transport.
5. Keep the default port of 6700.
6. Click Save twice.
7. Click Deploy.
8. Notice that the Start Successfully Deployed Services checkbox is checked.
9. Click OK.
This will deploy BusinessConnect and start the server.

Setting Up the Initiator as a Trading Partner


This section discusses the Initiator trading partner setup, which consists of these
steps:
• Setting Up the Initiator Partner
• Setting Up the SOAP Protocol for the Initiator Partner

Setting Up the Initiator Partner


1. Click the BusinessConnect > Participants link in the left panel.
2. Click the New button.
3. Type SOAPClient in the Participant Name field.
4. Select Partner in the Participant Type dropdown list.

TIBCO BusinessConnect SOAP Protocol User’s Guide


24
| Chapter 2 Tutorial — Standalone Private Processes

5. Click OK.
6. In the New Participant dialog with SOAPClient in the Participant Name field,
select the Active checkbox.

Setting Up the SOAP Protocol for the Initiator Partner


1. In the New Participant dialog with SOAPClient in the Participant Name field,
click the Protocols tab.
2. Verify that SOAP is listed in the Protocol Name list.
If SOAP does not appear in the list of protocols:
a. Click Enable.
b. Select the SOAP checkbox.
c. Click OK.
3. Click the SOAP link.
4. Click the Transports tab.
5. Click the Add button.
6. In the New Transport dialog, type HTTP in the Transport Name field.
7. Select HTTP from the Transport Type dropdown list.
8. Click OK.
9. In the NewHTTP Transport dialog, type the following in the URL field:
hostname:port/SOAP

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

10. Click Save twice.

Configuring the Business Agreements Between the Initiator and Responder


1. Click the BusinessConnect > Business Agreements link in the left panel.
2. Click the New button.
3. Select the SOAPServer radio button in the Host Party area and the
SOAPClient radio button in the Partner Party area.
4. Click OK.
5. In the New Agreement dialog, click the Add Protocol Binding button.

TIBCO BusinessConnect SOAP Protocol User’s Guide


Configuring the Responder 25
|

6. In the Select Protocol dialog, select the SOAP checkbox.


7. Click OK.
8. Click the SOAP link that appears in the Agreement Protocol Binding list.
9. In the Operation Binding tab, verify that the Allow All Operations checkbox is
selected. This allows the host and trading partner to initiate all enabled
operations.
10. Select the Transports tab.
11. In the Outbound Transports for Host 'SOAPServer' area, select HTTP from the
Primary Transport dropdown list.
12. In the Allowed Inbound Transports for Partner 'SOAPClient' area, ensure that
the HTTP checkbox is selected.
13. Click Save twice.

TIBCO BusinessConnect SOAP Protocol User’s Guide


26
| Chapter 2 Tutorial — Standalone Private Processes

Running the Tutorial

To run the tutorial example, follow these steps:


1. Start the Initiator and Responder runtime servers with TIBCO Administrator.
2. Open the file BC_install_dir/protocols/soap/samples/server/
runsoapserver.bat (or /runsoapserver) on the Responder machine with a text
editor and make the following change:
— In the line SET BC_INSTANCE=%%BC_INSTANCE%%

replace %%BC_INSTANCE% with the name of your installation, such as


BC-Responder.

— In the line SET JDK_DIR = %%JDK_DIR%%

replace %%JDK_DIR%% with JAVA_directory, such as C:\tibco\jre\1.5.0


— In the line SET RV_DIR=%%RV_DIR%%

replace the value %%RV_DIR%% with the RV library location, such as


C:\tibco\TIBRV.

A sample edited file runsoapserver.bat looks such as follows:

@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

The screen output provided in this tutorial is from a Windows machine.

TIBCO BusinessConnect SOAP Protocol User’s Guide


Running the Tutorial 27
|

Example: runsoapserver

C:\tibco\bc\5.1\protocols\soap\samples\server>runsoapserver.bat

**** SOAP Server Private Process *****


listening on: AX.BC.BC-Responder.SOAP.RESPONDER.REQUEST

4. Open the file


BC_install_dir/protocols/soap/samples/client/runSOAPClient.bat (or
/runsoapclient on UNIX) on the Initiator machine with a text editor and
make the following change:
— In the line SET BC_INSTANCE=%%BC_INSTANCE%%

replace %%BC_INSTANCE% with the name of your installation, such as


BC-Initiator.

— In the line SET JDK_DIR = %%JDK_DIR%%

replace %%JDK_DIR%% with JAVA_directory, such as C:\tibco\jre\1.5.0.


— In the line SET RV_DIR=%%RV_DIR%%

replace the value %%RV_DIR%% with the RV library location, such as


C:\tibco\TIBRV.

A sample edited file runSOAPClient.bat looks such as follows:

@ECHO OFF

SET BC_INSTANCE=BC-Initiator
SET JDK_DIR=C:\tibco\jre\1.5.0
SET RV_DIR=C:\tibco\TIBRV

TITLE SOAP Client private process

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:

TIBCO BusinessConnect SOAP Protocol User’s Guide


28
| Chapter 2 Tutorial — Standalone Private Processes

BC_install_dir\protocols\soap\samples\client\
runsoapclient

In this example, the following will be processed:


— The operation POSync containing a purchase order for five copies of a
word processing application is sent from the Initiator to the Responder
— The Responder confirms the receipt of that order
— The Responder sends an invoice to the Initiator
The following text will be displayed:

Example: runSOAPClient
t

**** SOAPClient Private Process *****


listening on: AX.BC.BC-Initiator.SOAP.INITIATOR.RESPONSE

Hit [Enter] to send request:


Sending request...
publishing on subject: AX.BC.BC-Initiator.SOAP.INITIATOR.REQUEST
Sending request:
Trading partner: SOAPServer
Operation ID: POInterface/1.0/POSync
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>

Body: <cpo:CommonPO xmlns:cpo="http://po.org/body" >


<cpo:POHeader CreationDate="2000-06-23" Number="12345" Purpose="PO" Type="
EZ" />

TIBCO BusinessConnect SOAP Protocol User’s Guide


Running the Tutorial 29
|
<cpo:BillTo/>
<cpo:ShipTo ContactName="BonifazLuis" ContactNumber="12345" ContactType ="
CT"/>
<cpo:Item>
<cpo:ItemHeader ExtendedPrice="499.75" Price="99.95" Quantity="5" UnitOf
Measure="EA"/>
<cpo:ItemDescription Description="Word Processing Application" Type="F"/
>
</cpo:Item>
<cpo:Total LineItemTotal="87" POTotal="544.15" QuantityTotal="34">12.34</
cpo:Total>
</cpo:CommonPO>

Attachment : po.txt
Attachment : image.gif

Hit [Enter] to send request:

Received message from BusinessConnect:


Status code: 200
Status message: OK
operation id: POInterface/1.0/POSync
transaction id: 8ae924d70cb0cb32010cb16aac8001d4
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>
response: <ci:CommonInvoice xmlns:ci="http://ci.org/body">
<ci:InvoiceHeader Date="2000-05-16" Number="12345" PODat
e="2000-05-16" PONumber="12345" Type="EZ" ShipDate="2000-05-16"></ci:InvoiceHead
er>
<ci:Seller ContactType="CT" ContactName="BonifazLuis" Co
ntactNumber="12345"></ci:Seller>
<Buyer></Buyer>
<ci:Item>
<ci:ItemHeader LineNumber="1" Quantity="5" Price
="99.95" UnitOfMeasure="EA" QuantityDiff="10"></ci:ItemHeader>
<ci:ItemTaxReference Description="VAT" Amount="3
.75"></ci:ItemTaxReference>
<ci:ItemDescription Type="F" Description="Word P

TIBCO BusinessConnect SOAP Protocol User’s Guide


30
| Chapter 2 Tutorial — Standalone Private Processes

rocessing Application"></ci:ItemDescription>
</ci:Item>
<ci:InvoiceSummary Amount="544.15"></ci:InvoiceSummary>
</ci:CommonInvoice>

On the Responder machine, the complete transaction log looks as follows:

**** SOAP Server Private Process *****


listening on: AX.BC.BC-Responder.SOAP.RESPONDER.REQUEST

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

TIBCO BusinessConnect SOAP Protocol User’s Guide


Running the Tutorial 31
|
Attachment saved to file image.gif
Hit [Enter] to send response:

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>

response: <ci:CommonInvoice xmlns:ci="http://ci.org/body">


<ci:InvoiceHeader Date="2000-05-16" Number="12345" PODat
e="2000-05-16" PONumber="12345" Type="EZ" ShipDate="2000-05-16"/>
<ci:Seller ContactType="CT" ContactName="BonifazLuis" Co
ntactNumber="12345"/>
<Buyer/>
<ci:Item>
<ci:ItemHeader LineNumber="1" Quantity="5" Price
="99.95" UnitOfMeasure="EA" QuantityDiff="10"/>
<ci:ItemTaxReference Description="VAT" Amount="3
.75"/>
<ci:ItemDescription Type="F" Description="Word P
rocessing Application"/>
</ci:Item>
<ci:InvoiceSummary Amount="544.15"/>
</ci:CommonInvoice>

Change the Message Type


To change the type of the message that will be sent from the Initiator to the
Responder using the command line interface, you can do the following:
1. Using a text editor, open the file
BC_install_dir/protocols/soap/samples/client/SOAPClient.properties

The content of the file SOAPClient.properties looks as follows:

TIBCO BusinessConnect SOAP Protocol User’s Guide


32
| Chapter 2 Tutorial — Standalone Private Processes

#
# 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

2. Comment out one of the two following lines:


#client.operationID: POInterface/1.0/PONotify

or
#client.operationID: POInterface/1.0/POSync

3. The operation that is not commented out will be executed: PONotify or


POSync.

Viewing the Audit Logs


To view the audit logs on the Initiator or Responder machines, do the following:
1. Click the Business Connect > Log Viewer link in the left panel.
2. Click the Audit Logs link in the right panel.
3. In the Search Transactions area, select SOAP in the Protocol dropdown list.
4. If transaction processing proceeds normally, select COMPLETED in the Status
dropdown list.
5. In the Date Range Criteria dropdown list, select Predefined Date Range.
6. Click Search to search logs.
A list of logs appears, as shown in Figure 5.

TIBCO BusinessConnect SOAP Protocol User’s Guide


Running the Tutorial 33
|

Figure 5 Audit Logs Search on the Initiator Side

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.

Figure 6 Transaction Detail on the Initiator Side

8. Repeat steps 1 -7 on the Responder machine.

TIBCO BusinessConnect SOAP Protocol User’s Guide


34
| Chapter 2 Tutorial — Standalone Private Processes

The following audit log search window appears, as shown in Figure 7.

Figure 7 Audit Log Search on the Responder Side

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.

Figure 8 Transaction Detail on the Responder Side

TIBCO BusinessConnect SOAP Protocol User’s Guide


| 35

Chapter 3 Tutorial — BusinessWorks Private


Processes

This chapter gives an overview of how to use BusinessWorks with


BusinessConnect SOAP Protocol.

Topics

• Overview, page 36
• Setting Up the Tutorial, page 38
• Configuring BusinessWorks Private Processes, page 39
• Running the Tutorial, page 45

TIBCO BusinessConnect SOAP Protocol User’s Guide


36
| Chapter 3 Tutorial — BusinessWorks Private Processes

Overview

BusinessConnect SOAP Protocol can exchange data with a TIBCO BusinessWorks


installation that is acting as a private process.
As explained in Tutorial — Standalone Private Processes on page 11, 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 PONotify operation is used in this tutorial.
To use TIBCO Designer with BusinessConnect, you need to install the
BusinessConnect Palette, which enables activities in TIBCO Designer
communication with BusinessConnect. You must install this palette in your
existing BusinessWorks installation before trying to design processes that
interface to BusinessConnect SOAP Protocol.
Once installed, BusinessConnect Palette causes BusinessConnect activities to
appear in TIBCO Designer. One of the activities allows you to connect to the
BusinessConnect configuration store and import XSDs for your guidelines into
TIBCO Designer.
These XSDs are then used for mapping XML data between your application
systems and BusinessConnect SOAP Protocol. For more information on the
activities available for interfacing from TIBCO Designer to BusinessConnect
SOAP Protocol, see TIBCO BusinessConnect Palette Reference.

The Example BusinessWorks Project


The example BusinessWorks project is included in the BusinessConnect SOAP
Protocol installation in the BC_install_dir\protocols\soap\samples\bcpalette.
It demonstrates the use of BusinessWorks to interact with BusinessConnect SOAP
Protocol. Knowledge of BusinessWorks, the BusinessConnect SOAP Protocol and
B2B is a prerequisite to running this example.
Since this sample is just an illustration of the BusinessConnect activities available
in BusinessWorks, it was made very simple. In a real-life scenario, the requesting
BusinessWorks engine would perform a lot of processing to generate a request.
Likewise, the receiving BusinessWorks engine would perform a lot of processing
and transformation from the received request from BusinessConnect server in
order to integrate with the backend systems.

TIBCO BusinessConnect SOAP Protocol User’s Guide


Overview 37
|

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.

Figure 9 Notify Message


Private Process Outbound Request Company A

TIBCO BusinessWorks
1 BusinessConnect
Send Notify SOAP Protocol

Internet

4
Company B
Legend
BusinessWorks
Notify BusinessConnect
Receive Notification
SOAP Protocol 3
ACK

Private Process Inbound Request

TIBCO BusinessConnect SOAP Protocol User’s Guide


38
| Chapter 3 Tutorial — BusinessWorks Private Processes

Setting Up the Tutorial

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

Configure the Machines


If you did not configure the Initiator and Responder machines yet, refer to the
following sections:
• Configuring the Initiator, page 16
• Configuring the Responder, page 21
Once both machines are configured, proceed with Configuring BusinessWorks
Private Processes on page 39.

TIBCO BusinessConnect SOAP Protocol User’s Guide


Configuring BusinessWorks Private Processes 39
|

Configuring BusinessWorks Private Processes

BusinessConnect SOAP Protocol contains an example BusinessWorks project


which sends a transaction to BusinessConnect. You use this example
BusinessWorks project in the tutorial.

Unzipping the Project Archive


To open the example zip archive BusinessWorks project in TIBCO Designer, do
the following:
1. Select Start >Programs>TIBCO>TIBCO Designer version >Designer version
2. Select New empty project.
3. In the Save Project dialog, click Cancel.
4. Select Project>Import Full Project.
5. Click the ZIP Archive tab.
6. Navigate to BC_install_dir\protocols\soap\samples\bcpalette
7. Select bcpalette.zip and click Open.
8. Click OK.
9. In the Options tab, select Try rename in case of name conflict.
10. Click Apply.
11. Select Project>Save As.

Setting the Global Variable


1. Click the Global Variables tab.
2. Verify that the BC_HOME variable is set to BC_install_dir

Configuring Connections to BusinessConnect


After opening the BusinessWorks project, you must configure it to work in your
environment. You need to configure both Initiator and Responder using the steps
explained in Configure BusinessWorks Project on page 40. These steps will set
your connection, which identifies your configuration store and BusinessConnect
installation.

TIBCO BusinessConnect SOAP Protocol User’s Guide


40
| Chapter 3 Tutorial — BusinessWorks Private Processes

Configure BusinessWorks Project


1. In the TIBCO Designer GUI, click on the Project tab.
2. Open the Connections folder and click on the BCServer Connection icon.
3. Click the BusinessConnect Server Access tab in the right panel.
a. Select the JDBC driver you use to communicate with the BusinessConnect
configuration store from the JDBC Driver dropdown list.
b. Type the URL for the configuration store in the JDBC URL field.
c. Type the configuration store username and password in the DB User and
Password fields.
d. Click the Apply button.
4. Select the Configuration tab.
5. Click the Update from Configuration Store button.
6. In the Configuration tab, select SOAP from the Protocol Name list.
7. Click the Import Selected Business Protocol button.
The previously imported operations appear, as shown in Figure 10.

Figure 10 Imported Operations for SOAP

When you import the protocol, BusinessWorks retrieves schema information


from the BusinessConnect configuration store and puts it in the BCSchemas
project folder.

TIBCO BusinessConnect SOAP Protocol User’s Guide


Configuring BusinessWorks Private Processes 41
|

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.

Verify the Trading Partner Name


In this tutorial, you will need to verify that the trading partner name on the
Initiator side is correctly entered for the Send Request operation.
1. Click on the Initiator folder in the project pane, and select the operation that is
used in this tutorial (Send Notify).
2. Select the action SendRequest, which contains the trading partner’s name.
3. Select the Input tab. The Input values will be displayed, as shown in Figure 11.

Figure 11 Verify Trading Partner’s Name

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.

TIBCO BusinessConnect SOAP Protocol User’s Guide


42
| Chapter 3 Tutorial — BusinessWorks Private Processes

Initiator Process Definitions


The Initiator process definitions can be accessed from the TIBCO Designer project
panel under the Initiator folder. The following processes are available:
• Send Notify (used in this tutorial)
• Send Request and Receive Response

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.

Figure 12 Send Notify

BusinessConnect validates the notification message, if it is configured to do so,


and converts it into a well-formed SOAP document. BusinessConnect then
transmits the SOAP document to the trading partner’s BusinessConnect, which
sends the message to the trading partner’s private process.

Send Request and Receive Response


This process uses the Read File activity to read the request 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 Send Request/Notification activity creates a request message and sends it
synchronously to the Initiator’s BusinessConnect. The activity then waits for the
response from the trading partner.
When the response document arrives, the Initiator’s BusinessConnect validates
the response document for syntactical correctness and sends it to the
BusinessWorks process.

TIBCO BusinessConnect SOAP Protocol User’s Guide


Configuring BusinessWorks Private Processes 43
|

The document is received by the Send Request/Notification activity, which is


waiting for the response. The response document is saved in the directory
BC_install_dir\protocols\soap\samples\client.

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.

Responder Process Definitions


The Responder process definitions can be accessed from the TIBCO Designer
project panel under the Responder folder. The following processes are available:
• Receive Notification (used in this tutorial)
• Receive Request and Send Response

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.

Figure 13 Receive Notification

When the Responder’s BusinessConnect receives a SOAP document from a


trading partner, it validates the SOAP message, if it is configured to do so. The
message is then sent to a BusinessWorks process for processing.

TIBCO BusinessConnect SOAP Protocol User’s Guide


44
| Chapter 3 Tutorial — BusinessWorks Private Processes

Receive Request and Send Response


The Receive Request and Send Response process shows how BusinessWorks can
act as a Responder by receiving a SOAP message initiated by a trading partner
and sending a response to the trading partner.
The process uses the Receive Request/Notification, Read File, and Send Response
activities to process, read, and respond to the request message, as shown in
Figure 14.

Figure 14 Receive Request and Send Response

When the Responder’s BusinessConnect receives a SOAP document from a


trading partner, it validates the SOAP message, if it is configured to do so. The
message is then sent to a BusinessWorks process for processing. The Send
Response activity sends a response back to the trading partner.

TIBCO BusinessConnect SOAP Protocol User’s Guide


Running the Tutorial 45
|

Running the Tutorial

To run this tutorial, follow these steps:


1. Set up the BusinessConnect SOAP Protocol trading partners on the Initiator
and Responder machines as described in Chapter 2, Tutorial — Standalone
Private Processes, on page 11.
2. Send the transaction.
See Running the TIBCO BusinessWorks Processes on page 45.
3. Check the results of sending the transaction.
See Viewing the Audit Logs on page 32.

Running the TIBCO BusinessWorks Processes

On the Responder Machine


1. In TIBCO Designer, select the Tester tab.
2. Select the Start Testing Viewed Process button .
3. Select the checkbox next to Responder > Receive Notification message.
4. Click Load Selected.

On the Initiator Machine


1. In TIBCO Designer, select the Tester tab.
2. Select the Start Testing Viewed Process button .
3. Select the checkbox next to Initiator > Send Notify.
4. Click Load Selected.
5. In the Jobs folder, select INITIATOR/Send Notify process and click Create a
Job button.
It will be saved as Job-number (viewed job).

The operation is tested and verified, as shown in Figure 15.

TIBCO BusinessConnect SOAP Protocol User’s Guide


46
| Chapter 3 Tutorial — BusinessWorks Private Processes

Figure 15 Test Send Notify

On the Responder Machine


After a couple of seconds, if the request has been validated and processed
properly by the Responder’s BusinessConnect server and its private process, the
line turns green and continues. When processing ends, the process receives a
response.

If something fails at the Responder machine, it is likely that nothing will be


returned from the Responder, and that the Send Request activity times out.

Viewing the Audit Logs


To view the audit logs on the Initiator or Responder machines, do the following:
1. Start TIBCO Administrator.
2. Click the Business Connect > Log Viewer link in the left panel.
3. Click the Audit Logs link in the right panel.
4. In the Search Transactions area, select SOAP in the Protocol dropdown list.
5. If transaction processing proceeds normally, select COMPLETED,
COMPLETED_WITH_ERROR, ERROR, or PENDING.

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.

TIBCO BusinessConnect SOAP Protocol User’s Guide


Running the Tutorial 47
|

Figure 16 Audit Logs Search on the Initiator Side

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.

Figure 17 Transaction Detail on the Initiator Side

9. Repeat steps 1 -7 on the Responder machine.


The following audit log search window appears, as shown in Figure 18.

TIBCO BusinessConnect SOAP Protocol User’s Guide


48
| Chapter 3 Tutorial — BusinessWorks Private Processes

Figure 18 Audit Log Search on the Responder Side

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.

Figure 19 Transaction Detail on the Responder Side

TIBCO BusinessConnect SOAP Protocol User’s Guide


| 49

Chapter 4 Preparing Information with Your Trading


Partners

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

• Reaching Agreement on Shared Business Documents, page 50


• Exchanging URI Definitions, page 51
• Exchanging Identity Information, page 52

TIBCO BusinessConnect SOAP Protocol User’s Guide


50
| Chapter 4 Preparing Information with Your Trading Partners

Reaching Agreement on Shared Business Documents

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.

TIBCO BusinessConnect SOAP Protocol User’s Guide


Exchanging URI Definitions 51
|

Exchanging URI Definitions

Partners must exchange Uniform Resource Identifiers (URIs) as part of the


business agreement before they can transact e-commerce. Trading partners can
trade URI definitions via email, the web or any other method. The URI is part of
the trading partner URL.
See Configuring Transports for a Partner on page 79 for instructions on how to
enter the URI when setting up your trading partner.
The following is a list of the available transport protocols and their URI formats:
• HTTP URI format: http://server:port/SOAP
• HTTPS URI format: https://server:port/SOAP

TIBCO BusinessConnect SOAP Protocol User’s Guide


52
| Chapter 4 Preparing Information with Your Trading Partners

Exchanging Identity Information

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.

BusinessConnect SOAP Protocol supports neither the RC2 family of encryption


algorithms, nor the MD5 digest algorithm for signatures.

TIBCO BusinessConnect SOAP Protocol User’s Guide


| 53

Chapter 5 Managing SOAP Operations

This chapter explains how to manage interfaces, versions, and operations.

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

TIBCO BusinessConnect SOAP Protocol User’s Guide


54
| Chapter 5 Managing SOAP Operations

Overview

BusinessConnect SOAP Protocol uses interfaces, versions, and operations to


categorize and define actions in an e-commerce transaction.

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.

TIBCO BusinessConnect SOAP Protocol User’s Guide


Overview 55
|

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.

TIBCO BusinessConnect SOAP Protocol User’s Guide


56
| Chapter 5 Managing SOAP Operations

Creating a SOAP Interface

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.

Figure 20 Create a SOAP Interface

4. Select the SOAP radio button.


5. Click on New Interface.
6. Enter a name for the interface in the Name field, such as POInterface.
7. Enter a brief description for the new interface (optional).
8. Click Save.
The Edit Operations dialog now displays the new interface, as shown in
Figure 21.

Figure 21 New Interface POInterface

TIBCO BusinessConnect SOAP Protocol User’s Guide


Adding a Version to an Interface 57
|

Adding a Version to an Interface

To add a version to an interface, do the following:


1. Select an interface radio button, such as POInterface.
The Edit Operations: SOAP dialog appears, as shown in Figure 22.

Figure 22 Add a Version to an Interface

2. Click New Version.


3. Enter the version number in the Name field, such as 1.0
4. Enter a brief description for the new interface (optional).
5. Click Save.
The Edit Operations dialog displays the new operation version, as shown in
Figure 23.

Figure 23 New Interface Version

TIBCO BusinessConnect SOAP Protocol User’s Guide


58
| Chapter 5 Managing SOAP Operations

Adding an Operation to a Version

To add an operation to a version, do the following:


1. Select the version radio button.
The Edit Operations: SOAP dialog appears, as shown in Figure 24.

Figure 24 Add an Operation to a Version

2. Click New Operation.


3. In the New Operation dialog, select either Notify or Synchronous
Request-Response from the Operation Type dropdown list.
4. Click OK.
The New Synchronous Request-Response Operation (or the New Notify
Operation) window will appear.
Depending on the operation you have selected, this window has the following
content:
— The New Notify Operation window contains the tabs Notify Operation and
Notify Request Action.
— The New Synchronous Request-Response Operation window contains the
tabs Synchronous Request-Response Operation, Request Action, and
Response Action.

TIBCO BusinessConnect SOAP Protocol User’s Guide


SOAP Operation Properties 59
|

SOAP Operation Properties

BusinessConnect SOAP Protocol supports neither the RC2 family of encryption


algorithms, nor the MD5 digest algorithm for signatures.

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

For information on validating schemas, see Appendix B, Schema Validation, on


page 153.

Notify Operation Tab


Use the Notify Operation tab to specify general information about the operation
that BusinessConnect receives.

Table 1 Notify Operation Tab

Field Description
Name Name of the operation

Description Description for the operation

TIBCO BusinessConnect SOAP Protocol User’s Guide


60
| Chapter 5 Managing SOAP Operations

Table 1 Notify Operation Tab

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.

Notify Request Action Tab


Use the Notify Request Action tab to specify how BusinessConnect processes a
message.

Table 2 Notify Request Action Tab

Field Description
Name Name of the operation

Description Description for the operation

Direction Initiator to Responder (preset)

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.

Validate Message Validate the message for the following cases:


• For an Initiator, when it comes from the local private process and goes to a
trading partner.
• For a Responder, when it comes from the Initiator trading partner and goes
to the Responder local private process.
When this field is selected, at least one of the schemas (body or header) must be
populated. When a schema is present, the corresponding content (body or
header) must conform to that schema. If the schema is absent, no validation is
performed.
See Appendix B, Schema Validation, on page 153.

TIBCO BusinessConnect SOAP Protocol User’s Guide


SOAP Operation Properties 61
|

Table 2 Notify Request Action Tab

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.

TIBCO BusinessConnect SOAP Protocol User’s Guide


62
| Chapter 5 Managing SOAP Operations

Synchronous Request-Response Operation

For information on validating schemas, see Appendix B, Schema Validation, on


page 153.

Operation Tab
Use the Synchronous Request-Response Operation tab to specify general
information about the operation.

Table 3 Synchronous Request-Response Operation Tab

Field Description
Name Name of the operation

Description Description for 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.

Request Action Tab


Use the Synchronous Request-Response Request Action tab to specify how
BusinessConnect processes a request.

Table 4 Request Action Tab

Field Description
Name Name of the operation

Description Description for the operation

Direction Initiator to Responder (preset)

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.

TIBCO BusinessConnect SOAP Protocol User’s Guide


SOAP Operation Properties 63
|

Table 4 Request Action Tab

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.

TIBCO BusinessConnect SOAP Protocol User’s Guide


64
| Chapter 5 Managing SOAP Operations

Table 4 Request Action Tab

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.

Response Action Tab


Use the Synchronous Request-Response Action tab to specify how
BusinessConnect processes a response.

Table 5 Response Action

Field Description
Name Name of the operation (response)

Description Description for the operation

Direction Responder to Initiator (preset)

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.

TIBCO BusinessConnect SOAP Protocol User’s Guide


SOAP Operation Properties 65
|

Table 5 Response Action

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.

TIBCO BusinessConnect SOAP Protocol User’s Guide


66
| Chapter 5 Managing SOAP Operations

Table 5 Response Action

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.

TIBCO BusinessConnect SOAP Protocol User’s Guide


Importing SOAP Interfaces 67
|

Importing SOAP Interfaces

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.

Figure 25 Import Operations

5. Click Change to upload a configuration data file.


6. In the Change File dialog, click Browse to navigate to a directory containing
an interface.
7. Select the interface.
8. Click Open.
9. Click OK twice.

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

TIBCO BusinessConnect SOAP Protocol User’s Guide


68
| Chapter 5 Managing SOAP Operations

Exporting SOAP Interfaces

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.

Figure 26 Export SOAP Interface, Version, or Operation

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.

TIBCO BusinessConnect SOAP Protocol User’s Guide


Modifying SOAP Operations 69
|

Modifying SOAP Operations

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.

Modify the Notify Operation


1. Start TIBCO Administrator.
2. Select BusinessConnect > Operations Editor.
3. Select SOAP from the Protocol dropdown list.
4. Click Edit.
5. In the Edit Operations dialog, click the topmost + to expand the interface tree.

Figure 27 Edit Operations

6. Click the Notify operation link.


7. Select the Notify Request Action tab.
8. Next to SOAP Body Validation Schema Name field click change....
9. Select Uploaded File from the dropdown list.
10. Next to the Uploaded File window, click Browse and select the file to upload,
such as
BC_install_dir\protocols\soap\samples\schemas\tutorial\commonpo.xsd

11. Click Open.

TIBCO BusinessConnect SOAP Protocol User’s Guide


70
| Chapter 5 Managing SOAP Operations

12. Click OK.


The Edit Notify Operation: Notify dialog appears, as shown in Figure 28.

Figure 28 Edit Notify Operation: Notify

13. Enter the SOAP Body Root Element Name.


14. Click Save.

Modify the Sync Operation


1. In the Edit Operations dialog, click the Sync operation link.
2. Select the Request Action tab.
3. Next to the SOAP Body Validation Schema Name field click change....
4. Select Uploaded File from the dropdown list.
5. Next to the Uploaded File window, click Browse and select the file to upload,
such as
BC_install_dir\protocols\soap\samples\schemas\tutorial\commonpo.xsd

6. Click Open.
7. Click OK.
The Edit Synchronous Request-Response Operation: Sync dialog appears, as
shown in Figure 29.

TIBCO BusinessConnect SOAP Protocol User’s Guide


Modifying SOAP Operations 71
|

Figure 29 Edit Synchronous Request-Response Operation: Sync

8. Enter the SOAP Body Root Element Name.


9. Click Save.
10. Select Sync again and then select the Response Action tab.
11. Next to the SOAP Body Validation Schema Name field click change....
12. Select Uploaded File from the dropdown list.
13. Next to the Uploaded File window, click Browse and select the file to upload,
such as
BC_install_dir\protocols\soap\samples\schemas\tutorial\commoninvoic
e.xsd

14. Click Open.


15. Click OK.
The Synchronous Request-Response Operation: Sync dialog appears, as
shown in Figure 30.

TIBCO BusinessConnect SOAP Protocol User’s Guide


72
| Chapter 5 Managing SOAP Operations

Figure 30 Synchronous Request-Response Operation: Sync

16. Enter the SOAP Body Root Element Name.


17. Click Save.

TIBCO BusinessConnect SOAP Protocol User’s Guide


| 73

Chapter 6 Setting Up Trading Hosts and Partners

This chapter explains how to set up trading hosts and partners in


BusinessConnect SOAP Protocol.

Topics

• Configuring the SOAP Protocol for a Host, page 74


• Configuring the SOAP Protocol for a Partner, page 78

TIBCO BusinessConnect SOAP Protocol User’s Guide


74
| Chapter 6 Setting Up Trading Hosts and Partners

Configuring the SOAP Protocol for a Host

To configure the SOAP protocol for a trading host:


1. Select BusinessConnect>Participants.
2. Click a host participant link in the right panel.
3. Click the Protocols tab.
If SOAP does not appear in the list of protocols, do the following:
a. Click Enable.
b. Select the SOAP checkbox.
c. Click OK.
4. Click the SOAP link.
5. In the Edit Enabled Protocol dialog, set properties for SOAP using the Table 6.

Table 6 Configuring a Host: General Tab

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

Allow Allow anonymous SOAP messages to pass through.


Anonymous
See Receiving SOAP Messages without TIBCO-Specific Headers for more
SOAP Messages
information.

6. Click Save.

Adding a Domain Identity for a Host


1. In the Edit Enabled Protocol dialog, click the link Add New.
2. In the Domain Identity List dialog, click Add New.
3. Select a domain from the Domain dropdown list and enter an identity in the
Identity field.

TIBCO BusinessConnect SOAP Protocol User’s Guide


Configuring the SOAP Protocol for a Host 75
|

4. Click Save.
5. Click OK.

TIBCO BusinessConnect SOAP Protocol User’s Guide


76
| Chapter 6 Setting Up Trading Hosts and Partners

Duplicate Message Detection

BusinessConnect SOAP Protocol checks for duplicates on all inbound and


outbound messages and, if found, forwards this duplicate message to the private
process. The duplicate field in the Responder Request message is then set to true.

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.

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

TIBCO BusinessConnect SOAP Protocol User’s Guide


Duplicate Message Detection 77
|

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)

TIBCO BusinessConnect SOAP Protocol User’s Guide


78
| Chapter 6 Setting Up Trading Hosts and Partners

Configuring the SOAP Protocol for a Partner

To configure the SOAP protocol for a trading partner:


1. Select BusinessConnect >Participants.
2. Click a partner participant link in the right panel.
3. Click the Protocols tab.
4. If SOAP does not appear in the list of protocols:
a. Click Enable.
b. Select the SOAP checkbox.
c. Click OK.
5. Click the SOAP link. The following configuration options are available:
— General Tab See Setting General Properties for a Partner on page 78.
— Transports Tab See Configuring Transports for a Partner on page 79.
6. Click Save.

Setting General Properties for a Partner


Use the General tab to configure general information about the trading partner.

Table 7 Configuring a Partner: General Tab

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.

TIBCO BusinessConnect SOAP Protocol User’s Guide


Configuring the SOAP Protocol for a Partner 79
|

Table 7 Configuring a Partner: General Tab

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>

where abc replaces the previously pre-defined string SOAP-ENV.


Note The value Envelope is not applied to the SOAP faults, which always
have SOAP-ENV as the default namespace.

Adding a Domain Identity for a Partner


1. In the Edit Enabled Protocol dialog, click on the link Add New.
2. In thew Domain Identity List dialog, click Add New.
3. In the New dialog, select a domain from the Domain dropdown list.
4. Enter an identity in the Identity field.
5. Click Save.
6. Click OK.

Configuring Transports for a Partner


To add the transport for a partner, do the following:
1. Click Add in the Transports tab.
2. Choose the transport: HTTP or HTTPS.
For more details, see TIBCO BusinessConnect Trading Partner Administration
Guide, Configuring HTTP/S for a Trading Partner.

TIBCO BusinessConnect SOAP Protocol User’s Guide


80
| Chapter 6 Setting Up Trading Hosts and Partners

TIBCO BusinessConnect SOAP Protocol User’s Guide


| 81

Chapter 7 Configuring Agreement Protocol Bindings

Topics

• Configure SOAP Agreement Protocol Binding, page 82


• Operation Bindings Tab, page 83
• Document Security Tab, page 86
• Transports Tab, page 87

TIBCO BusinessConnect SOAP Protocol User’s Guide


82
| Chapter 7 Configuring Agreement Protocol Bindings

Configure SOAP Agreement Protocol Binding

To configure a SOAP agreement protocol binding, follow these steps:


1. Select BusinessConnect>Business Agreements.
2. Click New.
3. Select a Host and a Partner from the Host Party and Partner Party lists.
Be sure that both trading partners have the SOAP protocol enabled (listed in
the Protocols column). If SOAP is not listed, see Configuring the SOAP
Protocol for a Host on page 74 or Configuring the SOAP Protocol for a Partner
on page 78 for details.
4. Click OK.
5. In the New Agreement dialog, verify that the Valid checkbox is selected (that
the current business agreement is valid).
If you wish to specify the time period for which this agreement will be valid,
clear the Valid checkbox and then use the Start Date and End Date dropdown
lists to specify the agreement’s duration.
6. Click the Add Protocol Binding button.
7. In the Select Protocol dialog, select the checkmark next to SOAP.
8. Click OK.
The New Agreement dialog appears.
9. Click the SOAP link in the Agreement Protocol Binding list.
The dialog Edit Protocol Binding: SOAP appears.

Edit Protocol Binding Dialog


The following tabs for configuring options are available:
— Operation Bindings Tab See Operation Bindings Tab on page 83.
— Document Security Tab See Document Security Tab on page 86.
— Transports Tab See Transports Tab on page 87.
— Show Advanced: Participant configuration tabs See Show Advanced on
page 87.

TIBCO BusinessConnect SOAP Protocol User’s Guide


Operation Bindings Tab 83
|

Operation Bindings Tab

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.

Table 8 Operation Bindings Tab

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.

Host ’X’ can initiate

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.

Partner ’Y’ can initiate

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.

The added bindings appear on the scree, as shown in Figure 31.

TIBCO BusinessConnect SOAP Protocol User’s Guide


84
| Chapter 7 Configuring Agreement Protocol Bindings

Figure 31 Operation Bindings Added for Host and Partner

Edit an Operation Binding for Host


1. Click an operation bindings link.
The dialog Override Outbound Settings appears, with the Operation Settings
tab selected.

Operation Settings Tab


2. Configure operation settings for the host using Table 9.

Table 9 Override Outbound Settings: Operation Settings Tab

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.

TIBCO BusinessConnect SOAP Protocol User’s Guide


Operation Bindings Tab 85
|

Transports Tab
4. Configure transport settings for the host using Table 10.

Table 10 Override Outbound Settings: Transports Tab

Field Description
Override Select this checkbox to override the settings for a transport.
Transports

Override Outbound Transports

Primary Select the primary transport to override from the dropdown list: HTTP, HTTPS,
Transport or HTTPSCA.

5. Click Save.

Edit an Operation Binding for Partner


1. Click an operation bindings link.
The dialog Override Outbound Settings appears, with the Operation Settings
tab selected.

Operation Settings Tab


2. Configure operation settings for the host using Table 9.

Table 11 Override Inbound Settings: Operation Settings Tab

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.

TIBCO BusinessConnect SOAP Protocol User’s Guide


86
| Chapter 7 Configuring Agreement Protocol Bindings

Document Security Tab

To learn about this topic, see TIBCO BusinessConnect Trading Partner


Administration Guide, Document Security tab.
See also TIBCO BusinessConnect Concepts, Security.

BusinessConnect SOAP Protocol supports neither the RC2 family of encryption


algorithms, nor the MD5 digest algorithm for signatures.

TIBCO BusinessConnect SOAP Protocol User’s Guide


Transports Tab 87
|

Transports Tab

To configure the Transports tab, refer to Table 12.

Table 12 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.

Allowed Inbound Transports for Partner (Trading Partner to 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.

TIBCO BusinessConnect SOAP Protocol User’s Guide


88
| Chapter 7 Configuring Agreement Protocol Bindings

Override Settings for the Host


1. Click the Host’s Configuration tab.
2. Override settings using Table 13.

Table 13 Show Advanced: Host’s Configuration

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.

Default Domain Select a domain identity from the dropdown list.


Identity
The domain identity is configured as explained in Adding a Domain Identity
for a Host on page 74.

3. Click Save twice.

Override Settings for the Partner


4. Click the Partner’s Configuration tab.
5. Override settings using Table 14.

Table 14 Show Advanced: Partner’s Configuration

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.

Default Domain Select a domain identity from the dropdown list.


Identity
The domain identity is configured as explained in Adding a Domain Identity
for a Partner on page 79.

6. Click Save twice.

TIBCO BusinessConnect SOAP Protocol User’s Guide


| 89

Chapter 8 Viewing Logs

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

TIBCO BusinessConnect SOAP Protocol User’s Guide


90
| Chapter 8 Viewing Logs

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.

TIBCO BusinessConnect SOAP Protocol User’s Guide


Audit Logs 91
|

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

Configure an Audit Log for SOAP


To configure an audit log for SOAP, do the following:
1. Select BusinessConnect>Log Viewer>Audit Logs.
2. Select the options in the Search Transactions section of the audit log using the
list presented in Table 15.

Table 15 Audit Log: Search Transactions

Column Name Definition


Protocol Select a protocol (SOAP)

Connection Select a connection name

Host Select a specific host name or ANY

Status Select a specific status, such as ANY, COMPLETED, COMPLETED_WITH_ERROR,


ERROR, or PENDING.

Date Range Select Custom Date Range or Predefined Date Range.


Criteria
If Custom Date Range is selected, additional fields for defining exact dates
will become available. If Predefined Date Range is selected, the additional
field Previous for defining the date range will become available. Previous
predefined period can be One Day, One Week, One Month, or One Year.

TIBCO BusinessConnect SOAP Protocol User’s Guide


92
| Chapter 8 Viewing Logs

Table 15 Audit Log: Search Transactions (Cont’d)

Column Name Definition


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 16.

Table 16 Audit Log: Advanced Search Settings

Column Definition
Trading Partner Boolean search using: is, contains, is not, is not like

TransactionID Boolean search using: is, contains, is not, is not like

This is always a unique name.

Operation ID 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.

TIBCO BusinessConnect SOAP Protocol User’s Guide


Audit Logs 93
|

Audit Log Views

Summary View
Table 17 lists the columns that appear in the audit log.

Table 17 Audit Log Columns

Column Definition
Time Stamp When each of the transaction states is logged

Trading Partner Name of the trading partner

Operation ID Operation ID used for this operation


Example: Buy Widgets using XSD/1.0/buyInOutboundAuthEncrypt.

Transaction ID Transaction ID for this transaction

StartTime Time when this transaction started.

Transaction Details View


To view the details of a transaction, click the document icon at the left of an
audit log entry.
The Log Viewer first displays the general information for this entry, then a table
with available information for each event in that transaction. The table columns
are listed in Table 18.
Each transaction is identified with its Process Instance Identifier.

Table 18 Transaction Detail Columns

Column Definition
Time Stamp When each of the transaction states is logged

Status Status of the message


Valid values: COMPLETED, ERROR, PENDING. These values come from the status
field in certain tables.

State The current state of the message


Example: REQUEST_FROM_PP. See State Field Values on page 94 for a list of the
possible values.

TIBCO BusinessConnect SOAP Protocol User’s Guide


94
| Chapter 8 Viewing Logs

Table 18 Transaction Detail Columns

Column Definition
Description Description of the last action recorded for the message
Example: Received request from private process.

State Details View


To view the details of a specific state, click the document icon at the left of a
transaction detail entry.
The Log Viewer displays in one window all of the information from the summary
view and transaction details view for the transaction entry.

State Field Values


Table 19 provides a list of the state field values for the Initiator process.

Table 19 State Field Values for Initiator Process

Short Message Definition Comments


REQUEST_FROM_PP Received request from Received notification from private
private process process. Depending on the message type,
different descriptive message is logged.

REQUEST_SEND_TO_TP Request or notification is This entry is logged before the request


about to be sent to trading has been sent to the trading partner.
partner.

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.

RESPONSE_TO_PP Response sent to private Logging is done after a response (which


process can be an error message) was handed off
to the private process.
In case an error is returned, a descriptive
message is logged instead.

TIBCO BusinessConnect SOAP Protocol User’s Guide


Audit Logs 95
|

Table 19 State Field Values for Initiator Process

Short Message Definition Comments


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).

RESPONSE_DECRYPTED Encrypted response message Logging is done after the incoming


successfully decrypted message is decrypted successfully.

RESPONSE_VERIFIED Signed response from the Logging is done after the signed response
trading partner verified message is verified successfully.
successfully

DOCUMENT_DENIED Received request document Logging is done when the incoming


is denied because of request or response is denied because of
encryption or signing security permissions for this operation.
permissions

VALIDATE_REQUEST Incoming request Logging is done after the validation of the


(<header/Body>) is incoming or outgoing request.
validated Description will specify if the validation
was success or failure.

VALIDATE_RESPONSE Incoming response Logging is done after the validation of the


(<header/Body>) is incoming or outgoing response.
validated Description will specify if validation was
a success or failure.

TIBCO BusinessConnect SOAP Protocol User’s Guide


96
| Chapter 8 Viewing Logs

Table 20 provides a list of the state field values for the Responder process:

Table 20 State Field Values for Responder Process

Short Message Description Comments


REQUEST_FROM_TP Received request from Received notification from trading
trading partner partner. Logging is done after having
successfully received a notification or
request.

REQUEST_TO_PP Request sent to private Logging is done just before sending


process. notification or request to the private
process.
Notification sent to private
process. This is the last entry in case of notification.

RESPONSE_FROM_PP Received response from Logging is done after having received


private process response from the private 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_DECRYPTED Encrypted request message Logging is done after the incoming


successfully decrypted message is decrypted successfully.

REQUEST_VERIFIED Signed request from Trading Logging is done after the signed request
Partner verified successfully message is verified.

DOCUMENT_DENIED Received request document is Logging is done when the incoming


denied because of encryption request or response is denied because of
or signing permissions security permissions for this operation.

TIBCO BusinessConnect SOAP Protocol User’s Guide


Audit Logs 97
|

Table 20 State Field Values for Responder Process

Short Message Description Comments


VALIDATE_REQUEST Incoming request Logging is done after the validation of the
(<header/Body>) is validated incoming or outgoing request. Description
will specify if the validation was success
or failure.

VALIDATE_RESPONSE Incoming response Logging is done after the validation of the


(<header/Body>) is validated incoming or outgoing response.
Description will specify if validation was a
success or failure.

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.

TIBCO BusinessConnect SOAP Protocol User’s Guide


98
| Chapter 8 Viewing Logs

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

Configure a Non-Repudiation Log for SOAP


To configure a non-repudiation log for SOAP, do the following:
1. Select BusinessConnect>Log Viewer>Non Repudiation Logs.
2. Select the options in the Search Transactions section by using the list presented
in Table 21.

Table 21 Non-Repudiation Log: Search Transactions

Column Name Definition


Protocol Select a protocol (SOAP)

Connection Select a connection name.

Host Select a specific host name or ANY.

Status Select a specific status, such as ANY, COMPLETED, COMPLETED_WITH_ERROR,


ERROR, or PENDING.

TIBCO BusinessConnect SOAP Protocol User’s Guide


Non-Repudiation Logs 99
|

Table 21 Non-Repudiation Log: Search Transactions (Cont’d)

Column Name Definition


Date Range Select Custom Date Range or Predefined Date Range.
Criteria
If Custom Date Range is selected, additional fields for defining exact dates
will become available. If Predefined Date Range is selected, the additional
field Previous for defining the date range will become available. Previous
predefined period can be One Day, One Week, One Month, or One Year.

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.

Table 22 Non-Repudiation Log: Advanced Search Settings

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

Document ID 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).

TIBCO BusinessConnect SOAP Protocol User’s Guide


100
| Chapter 8 Viewing Logs

Resend Logs

Resend logs provide two views into an audit log:


• Resendable transactions Allows you to resend a transaction.
• Resend history Allows you to view messages that have been resent.
For more information about resend logs, see TIBCO BusinessConnect Trading
Partner Administration Guide, Resend Logs.

Configure a Resend Log for SOAP


To configure a resend log for SOAP, do the following:
1. Select BusinessConnect>Log Viewer>Resend Logs.
There are two tabs available in the Resend Logs dialog: Resendable
Transactions and Resend History.

Resendable Transactions Tab


2. Configure the search for resendable transactions.
Table 23 lists the options to select in the Search Transactions section and
Table 24 gives the explanation of transaction states for resend logs.

Table 23 Resend Log: Resendable Transactions

Column Name Definition


Protocol Select a protocol (SOAP)

Connection Select a connection name.

Host Select a specific host name or ANY.

Status Select a specific status, such as ANY, COMPLETED, COMPLETED_WITH_ERROR,


ERROR, or PENDING.

Date Range Select Custom Date Range or Predefined Date Range.


Criteria
If Custom Date Range is selected, additional fields for defining exact dates
will become available. If Predefined Date Range is selected, the additional
field Previous for defining the date range will become available. Previous
predefined period can be One Day, One Week, One Month, or One Year.

TIBCO BusinessConnect SOAP Protocol User’s Guide


Resend Logs 101
|

Table 23 Resend Log: Resendable Transactions (Cont’d)

Column Name Definition


Previous From this dropdown list, you can select the previous period to search:
• One Day
• One Week
• One Month
• One Year

State Select the transaction state: REQUEST_FROM_PP, REQUEST_TO_PP, and


RESPONSE_TO_PP.

See Table 24, State Values for Resend Logs, on page 101 for details.

Table 24 State Values for Resend Logs

Short Message Description Comments


REQUEST_FROM_PP Received request from private Initiator message that was originally
process received will be resent.

REQUEST_TO_PP Request sent to private Responder request messages will be resent.


process
This state cannot be resent for synchronous
transactions.

RESPONSE_TO_PP Response sent to private Initiator response will be resent.


process

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.

TIBCO BusinessConnect SOAP Protocol User’s Guide


102
| Chapter 8 Viewing Logs

4. Configure the advanced search settings.


Table 25 lists the options to select in the Advanced Search Section Settings
section of the resend log.

Table 25 Resend Log: Advanced Search Settings

Column Name Definition


Trading Partner Boolean search using: is, contains, is not, is not like.

Transaction ID Boolean search using: is, contains, is not, is not like.

Operation ID Boolean search using: is, contains, is not, is not like.

User TranID Boolean search using: is, contains, is not, is not like.

Host Initiates Boolean search using: is, contains, is not, is not like.

Resend History Tab

5. Configure the search for resend history.


Table 26 lists the options in the Search Transactions section of the resend log.

Table 26 Resend Log: Resend History

Column Name Definition


Protocol Select a protocol (SOAP)

Connection Select a connection name.

Host Select a specific host name or ANY.

Status Select a specific status, such as ANY, COMPLETED, COMPLETED_WITH_ERROR,


ERROR, or PENDING.

Date Range Select Custom Date Range or Predefined Date Range.


Criteria
If Custom Date Range is selected, additional fields for defining exact dates
will become available. If Predefined Date Range is selected, the additional
field Previous for defining the date range will become available. Previous
predefined period can be One Day, One Week, One Month, or One Year.

TIBCO BusinessConnect SOAP Protocol User’s Guide


Resend Logs 103
|

Table 26 Resend Log: Resend History

Column Name Definition


Previous From this dropdown list, you can select the previous period to search:
• One Day
• One Week
• One Month
• One Year

6. Configure the advanced search settings.


Table 27 lists the options in the Advanced Search Section Settings section of
the resend log.

Table 27 Resend Log: Advanced Search Settings

Column Definition
Trading Partner Boolean search using: is, contains, is not, is not like

Transaction ID Boolean search using: is, contains, is not, is not like

Operation ID 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.

TIBCO BusinessConnect SOAP Protocol User’s Guide


104
| Chapter 8 Viewing Logs

TIBCO BusinessConnect SOAP Protocol User’s Guide


| 105

Chapter 9 Advanced Topics

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, page 106


• Trading with a Third-Party SOAP Implementation, page 107
• SOAP Messages without TIBCO-Specific Headers, page 108
• Using the Passthrough Feature, page 109
• BusinessConnect SOAP Protocol Public Messages, page 112
• SOAP XML Message with a BusinessConnect-Specific Header, page 114
• SOAP Envelope Attributes and Namespaces, page 116

TIBCO BusinessConnect SOAP Protocol User’s Guide


106
| Chapter 9 Advanced Topics

Partyinfo Schema

The TIBCO-specific header data is defined by the schema, available in the


directory BC_install_dir\protocols\soap\samples\schemas\partyinfo.xsd.
This schema describes information such as:
• Trading partner names
• Transaction ID
• Operation ID
• Operation type
The partner and host identification in the outbound messages (in the partyInfo
header element) changes depending on what is selected in the GUI for domain
IDs and what is sent from the private process in the Initiator Request.
This results in the following outcomes:
• The name element is populated with the partner name when the trading
partner or host have no default domain assigned to them, and when only the
parameters tpName or hostName come from the private process.
When the trading partner or host have the default domain IDs selected in the
GUI, or when tpDomain and hostDomain come from the private process, the
name element field will carry the domainID of the partner. The value received
from the private process takes the precedence.
• The domain element is populated when tpDomain and hostDomain are
received from the private process, or when the trading partner has the default
domainID selected in the GUI. The value received from the private process
takes the precedence.

TIBCO BusinessConnect SOAP Protocol User’s Guide


Trading with a Third-Party SOAP Implementation 107
|

Trading with a Third-Party SOAP Implementation

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.

TIBCO BusinessConnect SOAP Protocol User’s Guide


108
| Chapter 9 Advanced Topics

SOAP Messages without TIBCO-Specific Headers

Sending SOAP Messages without TIBCO-Specific Headers


To enable BusinessConnect SOAP Protocol to send a SOAP message without
TIBCO-specific headers, you must not select the Add BusinessConnect Specific
Header checkbox in the trading partner setup area. See Setting General Properties
for a Partner on page 78 to see where this checkbox displays for a trading partner.
Even though the TIBCO-specific header is not part of the outbound SOAP
message, the private process-specified SOAP header data is still present in the
public XML SOAP message.

Receiving SOAP Messages without TIBCO-Specific Headers


As an alternative to including the TIBCO specific header in the SOAP header,
information can be encoded in the URL. In such case, when BusinessConnect
SOAP Protocol receives an incoming SOAP message without any TIBCO-specific
header data, it will check the incoming URL for the following information:
• Trading partner
• Host name
• Operation ID
• Transaction ID

Information has to be provided completely either in the partyInfo header or in


the URL: it can not be specified partially in the header and partially in the URL.
When information is present both in the partyInfo header and in the URL,
information in the partyInfo header takes the precedence.

The URL format should be the following:


http://host:port/SOAP
?host=host_name&tpname=trading_partner_name
&opid=operation_ID
&transid=transaction_ID

Example:
http://www.SOAPServer.com:6700/SOAP
?host=SOAPServer&tpname=SOAPClient
&opid=Sync/1.0/PORequest
&transid=1232456789

None of the URL parameters is a required value.

TIBCO BusinessConnect SOAP Protocol User’s Guide


Using the Passthrough Feature 109
|

Using the Passthrough Feature

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

TIBCO BusinessConnect SOAP Protocol User’s Guide


110
| Chapter 9 Advanced Topics

Case 1: SOAP Header is Absent; URL has no Parameters


Example: http://www.SOAPServer.com:6700/SOAP
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
anyone to send a SOAP message to BusinessConnect SOAP Protocol, the Allow
Anonymous SOAP messages checkbox in the Trading Host > SOAP General
subpanel of the default host must be selected.
When anonymity is enabled, BusinessConnect SOAP Protocol has no 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 inbound SOAP message is forwarded
to the local private process, BusinessConnect SOAP Protocol sends an HTTP
204/No Content response back to the trading partner.

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

BusinessConnect SOAP Protocol cannot determine the trading partner context


information: the behavior is identical to when no parameters are present.

Case 3: SOAP Header is Absent; URL has no opid Parameter


Example:
http://www.SOAPServer.com:6700/SOAP
?tpname=SOAPClient
&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.

TIBCO BusinessConnect SOAP Protocol User’s Guide


Using the Passthrough Feature 111
|

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.

Case 4: SOAP Header is Absent; URL has no transid Parameter


Example:
http://www.SOAPServer.com:6700/SOAP
?tpname=SOAPClient &opid=Sync/1.0/PORequest

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.

Case 5: SOAP Header is Absent; URL has the host Parameter


Example:
http://www.SOAPServer.com:6700
?SOAP/host=SOAPServer &tpname=SOAPClient

The received SOAP message is rejected by default and a SOAPFault is generated


and sent back to the trading partner. 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 Responder Request message. The request and the
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.

TIBCO BusinessConnect SOAP Protocol User’s Guide


112
| Chapter 9 Advanced Topics

BusinessConnect SOAP Protocol Public Messages

The following is an example of a public XML request message that


BusinessConnect SOAP Protocol generates if the Add BusinessConnect Specific
Header checkbox is selected in the sending partner’s setup.
See Setting General Properties for a Partner on page 78 to see where this checkbox
displays for a trading partner.
Descriptions of the message sections are available in the following sections:
• SOAP Header on page 112
• SOAP Body on page 113

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

From <ep:endpoints xmlns:ep="http://user.org/header"> to </prop:properties>

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.

TIBCO BusinessConnect SOAP Protocol User’s Guide


BusinessConnect SOAP Protocol Public Messages 113
|

See Initiator Outbound Request — Private Process to BusinessConnect on


page 121 for a description of this private process message.

Header Section 2

From <pi:PartyInfo xmlns:pi= to </pi:PartyInfo>

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

From <cpo:CommonPO xmlns:cpo="http://po.org/body"> to </cpo:CommonPO>

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.

TIBCO BusinessConnect SOAP Protocol User’s Guide


114
| Chapter 9 Advanced Topics

SOAP XML Message with a BusinessConnect-Specific Header

This is a sample SOAP XML message that has the BusinessConnect-specific


header:

<?xml version="1.0" encoding="UTF-8" ?>


<SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/
encoding/"xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/
envelope/">
<SOAP-ENV:Header>
<ep:endpoints xmlns:ep="http://user.org/header" SOAP-ENV:actor=""
SOAP-ENV:mustUnderstand="0">
<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" SOAP-ENV:actor=""
SOAP-ENV:mustUnderstand="0">
<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>
<pi:PartyInfo SOAP-ENV:actor="" SOAP-ENV:mustUnderstand="0"
xmlns:pi="http://www.tibco.com/namespaces/bc/2002/04/partyinfo.xsd">
<from>
<name>SOAPClient</name>
</from>
<to>
<name>SOAPServer</name>
</to>
<operationID>POInterface/1.0/POSync</operationID>
<operationType>syncRequestResponse</operationType>
<transactionID>JxkRCJsC4zbrIEGGfuzzw3Dkzzw</transactionID>
</pi:PartyInfo>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<cpo:CommonPO xmlns:cpo="http://po.org/body">

TIBCO BusinessConnect SOAP Protocol User’s Guide


SOAP XML Message with a BusinessConnect-Specific Header 115
|
<cpo:POHeader CreationDate="2000-06-23" Number="12345" Purpose="PO"
Type="EZ"/>
<cpo:BillTo/>
<cpo:ShipTo ContactName="BonifazLuis" ContactNumber="12345"
ContactType="CT"/>
<cpo:Item>
<cpo:ItemHeader ExtendedPrice="499.75" Price="99.95" Quantity="5"
UnitOfMeasure="EA"/>
<cpo:ItemDescription Description="Word Processing Application"
Type="F"/>
</cpo:Item>
<cpo:Total LineItemTotal="87" POTotal="544.15" QuantityTotal="34"/>
</cpo:CommonPO>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

TIBCO BusinessConnect SOAP Protocol User’s Guide


116
| Chapter 9 Advanced Topics

SOAP Envelope Attributes and Namespaces

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.

Envelope Attributes and Namespaces Example


The ae/SOAP/InitiatorRequest and ae/SOAP/ResponderResponse SOAP AE
class have the envelopeAttributes field. This field is of type sequence,
ae/SOAP/Attributes. ae/SOAP/Attributes is a sequence of the class
ae/SOAP/Attribute.

The ae/SOAP/Attribute class contains the following fields


• name

• value

Example: To generate the following SOAP message

<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>

TIBCO BusinessConnect SOAP Protocol User’s Guide


SOAP Envelope Attributes and Namespaces 117
|

This SOAP message has a namespace and an attribute promotionExpiryDate in


the namespace http://myorg.com/schemas/promotions.
Create an ae/SOAP/Attributes sequence object. This sequence object will have
two ae/SOAP/Attribute objects.
The field values for the first ae/SOAP/Attribute:
• name: xmlns:pro
• value: "http://myorg.com/schemas/promotions"
The field values for the second ae/SOAP/Attribute:
• name: pro:promotionExpiryDate
• value: 03/12/2003
Set the ae/SOAP/Attributes sequence object to the envelopeAttributes field
in the ae/SOAP/InitiatorRequest or ae/SOAP/ResponderResponse object.
If an attribute is not bound to a name space, an error will be thrown and the
transaction will be cancelled.

Configurable Namespace Prefix for the Envelope Namespace


The prefix for the envelope namespace is now configurable by the user.
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>

where abc replaces the previously pre-defined string SOAP-ENV.


The string SOAP-ENV is still the default, but it can be replaced by any string that
you need. This prefix is not used for SOAP faults, which are always sent with the
SOAP-ENV prefix.

TIBCO BusinessConnect SOAP Protocol User’s Guide


118
| Chapter 9 Advanced Topics

TIBCO BusinessConnect SOAP Protocol User’s Guide


| 119

Chapter 10 Private Messages

This chapter describes private message formats in BusinessConnect SOAP


Protocol transactions and objects included in private messages.

Topics

• Overview, page 120


• Initiator Messages, page 121
• Responder Messages, page 127
• General Messages, page 133
• Attachment, page 135
• Attachment Object, page 139
• TradingPartner, page 140
• Attribute, page 141
• SOAPFault, page 142
• Detail Class, page 143

TIBCO BusinessConnect SOAP Protocol User’s Guide


120
| Chapter 10 Private Messages

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

TIBCO BusinessConnect SOAP Protocol User’s Guide


Initiator Messages 121
|

Initiator Messages

Initiator Outbound Request — Private Process to BusinessConnect


The Initiator private process uses this message to handle outbound requests, as
shown in Figure 32.

Figure 32 Initiator Outbound Request

Initiator
Request

Initiator Private BC Initiator Internet BC Responder Responder Private


Process Process

Subject Name prefix.installation.SOAP.INITIATOR.REQUEST


Example RV Subject: AX.BC.BC-ACME.SOAP.INITIATOR.REQUEST
Example JMS queue: AX.BC.BC-ACME.INITIATOR.REQUEST

Table 28 Initiator Request

Field Type Required Description


standardID String Yes Name of the protocol: SOAP

transactionID String No A unique ID within the Initiator private process.


This value is sent across the public boundary to the
trading partner in the BusinessConnect-specific
SOAP header.
See BusinessConnect SOAP Protocol Public
Messages on page 112.

operationID String Yes A three-part ID of the form:


interface/version/operation_name.
See Adding an Operation to a Version on page 58
for more information.

TIBCO BusinessConnect SOAP Protocol User’s Guide


122
| Chapter 10 Private Messages

Table 28 Initiator Request

Field Type Required Description


closure String No The private process generates the closure message
and sends it to BusinessConnect. BusinessConnect
is required to return this closure contents back in
the InitiatorResponse to ensure that the private
process can match it with the original
InitiatorRequest.

This field in not available for JMS messages. In


JMS header fields, closure is populated as
JMSCorrelationID

hostName String No Identifies the local host in a multi host


environment. If the value is not present, the
default host is used.
This filed can either have the actual name of the
host, or the domain ID of the host.

hostDomain String No Identifies the local host domain in a multi host


environment.
• If this field is present, the hostName field
should contain the domain identity.

tpName String Yes Name of the trading partner


This filed can either have the actual name of the
partner, or the domain ID of the partner.

attachment Sequence of No A sequence of attachments


Attachment
See Attachment on page 135.

request String No The body of the public SOAP message in XML


format

request String No The header of the public SOAP message in XML


Header format.

tpDomain String No Trading partner domain


If this field is not present, the default domain
“TPname” will be used.

TIBCO BusinessConnect SOAP Protocol User’s Guide


Initiator Messages 123
|

Table 28 Initiator Request

Field Type Required Description


http Sequence of No Contains the HTTP header attributes, which are
Attributes SOAP/Attri populated in the HTTP header of the outbound
bute HTTP request.
The server receiving the SOAP message may be
expecting these optional attribute values.
See also Attribute on page 141.

envelope Sequence of No Contains the SOAP envelope attributes. The server


Attributes SOAP/Attri receiving the SOAP message may be expecting
bute these optional attribute values.
See Attribute on page 141 and SOAP Envelope
Attributes and Namespaces on page 116 for more
information.

TIBCO BusinessConnect SOAP Protocol User’s Guide


124
| Chapter 10 Private Messages

Initiator Inbound Response — BusinessConnect to Private Process


A synchronous response is sent from the Responder BusinessConnect to the
Initiator BusinessConnect and forwarded to the local private process, as shown in
Figure 33.

Figure 33 Initiator Inbound Response

Initiator Private BC Initiator Internet BC Responder Responder Private


Process Process

Initiator
Response

Subject Name prefix.installation.SOAP.INITIATOR.RESPONSE


Example RV Subject: AX.BC.BC-ACME.SOAP.INITIATOR.RESPONSE
Example JMS queue: AX.BC.BC-ACME.INITIATOR.RESPONSE

Table 29 Initiator Response

Field Type Required Description


response String Yes The body of the SOAP response from the
Responder in XML format.
The body element is modified to have
appropriate namespaces; for example, if a body
element is in a default namespace, it will be
added to the body element before converting it
to XML format.

statusCode Integer Yes See statusCode and statusMsg Field Reference


on page 146.

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.

TIBCO BusinessConnect SOAP Protocol User’s Guide


Initiator Messages 125
|

Table 29 Initiator Response

Field Type Required Description


operationID String Yes A three-part ID of the form:
interface/version/operation_name
See Adding an Operation to a Version on
page 58 for more information.

transactionID String No The same value that was in the Initiator’s


request transactionID field

closure String Yes The private process generates the closure


message and sends it to BusinessConnect.
BusinessConnect is required to return this
closure contents back in the
InitiatorResponse to ensure that the private
process can match it with the original
InitiatorRequest.

This field in not available for JMS messages. In


JMS header fields, closure is populated as
JMSCorrelationID

attachment Sequence of No Sequence of attachments


Attachment
The class definition name for this message is
ae/BC/Attachment. See Attachment on
page 135.

response String No The header of the response SOAP message in


Header XML format
The header element is modified to have
appropriate namespaces; for example, if a
header element is in a default namespace, it
will be added to the header element before
converting it to XML format.

envelope Sequence of No Contains the SOAP envelope attributes. The


Attributes SOAP/ server receiving the SOAP message may be
Attribute expecting these optional attribute values.
See Attribute on page 141 and SOAP Envelope
Attributes and Namespaces on page 116 for
more information.

TIBCO BusinessConnect SOAP Protocol User’s Guide


126
| Chapter 10 Private Messages

Table 29 Initiator Response

Field Type Required Description


resend String No This field is set to ‘true’ when the message is a
resent transaction.

standardID String Yes Name of the protocol: SOAP

duplicate String No This field is set to ‘true’ when this is a duplicate


response.

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.

TIBCO BusinessConnect SOAP Protocol User’s Guide


Responder Messages 127
|

Responder Messages

Responder Inbound Request — BusinessConnect to Private Process


The Responder private process uses this message to handle inbound requests, as
shown in Figure 34.

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.

Figure 34 Responder Inbound Request

Responder
Request

Initiator Private BC Initiator Internet BC Responder Responder Private


Process Process

.Subject Name prefix.installation.SOAP.RESPONDER.REQUEST


Example RV Subject: AX.BC.BC-ACME.SOAP.RESPONDER.REQUEST
Example JMS queue: AX.BC.BC-ACME.RESPONDER.REQUEST

Table 30 Responder Inbound Request

Field Type Required Description


request String Yes The body of the public SOAP message in XML
format
The body element is modified to have
appropriate namespaces; for example, if a body
element is in a default namespace, it will be
added to the body element before converting it
to XML format.

sourceTP String Yes Name of the Initiator of this message


This field contains name or domain identity
value.

TIBCO BusinessConnect SOAP Protocol User’s Guide


128
| Chapter 10 Private Messages

Table 30 Responder Inbound Request

Field Type Required Description


sourceTP String No Domain of the Initiator of this message
Domain

destination String Yes Name of the Responder to this message


TP
This field contains name or domain identity
value.

destination String No Domain of the Responder to this message


TPDomain

operationID String Yes A three-part ID of the form:


interface/version/operation_Name.
See Adding an Operation to a Version on
page 58 for more information.

transactionID String No Transaction ID value from the BusinessConnect


SOAP specified HTTP URL. If there is no
transaction ID, a unique one by the name
“bcsoap:guid” will be generated.
See BusinessConnect SOAP Protocol Public
Messages on page 112.

closure String No Used for synchronous request-response


operation. BusinessConnect generates the
closure message and sends it to the local private
process.
If this is a request of a synchronous
request-response operation, the private process
is required to return this closure contents back
in the ResponderResponse message to ensure
that TIBCO BusinessConnect can match it with
the original Responder request message.
This field in not available for JMS messages. In
JMS header fields, closure is populated as
JMSCorrelationID

standardID String Yes Name of the protocol: SOAP

TIBCO BusinessConnect SOAP Protocol User’s Guide


Responder Messages 129
|

Table 30 Responder Inbound Request

Field Type Required Description


attachment Sequence of No A sequence of attachments
Attachment
See Attachment on page 135.

request String No The header of the public SOAP message in


Header XML format
The header element is modified to have
appropriate namespaces; for example, if a
header element is in a default namespace, it will
be added to the header element before
converting it to XML format.

envelope Sequence of No Contains the SOAP envelope attributes. The


Attributes SOAP/Attri server receiving the SOAP message may be
bute expecting these optional attribute values.
See Attribute on page 141 and SOAP Envelope
Attributes and Namespaces on page 116 for
more information.

resend String No This field is set to ‘true’ when the message is a


resent transaction.

duplicate String No This field is set to ‘true’ when this is a duplicate


request.

operation String Yes Type of operation: Notify or async/sync


Type request-response

TIBCO BusinessConnect SOAP Protocol User’s Guide


130
| Chapter 10 Private Messages

Responder Outbound Response — Private Process to BusinessConnect


The Responder private process uses this message to handle outbound responses,
as shown in Figure 35.

Figure 35 Responder Outbound Response

Initiator Private BC Initiator Internet BC Responder Responder Private


Process Process

Responder
Response

Subject Name prefix.installation.SOAP.RESPONDER.RESPONSE


Example RV Subject: AX.BC.BC-ACME.SOAP.RESPONDER.RESPONSE
Example JMS queue: AX.BC.BC-ACME.RESPONDER.RESPONSE

Table 31 Responder Outbound Response

Field Type Required Description


statusCode Integer No All status codes below 200 and above 299 are
considered to be SOAPFault. See statusCode and
statusMsg Field Reference on page 146.

statusMsg String No OK,or the string representing the cause of the error.
See statusCode and statusMsg Field Reference on
page 146.

response String Yes The response business document in XML format

closure String Yes BusinessConnect generates the closure message,


and sends it to the local private process in the
ResponderRequest upon receiving a request for a
synchronous request-response operation. The
private process must return this closure contents in
the ResponderResponse message to ensure that
BusinessConnect can match it with the original
Responder request message.
This field in not available for JMS messages. In JMS
header fields, closure is populated as
JMSCorrelationID

TIBCO BusinessConnect SOAP Protocol User’s Guide


Responder Messages 131
|

Table 31 Responder Outbound Response

Field Type Required Description


attachment Sequence of No A sequence of attachments
Attachment
See Attachment on page 135.

operationID String Yes A three-part ID of the form:


interface/version/operation_Name.

response String No Header of the response


Header
This becomes the header of the public SOAP
message.

envelope Sequence of No Contains the SOAP envelope attributes


Attributes SOAP/Attri
The server receiving the SOAP message may be
bute
expecting these optional attribute values.
See Attribute on page 141 and SOAP Envelope
Attributes and Namespaces on page 116 for more
information.

soapFault SOAPFault No See SOAPFault on page 142.

standardID String Yes Name of the protocol: SOAP

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.

TIBCO BusinessConnect SOAP Protocol User’s Guide


132
| Chapter 10 Private Messages

Responder Acknowledgement — BusinessConnect to Private Process


When the Responder BusinessConnect sends a response, the Responder
BusinessConnect sends an acknowledgement to the local private process if the
Initiator BusinessConnect returns no error, as shown in Figure 36.

Figure 36 Responder Acknowledgement

Initiator Private BC Initiator Internet BC Responder Responder Private


Process Process

Responder
Acknowledgement

Subject Name prefix.installation.SOAP.RESPONDER.ACK


Example RV Subject: AX.BC.BC-ACME.SOAP.RESPONDER.ACK
Example JMS queue: AX.BC.BC-ACME.RESPONDER.ACK

Table 32 ResponderAck

Field Type Required Description


statusCode Integer Yes See statusCode and statusMsg Field Reference on
page 146.

statusMsg String Yes OK, or the string representing the cause of the error.
See statusCode and statusMsg Field Reference on
page 146.

operation String Yes ACK


Type

closure String Yes BusinessConnect generates the closure message, and


sends it to the local private process in the
ResponderRequest upon receiving a request for a
synchronous request-response operation.
This field will have the same value as in the
Responder Request message.
This field in not available for JMS messages. In JMS
header fields, closure is populated as
JMSCorrelationID

TIBCO BusinessConnect SOAP Protocol User’s Guide


General Messages 133
|

General Messages

Advisory Message
This message is used to publish status information.

Subject Name prefix.installation.SOAP.ERROR


Example RV Subject: AX.BC.BC-ACME.SOAP.ERROR
Example JMS topic: AX.BC.BC-ACME.ERROR

Table 33 Advisory Messages

Field Type Required Description


statusCode Integer Yes One of the error codes
See statusCode and statusMsg Field Reference on
page 146.

statusMsg String Yes Represents the cause of the error


In this case, the response might be an error
document. See statusCode and statusMsg Field
Reference on page 146.

details String No More detailed description of the error


This can be an analysis of the problem.

operationID String Yes A three-part ID of the form:


interface/version/operation_Name

transactionID String No Request-response ID for which the error message is


generated.

closure String No If the error occurred on the initiating side, contains


the closure sent as part of the request. Otherwise, it
contains the closure passed to the Responder
private process. It may be null.
This field in not available for JMS messages. In JMS
header fields, closure is populated as
JMSCorrelationID

TIBCO BusinessConnect SOAP Protocol User’s Guide


134
| Chapter 10 Private Messages

Table 33 Advisory Messages (Cont’d)

Field Type Required Description


host Trading No Host information
Partner
See TradingPartner on page 140.

tpName String Yes Name of the trading partner

trading Trading No Trading partner information


Partner Partner
This field will be populated only if
BusinessConnect SOAP Protocol is able to extract
the domain and ID information for the trading
partner.
See TradingPartner on page 140.

faultCode String No SOAP fault code that indicates an error when


processing the SOAP header
Example: SOAP-ENV:Server.

faultString String No Fault description


Example: Server Error.

faultActor String No 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 No Detailed message of the SOAP fault in the SOAP


(class) body. This can be a simple string or an attribute
node with sub-elements. An attribute node is
converted into an XML string with sub-elements.

msgDirection String No Currently not used

standardID String No Name of the protocol: SOAP

timestamp String No Currently not used

extraInfo String No Currently not used

TIBCO BusinessConnect SOAP Protocol User’s Guide


Attachment 135
|

Attachment

BusinessConnect SOAP Protocol allows for attachments in the binary format


(such as .jpg, .zip, or .doc) or in the text format. BusinessConnect SOAP
Protocol private process messages send the attachments to BusinessConnect, or
receive the attachments from BusinessConnect.
The attachment class in these messages has the following fields:
• Name Name of the attachment
• Content-Type Specifies the type of the content associated with this
attachment, such as text of binary
• Content-Id Specifies the content ID for the attachment
• Content Data for the attachment
• originalContentType The original received content type is populated in this
field.
This field is available only for Responder Request and Initiator Response
private process messages. It will have the same value as the field
contentType, unless the contentType field cannot be inferred by Business
Connect. In that case, the field contentType will be changed to the
application/octet-stream and the originalContentType to the actual value
will be received
All attachment fields are defined as strings, which requires that the binary content
be specified as Base64 encoded.

Multipart MIME Messages


When attachments are present, SOAP messages are formulated as multipart
MIME messages and BusinessConnect SOAP Protocol depends on the property
Content-Type for packaging.
These MIME messages are configured as follows:
• The first message part carries the SOAP envelope
• Other message parts carry the attachments. Each message part carries the
following header information:
— Content-Type Indicates the type of the content embedded in the part
— Content-Transfer-Encoding Indicates the encoding used for the MIME part
— Content-ID information Used to refer the content from anywhere in the
multipart SOAP message.

TIBCO BusinessConnect SOAP Protocol User’s Guide


136
| Chapter 10 Private Messages

Determining the Content Type of an Attachment


The property Content Type must be defined in the type/subtype format, such as
text/xml, application/zip, and so on.

BusinessConnect SOAP Protocol treats the attachment content based on the


property Content-Type as follows:
• Content is treated as a plain text and the content type is referred to as text if it
is in the formats text/* or application/*xml*.
• Content is treated as binary and the content type is referred to as binary if it is
in the formats application/binary, application/octet-stream,
application/zip, application/pdf, application/doc, image/*, audio/*,
or video/*.
• Content type that is not either in the text or in the binary format will be treated
as unknown and referred to as unknown. Content will be packaged or
interpreted as either text or binary, depending on the situation.
• If the property Content-Type does not conform to the RFC standard, it will be
changed to application/octet-stream and the content will be treated as
binary.

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.

Content for the outbound attachments is packaged as a byte array as follows:


• If the property Content-Type is text, content is converted to bytes and the
attachment is populated.

TIBCO BusinessConnect SOAP Protocol User’s Guide


Attachment 137
|

• If the property Content-Type is binary, content is base64-decoded if it was


previously base64-encoded. Otherwise, content is converted to bytes and the
attachment is populated.
• If the property Content-Type is unknown, the content type is changed to
application/octet-stream, content is converted to bytes, and the
attachment is populated.

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).

Converting Attachments to bas64 Strings


Attachments are converted to base64 string as follows:
1. Content-Transfer-Encoding is inspected. If it is base64, content is sent as is to
the private process.
2. Content itself is inspected for base64 characters. If all the characters are in the
base64 character range, content will be sent as is. Otherwise, content will be
base64 encoded and sent out.

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.

TIBCO BusinessConnect SOAP Protocol User’s Guide


138
| Chapter 10 Private Messages

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.

Preserve the SOAP 5.0 Attachment Functionality


BusinessConnect SOAP Protocol version 5.0 processes the attachments as plain
strings. For binary attachments this could cause problem if the content is not in
Base64 binary format.
However, users can keep 5.0 behavior for a particular partner by setting the
BusinessConnect SOAP Protocol Boolean property
bc.soap.<tpname>.enable50Attachment = true.

where <tpname> is the name of the trading partner.


When enabled, the content type that was received will be sent to the private
process.

TIBCO BusinessConnect SOAP Protocol User’s Guide


Attachment Object 139
|

Attachment Object

The Attachment object (ae/BC/Attachment) has the following fields:

Table 34 Attachment Object

Field Type Description


name String Name of the attachment file
If the name of the attachment is not provided, the attachment
name is auto-generated as attachmentindex.content-type.
Example: If the second attachment file name is missing and
content-type=image/jpeg, then the name generated for that
attachment is attachment2.jpeg.

content-type String Content type of attachment


Examples: image/jpeg and image/gif

content-id String The unique identifier used to identify attachment in outgoing


document

content String Actual attachment


All text-based payloads and attachments from the private
process to BusinessConnect must be encoded in UTF-8.
Binary attachments should be Base64 encoded.

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.

TIBCO BusinessConnect SOAP Protocol User’s Guide


140
| Chapter 10 Private Messages

TradingPartner

The TradingPartner object (ae/BC/TradingPartner) has the following fields:

Table 35 Trading Partner Object

Field Type Description


name String Trading partner name

domain String Trading partner domain

id String Trading partner ID

TIBCO BusinessConnect SOAP Protocol User’s Guide


Attribute 141
|

Attribute

The Attribute object (ae/SOAP/Attribute) has the following fields:

Table 36 Attribute Object

Field Type Description


name String The name of the attribute

value String The value associated with the name

TIBCO BusinessConnect SOAP Protocol User’s Guide


142
| Chapter 10 Private Messages

SOAPFault

The SOAPFault object (ae/SOAP/SOAPFault) has the following fields:

Table 37 SOAP Fault Object

Field Type Description


faultCode String SOAP fault code that indicates an error when processing the
SOAP header. Example: SOAP-ENV:Server.

faultString String Fault description. Example: Server Error.

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.

TIBCO BusinessConnect SOAP Protocol User’s Guide


Detail Class 143
|

Detail Class

The Detail class has the following fields:


Table 38 Detail Class

Field Type Description


Code String Represents an error code generated while processing the SOAP
body element.

Description String Represents the detailed description of the error while processing
the SOAP body element.

TIBCO BusinessConnect SOAP Protocol User’s Guide


144
| Chapter 10 Private Messages

TIBCO BusinessConnect SOAP Protocol User’s Guide


| 145

Appendix A Status Codes

This appendix describes the possible values in the statusCode and statusmsg
fields. It also explains schema validation errors.

Topics

• statusCode and statusMsg Field Reference, page 146

TIBCO BusinessConnect SOAP Protocol User’s Guide


146
| Appendix A Status Codes

statusCode and statusMsg Field Reference

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:

Table 39 statusCode and statusMsg Fields (Sheet 1 of 6)

Code
Description
(status Role Category Possible Resolution
Code) (statusMsg)

The following status codes (200-500) are standard HTTP codes:

200 OK All status codes below 200 and above


299 are considered to be SOAPFault.
201-299 HTTP(S) OK codes
When statusCode is set to some value
in this range (under 200 or above 299),
the SOAPFault element is sent to the
trading partner and the body is
ignored even if it contains data. To
send the content of the body,
statusCode should be in the range
between 200 and 299.

300 - HTTP(S) error codes Error System


499

500 Internal Server Error. Error System Check fault code, fault string, fault e f,
SOAP Fault occurred. faultactor.

510 Socket closed Error System

The 600-699 status codes are error related to Web Services Security

601 Generic error while Error Security


processing the
message for security

650 Message encryption Error Security Check the certificates or encryption


failed algorithm. One of them may be
invalid.

TIBCO BusinessConnect SOAP Protocol User’s Guide


statusCode and statusMsg Field Reference 147
|

Table 39 statusCode and statusMsg Fields (Sheet 2 of 6)

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.

654 WSSecurity process Error Security Either the decryption or verification


upon inbound of the inbound message has failed.
message failed For more details, look in the status
message.

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:

800 Access Denied reason Error Configuration

801 Duplicate outgoing Error Configuration This is detected by the Initiator


message detected process. Make sure unique IDs are
used.

802 Transport transport Error Configuration SOAP supports HTTP and HTTPS
not supported by only.
SOAP

803 Cannot process a Error Configuration


synchronous EMAIL
request

804 Cannot send operation Error Configuration


type request to
multiple trading
partners

TIBCO BusinessConnect SOAP Protocol User’s Guide


148
| Appendix A Status Codes

Table 39 statusCode and statusMsg Fields (Sheet 3 of 6)

Code
(status Description Role Category Possible Resolution
(statusMsg)
Code)
805 Notification did not Error Configuration
reach all trading
partners

806 Received SOAP Error


Fault. FaultString:
fault_string

807 Error in reading


response

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

822 Request not Error Schema This is detected by the Initiator


conforming to validation process. Make sure there is agreement
schema. reason and message between the message and the schema
contents registered in the Operation/Request
Action panel of the Operations Editor.
And/or do not select Validate
Message in the Operation/General
panel of the Operations Editor.

823 Response not Error Schema This is detected by the Initiator


conforming to validation process. Make sure there is an
schema and message agreement between the message and
contents the schema registered in the
Operation/Response Action panel in
the Operations Editor. And/or do not
select Validate Message in the
Operation/General panel in the
Operations Editor.

TIBCO BusinessConnect SOAP Protocol User’s Guide


statusCode and statusMsg Field Reference 149
|

Table 39 statusCode and statusMsg Fields (Sheet 4 of 6)

Code
(status Description Role Category Possible Resolution
(statusMsg)
Code)
824 Attachment Error Schema
processing error, validation
msg: message (request and message
from PP) contents

825 Attachment Error Schema


processing error, validation
msg:<message> and message
(response from PP) contents

840 Timed-out waiting Error HTTP Error


for response.
(reserved)

841 Posting error: reason Error HTTP Error

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.

888 Error serializing Error PackageMess There is a problem packaging the


SOAP message age SOAP message. Please verify the
SOAP body and header elements.

899 Error occurred. No Error System


detailed information
available.

The 900 - 999 status codes are for errors trapped by the Responder and sent back to the
Initiator:

TIBCO BusinessConnect SOAP Protocol User’s Guide


150
| Appendix A Status Codes

Table 39 statusCode and statusMsg Fields (Sheet 5 of 6)

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.

920 Request parsing error Error Schema


validation
and message
contents

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

923 Attachment Error Schema


processing error, validation
msg: (request from and message
trading partner) contents

924 Attachment Error Schema


processing error in validation
response from and message
private process, contents
detail:

925 Received request Error Security Check the operation editor settings.
document is denied
because of
encryption/signing
permissions

TIBCO BusinessConnect SOAP Protocol User’s Guide


statusCode and statusMsg Field Reference 151
|

Table 39 statusCode and statusMsg Fields (Sheet 6 of 6)

Code
(status Description Role Category Possible Resolution
(statusMsg)
Code)
940 Client Authentication Error HTTP/
Failed Comm

941 Error in receiving Error HTTP/Com


response from m
private process.
Detail:

942 Failed to send reply Error HTTP/


to DMZ. Please check Comm
the DMZ timeout
parameters.

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

999 Error occurred. No Error System This is detected by the Responder


detailed information process. Turn on tracing to capture the
available. traces. Contact TIBCO Support and
forward the traces to them.

1000 - Private-party-defined Error


1999 error codes

TIBCO BusinessConnect SOAP Protocol User’s Guide


152
| Appendix A Status Codes

TIBCO BusinessConnect SOAP Protocol User’s Guide


| 153

Appendix B Schema Validation

This appendix explains how to perform schema validation with BusinessConnect


SOAP Protocol.

Topics

• Overview, page 154


• Schema Validation Errors, page 155

TIBCO BusinessConnect SOAP Protocol User’s Guide


154
| Appendix B Schema Validation

Overview

When schema validation is selected, it is performed on the SOAP header, SOAP


body, or both.
When validation is enabled, at least one of the schemas (body or header) must be
populated. If schema validation is selected and the schema is not uploaded, the
schema validation for that part (body or header) will be ignored. Schema
validation will fail if schema is uploaded for that part (body or header) in the GUI
and message does not have that part.

TIBCO BusinessConnect SOAP Protocol User’s Guide


Schema Validation Errors 155
|

Schema Validation Errors

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 schema for ErrorInfo element can be found under


BC_install_dir/protocols/SOAP/examples/schemas/errorinfo.xsd

The SOAP advisory message will be published both on the Initiator and
Responder side, with the statusMsg element containing the schema
validation errors.

TIBCO BusinessConnect SOAP Protocol User’s Guide


156
| Appendix B Schema Validation

• 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.

TIBCO BusinessConnect SOAP Protocol User’s Guide


| 157

Appendix C BusinessConnect SOAP Protocol WSDL


Tool

This appendix gives an introduction to BusinessConnect SOAP Protocol WSDL


Tool and shows how to use it to export and import WSDL files.

Topics

• Overview, page 158


• WSDL Import, page 159
• WSDL Export, page 161

TIBCO BusinessConnect SOAP Protocol User’s Guide


158
| Appendix C BusinessConnect SOAP Protocol WSDL Tool

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.

TIBCO BusinessConnect SOAP Protocol User’s Guide


WSDL Import 159
|

WSDL Import

To import WSDL files into BusinessConnect configuration, use the following


commands:
Windows Platform:
\tibco\bc\version\protocols\soap\tools\wsdl\wsdlimport.exe

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.

WSDLImport TRA File Configuration


The BusinessConnect SOAP Protocol WSDL import tool uses wsdlimport.tra
file located under \tibco\bc\version\protocols\soap\tools\wsdl for
configuration and command line arguments.
Table 40 and Table 41 describe the properties in the file wsdlimport.tra that the
user should modify for WSDL import.

Table 40 BusinessConnect Database Configuration Properties for WSDL Import

Properties
Database connection java.property.bc.repo.db.user=database user
java.property.bc.repo.db.password=database password

TIBCO BusinessConnect SOAP Protocol User’s Guide


160
| Appendix C BusinessConnect SOAP Protocol WSDL Tool

Table 40 BusinessConnect Database Configuration Properties for WSDL Import

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

Database name java.property.db=database name

Database port number (such as java.property.db.port=database port


1433 for MSSQL)

Database host name java.property.db.serverName=database host name

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.

Trading partner name property java.property.tradingpartner=trading partner name


Name of the trading partner. This value is used to create Business
Agreement Local host name property

Local host name property java.property.hostname=host name


Host name to be used in a multi host configuration. This value is used to
create Business Agreement between this trading partner and host. If this
property is not specified then default host will be used.

TIBCO BusinessConnect SOAP Protocol User’s Guide


WSDL Export 161
|

WSDL Export

To export WSDL files from BusinessConnect configuration, use the following


commands:
Windows Platform:
\tibco\bc\version\protocols\soap\tools\wsdl\wsdlexport.exe

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.

WSDLExport TRA file configuration


The BusinessConnect SOAP Protocol WSDL export tool uses wsdlimport.tra file
located under \tibco\bc\version\protocols\soap\tools\wsdl for
configuration and command line arguments.
Table 42 and Table 43 describe the properties in the file wsdlexport.tra that the
user should modify for WSDL export.

Table 42 BusinessConnect Database Configuration Properties for WSDL Export

Properties
Database connection java.property.bc.repo.db.user=database user
java.property.bc.repo.db.password=database password

Database vendor name java.property.bc.repo.db.vendor=database vendor name


(such as MSSQL, DB2, java.property.oracle.sid=sid for oracle database
MySQL, Oracle)

Database name java.property.db=database name

Database port number (such java.property.db.port=database port


as 1433 for MSSQL)

Database host name java.property.db.serverName=database host name

TIBCO BusinessConnect SOAP Protocol User’s Guide


162
| Appendix C BusinessConnect SOAP Protocol WSDL Tool

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

WSDL endpoint URL java.property.wsdl.url=url


property WSDL endpoint, such as: http://SOAPServer:6700/SOAP

WSDL service name java.property.wsdl.service=service name


property

WSDL namespace property java.property.wsdl.namespace=wsdl namespace

WSDL export list property java.property.wsdl.operationlist=export list filename


This file contains list of Interface / version that needs to be exported into the
WSDL file.
The format of this file is each line should have one Interface / version.
Format of each line is:
interface name / version name
Interface and version name separated by ‘/’

TIBCO BusinessConnect SOAP Protocol User’s Guide


Index 163
|

Index

A BusinessWorks private process tutorial


configuring connections to BusinessConnect 39
adding a domain identity 74 configuring private processes 39
adding a domain identity for a partner 79 initiator process definitions 42
adding a version to an interface 57 modify the PONotify operation 69
adding an operation to a version 58 modify the POSync operation 70
advisory message 133 opening the BusinessWorks project 39
anonymous SOAP messages 74 overview 36
attachment prerequisites 38
allowed formats 135 responder process definitions 43
determine the Content-Type property 136 running private processes 45
object fields 139 running the tutorial 45
preserve SOAP 5.0 functionality 138 setting global variables 39
attachments setting up 38
inbound 137 viewing the audit logs 46
outbound 136
audit logs 91

B configure a non-repudiation log 98


configure a resend log 100
binding an operation 83 configuring the SOAP protocol 74
BusinessConnect SOAP Protocol compatibility 4 configuring the SOAP protocol for a partner 78
BusinessConnect SOAP Protocol features 4 configuring transports for partners 79
BusinessConnect SOAP Protocol messages 5 creating a SOAP interface 56

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

TIBCO BusinessConnect SOAP Protocol User’s Guide


164
| Index
exporting the SOAP interface 68 P
private messages and processes 5
public messages 5
I
import the SOAP interface 56
importing interfaces 67 R
initiator inbound response — BusinessConnect to pri-
vate process 124 request-response operation 6
initiator outbound request — private process to resend logs 100
BusinessConnect 121 responder acknowledgement — BusinessConnect to
private process 132
responder inbound request — BusinessConnect to pri-
vate process 127
M responder outbound response — private process to
BusinessConnect 130
managing SOAP envelope attributes 116
multipart MIME messages 135

N schema validation errors 119


setting general properties 74, 78
non-repudiation logs 98 setting transports for the business agreement 87
notify operation 6 SOAP envelope attributes and namespaces 116
notify transaction process flow 6 SOAP overview 2
SOAPFault 142
SOAPFault object fields 142
standalone tutorial
O configuring the business agreement 20, 24
configuring the initiator 16
objects included in private messages 135 configuring the responder 21
operation initiator machine 14
notify 6 operations 12
request-response 6 overview 12
operation bindings tab 83 prerequisites 15
operation properties 59 responder machine 14
operation properties, Action tab 60, 62 running the tutorial 26
operation properties, General tab 59 setting up initiator server 18
operation types and process flows 6 setting up responder server 23
OriginalContentType 137 setting up the responder as a trading partner 19
overriding participant settings 87 trading partners 12
transports 12
viewing the audit logs 32

TIBCO BusinessConnect SOAP Protocol User’s Guide


Index 165
|
state field values for logs 94
statusCode and statusMsg field reference 146
synchronous request-response operations 7

T
trading with a third-party SOAP implementation 106

TIBCO BusinessConnect SOAP Protocol User’s Guide


166
| Index

TIBCO BusinessConnect SOAP Protocol User’s Guide

You might also like