184
TIBCO BusinessConnect™ SOAP Protocol User’s Guide Software Release 5.1.0 January 2008

Tib Bcsoap Usr

Embed Size (px)

DESCRIPTION

TIBCO soap user

Citation preview

Page 1: Tib Bcsoap Usr

TIBCO BusinessConnect™ SOAP Protocol

User’s GuideSoftware Release 5.1.0January 2008

Page 2: Tib Bcsoap Usr

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

Page 3: Tib Bcsoap Usr

Contents | iii

Contents

Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix

Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi

Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii

Related Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xivBusinessConnect SOAP Protocol Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xivOther TIBCO Product Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xivThird 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3SOAP Message Security 1.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

BusinessConnect SOAP Protocol Features. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

BusinessConnect SOAP Protocol Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5Private Messages and Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5Public Messages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

Operation Types and Process Flows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6Notify Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6Synchronous Request-Response Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7Scenario 1: Synchronous Request-Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8Scenario 2: Notification. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

Chapter 2 Tutorial — Standalone Private Processes 11

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

Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

TIBCO BusinessConnect SOAP Protocol User’s Guide

Page 4: Tib Bcsoap Usr

iv | Contents

Configuring the Initiator. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16Importing Operations on the Initiator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16Setting Up the Initiator as a Trading Host . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17Setting Up Initiator Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18Setting Up the Responder as a Trading Partner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19Configuring the Business Agreement Between the Initiator and Responder . . . . . . . . . . . . . . . . . . . . . . . . . 20

Configuring the Responder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21Importing Operations on the Responder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21Setting Up the Responder as a Trading Host. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21Setting Up Responder Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23Setting Up the Initiator as a Trading Partner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23Configuring the Business Agreements Between the Initiator and Responder . . . . . . . . . . . . . . . . . . . . . . . . 24

Running the Tutorial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26Viewing the Audit Logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

Chapter 3 Tutorial — BusinessWorks Private Processes 35

Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36Transactions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

Setting Up the Tutorial. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38Configure the Machines. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

Configuring BusinessWorks Private Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39Unzipping the Project Archive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39Setting the Global Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39Configuring Connections to BusinessConnect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39Initiator Process Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42Responder Process Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

Running the Tutorial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45Running the TIBCO BusinessWorks Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45Viewing 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

Page 5: Tib Bcsoap Usr

Contents | v

SOAP Operation Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59Notify Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59Synchronous Request-Response Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

Importing SOAP Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67Sample Interfaces. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

Exporting SOAP Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

Modifying SOAP Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69Modify the Notify Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

Chapter 6 Setting Up Trading Hosts and Partners 73

Configuring the SOAP Protocol for a Host. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

Duplicate Message Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76Inbound Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76Outbound Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

Configuring the SOAP Protocol for a Partner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78Setting General Properties for a Partner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78Configuring Transports for a Partner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

Chapter 7 Configuring Agreement Protocol Bindings 81

Configure SOAP Agreement Protocol Binding. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82Edit Protocol Binding Dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

Operation Bindings Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83Edit an Operation Binding for Host . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84Edit an Operation Binding for Partner. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

Document Security Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

Transports Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87Show Advanced . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

Chapter 8 Viewing Logs 89

Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90Accessing Logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

Audit Logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91Configure an Audit Log for SOAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91Audit Log Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

Non-Repudiation Logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98Configure a Non-Repudiation Log for SOAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

Resend Logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100Configure a Resend Log for SOAP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

TIBCO BusinessConnect SOAP Protocol User’s Guide

Page 6: Tib Bcsoap Usr

vi | Contents

Chapter 9 Advanced Topics 105

Partyinfo Schema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

Trading with a Third-Party SOAP Implementation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

SOAP Messages without TIBCO-Specific Headers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108Sending SOAP Messages without TIBCO-Specific Headers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108Receiving SOAP Messages without TIBCO-Specific Headers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

Using the Passthrough Feature. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

BusinessConnect SOAP Protocol Public Messages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112SOAP Header . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112SOAP Body . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

SOAP XML Message with a BusinessConnect-Specific Header . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

SOAP Envelope Attributes and Namespaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116Envelope Attributes and Namespaces Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

Chapter 10 Private Messages 119

Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

Initiator Messages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121Initiator Outbound Request — Private Process to BusinessConnect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121Initiator Inbound Response — BusinessConnect to Private Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

Responder Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127Responder Inbound Request — BusinessConnect to Private Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127Responder Outbound Response — Private Process to BusinessConnect . . . . . . . . . . . . . . . . . . . . . . . . . 130Responder Acknowledgement — BusinessConnect to Private Process . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

General Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133Advisory 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

Page 7: Tib Bcsoap Usr

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

Page 8: Tib Bcsoap Usr

viii | Contents

TIBCO BusinessConnect SOAP Protocol User’s Guide

Page 9: Tib Bcsoap Usr

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

Page 10: Tib Bcsoap Usr

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

Page 11: Tib Bcsoap Usr

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

Page 12: Tib Bcsoap Usr

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

Page 13: Tib Bcsoap Usr

| 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

Page 14: Tib Bcsoap Usr

xiv | Preface

Related Documentation

This section lists documentation resources that you may find useful.

BusinessConnect SOAP Protocol DocumentationThe 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 DocumentationYou 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

Page 15: Tib Bcsoap Usr

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 DocumentationThe specification for the SOAP protocol can be found at http://www.w3.org/TR/SOAP/.

TIBCO BusinessConnect SOAP Protocol User’s Guide

Page 16: Tib Bcsoap Usr

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

font Bold code font is used in the following ways:

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

Key name separated by a plus sign indicate keys pressed simultaneously. For 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

Page 17: Tib Bcsoap Usr

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

Page 18: Tib Bcsoap Usr

xviii | Preface

TIBCO BusinessConnect SOAP Protocol User’s Guide

Page 19: Tib Bcsoap Usr

| 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

Page 20: Tib Bcsoap Usr

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

Page 21: Tib Bcsoap Usr

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.1In 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

Page 22: Tib Bcsoap Usr

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

Page 23: Tib Bcsoap Usr

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

Page 24: Tib Bcsoap Usr

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

Page 25: Tib Bcsoap Usr

Operation Types and Process Flows | 7

Synchronous Request-Response OperationsThe 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

Page 26: Tib Bcsoap Usr

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

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.

Request# of retires

Initiator Responder

Response

Response w

ait

Time to w

ait betw

een retransm

its

Private Process

wait

TIBCO BusinessConnect SOAP Protocol User’s Guide

Page 27: Tib Bcsoap Usr

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

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.

Notification# of retires

Initiator Responder

Acknowledgement

Acknow

ledgement

wait

TIBCO BusinessConnect SOAP Protocol User’s Guide

Page 28: Tib Bcsoap Usr

10 | Chapter 1 Introduction to SOAP and BusinessConnect SOAP Protocol

TIBCO BusinessConnect SOAP Protocol User’s Guide

Page 29: Tib Bcsoap Usr

| 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

Page 30: Tib Bcsoap Usr

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.

OperationsTwo 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 PartnersThe 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.

TransactionsThe 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

Page 31: Tib Bcsoap Usr

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

Legend

Request

Response

BusinessConnect SOAP Protocol

TIBCO BusinessWorks

Send Request-Response

Company A

BusinessWorks

Receive Request

Send Response

Company B

Private Process Outbound Request

Private Process Inbound Request

1

2

3

4

Internet

ACK

5

6

BusinessConnect SOAP Protocol

7

TIBCO BusinessConnect SOAP Protocol User’s Guide

Page 32: Tib Bcsoap Usr

14 | Chapter 2 Tutorial — Standalone Private Processes

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

Page 33: Tib Bcsoap Usr

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

Page 34: Tib Bcsoap Usr

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

Page 35: Tib Bcsoap Usr

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

Page 36: Tib Bcsoap Usr

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

Page 37: Tib Bcsoap Usr

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

Page 38: Tib Bcsoap Usr

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

Page 39: Tib Bcsoap Usr

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

Page 40: Tib Bcsoap Usr

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

Page 41: Tib Bcsoap Usr

Configuring the Responder | 23

Setting Up Responder ServerThe 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 PartnerThis 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

Page 42: Tib Bcsoap Usr

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

Page 43: Tib Bcsoap Usr

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

Page 44: Tib Bcsoap Usr

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-ResponderSET JDK_DIR=C:\tibco\jre\1.5.0SET 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

Page 45: Tib Bcsoap Usr

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-InitiatorSET JDK_DIR=C:\tibco\jre\1.5.0SET 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

Page 46: Tib Bcsoap Usr

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

**** 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.REQUESTSending request:Trading partner: SOAPServerOperation ID: POInterface/1.0/POSyncHeader: <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

Page 47: Tib Bcsoap Usr

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" UnitOfMeasure="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.txtAttachment : image.gif

Hit [Enter] to send request:

Received message from BusinessConnect:Status code: 200Status message: OKoperation id: POInterface/1.0/POSynctransaction id: 8ae924d70cb0cb32010cb16aac8001d4response 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" PODate="2000-05-16" PONumber="12345" Type="EZ" ShipDate="2000-05-16"></ci:InvoiceHeader> <ci:Seller ContactType="CT" ContactName="BonifazLuis" ContactNumber="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

Page 48: Tib Bcsoap Usr

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="CT"></cpo:ShipTo> <cpo:Item> <cpo:ItemHeader ExtendedPrice="499.75" Price="99.95" Quantity="5" UnitOfMeasure="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/POSyncclosure:8ae9266f0cb0d114010cb16747a701d5Attachment saved to file po.txt

TIBCO BusinessConnect SOAP Protocol User’s Guide

Page 49: Tib Bcsoap Usr

Running the Tutorial | 31

Attachment saved to file image.gifHit [Enter] to send response:

Sending response...publishing on subject: AX.BC.BC-Responder.SOAP.RESPONDER.RESPONSEresponse 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" PODate="2000-05-16" PONumber="12345" Type="EZ" ShipDate="2000-05-16"/> <ci:Seller ContactType="CT" ContactName="BonifazLuis" ContactNumber="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 Processing 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

Page 50: Tib Bcsoap Usr

32 | Chapter 2 Tutorial — Standalone Private Processes

## SOAP Client Private process property file.#

#client.operationID: POInterface/1.0/PONotifyclient.operationID: POInterface/1.0/POSyncclient.tradingPartnerID:SOAPServerclient.encoding:ISO8859_1#client.transactionID:uuid:1234567917

attachment1.name:po.txtattachment1.contentID:<[email protected]>attachment1.contentType:text/plain

attachment2.name:image.gifattachment2.contentID:<[email protected]>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 LogsTo 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

Page 51: Tib Bcsoap Usr

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

Page 52: Tib Bcsoap Usr

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

Page 53: Tib Bcsoap Usr

| 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

Page 54: Tib Bcsoap Usr

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

Page 55: Tib Bcsoap Usr

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.

TransactionsThe 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

Legend

Notify

BusinessConnect SOAP Protocol

TIBCO BusinessWorks

Send Notify

Company A

BusinessWorks

Receive Notification

Company B

Private Process Outbound Request

Private Process Inbound Request

1

2

3

Internet

4

ACK

BusinessConnect SOAP Protocol

TIBCO BusinessConnect SOAP Protocol User’s Guide

Page 56: Tib Bcsoap Usr

38 | Chapter 3 Tutorial — BusinessWorks Private Processes

Setting Up the Tutorial

PrerequisitesTo 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 MachinesIf 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.

The following steps assume you have completed the tutorial in Chapter 2.

TIBCO BusinessConnect SOAP Protocol User’s Guide

Page 57: Tib Bcsoap Usr

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 ArchiveTo 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 Variable1. Click the Global Variables tab.

2. Verify that the BC_HOME variable is set to BC_install_dir

Configuring Connections to BusinessConnectAfter 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

Page 58: Tib Bcsoap Usr

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

Page 59: Tib Bcsoap Usr

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

Page 60: Tib Bcsoap Usr

42 | Chapter 3 Tutorial — BusinessWorks Private Processes

Initiator Process DefinitionsThe 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

Page 61: Tib Bcsoap Usr

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

Page 62: Tib Bcsoap Usr

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

Page 63: Tib Bcsoap Usr

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

Page 64: Tib Bcsoap Usr

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

Page 65: Tib Bcsoap Usr

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

Page 66: Tib Bcsoap Usr

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

Page 67: Tib Bcsoap Usr

| 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

Page 68: Tib Bcsoap Usr

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

Page 69: Tib Bcsoap Usr

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

Page 70: Tib Bcsoap Usr

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

Page 71: Tib Bcsoap Usr

| 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

Page 72: Tib Bcsoap Usr

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

Page 73: Tib Bcsoap Usr

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

Page 74: Tib Bcsoap Usr

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

Page 75: Tib Bcsoap Usr

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

Page 76: Tib Bcsoap Usr

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

Page 77: Tib Bcsoap Usr

SOAP Operation Properties | 59

SOAP Operation Properties

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.

Notify Operation

Notify Operation Tab

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

BusinessConnect SOAP Protocol supports neither the RC2 family of encryption algorithms, nor the MD5 digest algorithm for signatures.

If both 'Require Digital Signature' and 'Require Content Encryption' check boxes are cleared on inbound, any message will be accepted.

For information on validating schemas, see Appendix B, Schema Validation, on page 153.

Table 1 Notify Operation Tab

Field Description

Name Name of the operation

Description Description for the operation

TIBCO BusinessConnect SOAP Protocol User’s Guide

Page 78: Tib Bcsoap Usr

60 | Chapter 5 Managing SOAP Operations

Notify Request Action Tab

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

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.

Table 1 Notify Operation Tab

Field Description

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 Signature

If selected, this option will sign the outgoing messages and force the incoming messages to be signed.

Require Content Encryption

If selected, this option will encrypt the outgoing messages and force the 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

Page 79: Tib Bcsoap Usr

SOAP Operation Properties | 61

SOAP Header Validation Schema Name

The XSD file that BusinessConnect uses to validate the header part of the SOAP message.

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 Root Element Name

The top-level XSD element for your business document

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.

SOAP Body Validation Schema Name

The XSD file that BusinessConnect uses to validate the body part of the SOAP message.

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

The top-level XSD element for your business document

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.

Table 2 Notify Request Action Tab

Field Description

TIBCO BusinessConnect SOAP Protocol User’s Guide

Page 80: Tib Bcsoap Usr

62 | Chapter 5 Managing SOAP Operations

Synchronous Request-Response Operation

Operation Tab

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

Request Action Tab

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

For information on validating schemas, see Appendix B, Schema Validation, on page 153.

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.

Table 4 Request Action Tab

Field Description

Name Name of the operation

Description Description for the operation

Direction Initiator to Responder (preset)

Require Digital Signature

If selected, this option will sign the outgoing requests and force the incoming requests to be signed.

Require Content Encryption

If selected, this option will encrypt the outgoing requests and force the incoming requests to be encrypted.

TIBCO BusinessConnect SOAP Protocol User’s Guide

Page 81: Tib Bcsoap Usr

SOAP Operation Properties | 63

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 Validation Schema Name

The XSD file that BusinessConnect uses to validate the header part of the SOAP request .

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 Root Element Name

The top-level XSD element for your business document

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.

Table 4 Request Action Tab

Field Description

TIBCO BusinessConnect SOAP Protocol User’s Guide

Page 82: Tib Bcsoap Usr

64 | Chapter 5 Managing SOAP Operations

Response Action Tab

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

SOAP Body Validation Schema Name

The XSD file that BusinessConnect uses to validate the body part of the SOAP request.

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

The top-level XSD element for your business document

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.

Table 4 Request Action Tab

Field Description

Table 5 Response Action

Field Description

Name Name of the operation (response)

Description Description for the operation

Direction Responder to Initiator (preset)

Require Digital Signature

If selected, this option will sign the outgoing responses and force the incoming responses to be signed.

Require Content Encryption

If selected, this option will encrypt the outgoing responses and force the incoming responses to be encrypted.

TIBCO BusinessConnect SOAP Protocol User’s Guide

Page 83: Tib Bcsoap Usr

SOAP Operation Properties | 65

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 Validation Schema Name

The XSD file that BusinessConnect uses to validate the header part of the SOAP response.

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 Root Element Name

The top-level XSD element for your business document

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.

Table 5 Response Action

Field Description

TIBCO BusinessConnect SOAP Protocol User’s Guide

Page 84: Tib Bcsoap Usr

66 | Chapter 5 Managing SOAP Operations

• Click Done to save the added interface, interface version, and the new operations that have been added to the interface version.

SOAP Body Validation Schema Name

The XSD file that BusinessConnect uses to validate the body part of the SOAP response.

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

The top-level XSD element for your business document

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 Wait (seconds)

Time to wait for the response from the private process before timeout. The Private Process Wait timeout can be extended, depending on the hibernation poller interval.

Table 5 Response Action

Field Description

TIBCO BusinessConnect SOAP Protocol User’s Guide

Page 85: Tib Bcsoap Usr

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

Page 86: Tib Bcsoap Usr

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

Page 87: Tib Bcsoap Usr

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

Page 88: Tib Bcsoap Usr

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

Page 89: Tib Bcsoap Usr

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\commoninvoice.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

Page 90: Tib Bcsoap Usr

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

Page 91: Tib Bcsoap Usr

| 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

Page 92: Tib Bcsoap Usr

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.

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.

Table 6 Configuring a Host: General Tab

Field Description

Default Domain Identity

The default domain identity to use for this host. Select from the list of domain 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 Address List

This field is not used for BusinessConnect SOAP Protocol.

Allow Anonymous SOAP Messages

Allow anonymous SOAP messages to pass through.

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

TIBCO BusinessConnect SOAP Protocol User’s Guide

Page 93: Tib Bcsoap Usr

Configuring the SOAP Protocol for a Host | 75

4. Click Save.

5. Click OK.

TIBCO BusinessConnect SOAP Protocol User’s Guide

Page 94: Tib Bcsoap Usr

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.

Inbound MessagesFor inbound messages, duplicate detection is performed in the same way for the inbound request and inbound response.

Inbound Request and Inbound Response

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

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.

Duplicate detection for Inbound Response messages is done only for synchronous operations.

TIBCO BusinessConnect SOAP Protocol User’s Guide

Page 95: Tib Bcsoap Usr

Duplicate Message Detection | 77

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

Page 96: Tib Bcsoap Usr

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 PartnerUse the General tab to configure general information about the trading partner.

Table 7 Configuring a Partner: General Tab

Field Description

Default Domain Identity

The default domain identity to use for this host. Select from the list of 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 List

This field is not used for BusinessConnect SOAP Protocol.

Duplicate Detection for Outbound

Prevents duplicate messages from being sent to the trading partner and sends an error message to the private process. See Duplicate Message Detection on page 76 for more details.

Add BusinessConnect Specific Header

Add a special header to any messages going to this trading partner.

See BusinessConnect SOAP Protocol Public Messages on page 112 for more information.

TIBCO BusinessConnect SOAP Protocol User’s Guide

Page 97: Tib Bcsoap Usr

Configuring the SOAP Protocol for a Partner | 79

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

Allow Anonymous SOAP Messages From This Trading Partner

Allow pass-through messages from this trading partner.

See Receiving SOAP Messages without TIBCO-Specific Headers on page 108 for more information.

SOAP Namespace Prefix

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

Table 7 Configuring a Partner: General Tab

Field Description

TIBCO BusinessConnect SOAP Protocol User’s Guide

Page 98: Tib Bcsoap Usr

80 | Chapter 6 Setting Up Trading Hosts and Partners

TIBCO BusinessConnect SOAP Protocol User’s Guide

Page 99: Tib Bcsoap Usr

| 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

Page 100: Tib Bcsoap Usr

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

Page 101: Tib Bcsoap Usr

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.

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

Table 8 Operation Bindings Tab

Field Description

Allow All Operations

This checkbox is cleared by default for the SOAP protocol.

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 Logging

This checkbox is selected by default for the SOAP protocol.

See Non-Repudiation Logs on page 98 for more details.

Host ’X’ can initiate

Add Operation Binding

The Host ’X’ Can Initiate area lists the activities that the host can initiate and 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 Binding

The Partner ’Y’ Can Initiate area lists the activities that the partner can initiate 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.

TIBCO BusinessConnect SOAP Protocol User’s Guide

Page 102: Tib Bcsoap Usr

84 | Chapter 7 Configuring Agreement Protocol Bindings

Figure 31 Operation Bindings Added for Host and Partner

Edit an Operation Binding for Host1. 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.

3. Click Save.

Table 9 Override Outbound Settings: Operation Settings Tab

Field Description

Override Operation Settings

To override the settings for a SOAP operation, select this checkbox and then select General from the dropdown list.

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.

TIBCO BusinessConnect SOAP Protocol User’s Guide

Page 103: Tib Bcsoap Usr

Operation Bindings Tab | 85

Transports Tab

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

5. Click Save.

Edit an Operation Binding for Partner1. 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.

3. Click Save.

Table 10 Override Outbound Settings: Transports Tab

Field Description

Override Transports

Select this checkbox to override the settings for a transport.

Override Outbound Transports

Primary Transport

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

Table 11 Override Inbound Settings: Operation Settings Tab

Field Description

Override Operation Settings

To override the settings for a SOAP operation, select this checkbox and then select General from the dropdown list.

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.

TIBCO BusinessConnect SOAP Protocol User’s Guide

Page 104: Tib Bcsoap Usr

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

Page 105: Tib Bcsoap Usr

Transports Tab | 87

Transports Tab

To configure the Transports tab, refer to Table 12.

Show AdvancedUse 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.

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 Authentication Identity for HTTP, FTPS, HTTPSCA

Select one of the private keys that was assigned to the host.

For more information, see TIBCO BusinessConnect Trading Partner Administration Guide, Upload a Private Key for a Host.

Client Authentication Identity for SSHFTP

Select one of the SSH private keys (used to support the SSHFTP transport) that was assigned to the host.

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.

TIBCO BusinessConnect SOAP Protocol User’s Guide

Page 106: Tib Bcsoap Usr

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.

3. Click Save twice.

Override Settings for the Partner

4. Click the Partner’s Configuration tab.

5. Override settings using Table 14.

6. Click Save twice.

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 Identity

Select a domain identity from the dropdown list.

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

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 Identity

Select a domain identity from the dropdown list.

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

TIBCO BusinessConnect SOAP Protocol User’s Guide

Page 107: Tib Bcsoap Usr

| 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

Page 108: Tib Bcsoap Usr

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

Page 109: Tib Bcsoap Usr

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

Select Custom Date Range or Predefined Date Range.

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

Page 110: Tib Bcsoap Usr

92 | Chapter 8 Viewing Logs

3. Configure the advanced search settings by using the list presented in Table 16.

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.

Previous From this dropdown list, you can select the previous period to search:

• One Day

• One Week

• One Month

• One Year

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

Column Name Definition

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

TIBCO BusinessConnect SOAP Protocol User’s Guide

Page 111: Tib Bcsoap Usr

Audit Logs | 93

Audit Log Views

Summary View

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

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

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

Page 112: Tib Bcsoap Usr

94 | Chapter 8 Viewing Logs

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.

Description Description of the last action recorded for the message

Example: Received request from private process.

Table 18 Transaction Detail Columns

Column Definition

Table 19 State Field Values for Initiator Process

Short Message Definition Comments

REQUEST_FROM_PP Received request from private process

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

REQUEST_SEND_TO_TP Request or notification is about to be sent to trading partner.

This entry is logged before the request has been sent to the trading partner.

REQUEST_SENT_TO_TP Request or notification sent to trading partner; received acknowledgment.

This entry is logged only after the request has been successfully posted to the trading partner.

Either this entry or the next one is the last one logged for notification.

RESPONSE_FROM_TP Received response from trading partner

This entry is logged only after a response is received from the trading partner.

RESPONSE_TO_PP Response sent to private process

Logging is done after a response (which 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

Page 113: Tib Bcsoap Usr

Audit Logs | 95

PACKAGE_MSG SOAP Message packaged successfully

Logging is done after the SOAP message 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 partner> parsed to a SOAP message successfully

Logging is done after the received HTTP message (request/response) is converted to a SOAP message and decrypted (if encrypted previously).

RESPONSE_DECRYPTED Encrypted response message successfully decrypted

Logging is done after the incoming message is decrypted successfully.

RESPONSE_VERIFIED Signed response from the trading partner verified successfully

Logging is done after the signed response message is verified successfully.

DOCUMENT_DENIED Received request document is denied because of encryption or signing permissions

Logging is done when the incoming request or response is denied because of security permissions for this operation.

VALIDATE_REQUEST Incoming request (<header/Body>) is validated

Logging is done after the validation of the incoming or outgoing request. Description will specify if the validation was success or failure.

VALIDATE_RESPONSE Incoming response (<header/Body>) is validated

Logging is done after the validation of the incoming or outgoing response. Description will specify if validation was a success or failure.

Table 19 State Field Values for Initiator Process

Short Message Definition Comments

TIBCO BusinessConnect SOAP Protocol User’s Guide

Page 114: Tib Bcsoap Usr

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

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

REQUEST_TO_PP Request sent to private process.

Notification sent to private process.

Logging is done just before sending notification or request to the private process.

This is the last entry in case of notification.

RESPONSE_FROM_PP Received response from private process

Logging is done after having received response from the private process.

RESPONSE_TO_TP Response sent to trading partner

Logging is done after having the response was successfully posted to the trading partner.

PACKAGE_MSG SOAP Message packaged successfully

Logging is done after the SOAP message 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 partner> parsed to a SOAP message successfully

Logging is done after the received HTTP message (request/response) is converted to a SOAP message and decrypted (if encrypted previously).

REQUEST_DECRYPTED Encrypted request message successfully decrypted

Logging is done after the incoming message is decrypted successfully.

REQUEST_VERIFIED Signed request from Trading Partner verified successfully

Logging is done after the signed request message is verified.

DOCUMENT_DENIED Received request document is denied because of encryption or signing permissions

Logging is done when the incoming request or response is denied because of security permissions for this operation.

TIBCO BusinessConnect SOAP Protocol User’s Guide

Page 115: Tib Bcsoap Usr

Audit Logs | 97

VALIDATE_REQUEST Incoming request (<header/Body>) is validated

Logging is done after the validation of the incoming or outgoing request. Description will specify if the validation was success or failure.

VALIDATE_RESPONSE Incoming response (<header/Body>) is validated

Logging is done after the validation of the incoming or outgoing response. Description will specify if validation was a success or failure.

COMPLETED_WITH_ERROR

DMZ could not send the response to the partner

This state is logged when responder fails to send a response to the Initiator.

Table 20 State Field Values for Responder Process

Short Message Description Comments

TIBCO BusinessConnect SOAP Protocol User’s Guide

Page 116: Tib Bcsoap Usr

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

Page 117: Tib Bcsoap Usr

Non-Repudiation Logs | 99

3. Configure the advanced search settings by using the list presented in Table 22.

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

Date Range Criteria

Select Custom Date Range or Predefined Date Range.

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

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

Column Name Definition

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

TIBCO BusinessConnect SOAP Protocol User’s Guide

Page 118: Tib Bcsoap Usr

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

Select Custom Date Range or Predefined Date Range.

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

Page 119: Tib Bcsoap Usr

Resend Logs | 101

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.

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 process

Initiator message that was originally received will be resent.

REQUEST_TO_PP Request sent to private process

Responder request messages will be resent.

This state cannot be resent for synchronous transactions.

RESPONSE_TO_PP Response sent to private process

Initiator response will be resent.

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

Column Name Definition

TIBCO BusinessConnect SOAP Protocol User’s Guide

Page 120: Tib Bcsoap Usr

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.

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

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 Criteria

Select Custom Date Range or Predefined Date Range.

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

Page 121: Tib Bcsoap Usr

Resend Logs | 103

6. Configure the advanced search settings.

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

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.

Previous From this dropdown list, you can select the previous period to search:

• One Day

• One Week

• One Month

• One Year

Table 26 Resend Log: Resend History

Column Name Definition

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

TIBCO BusinessConnect SOAP Protocol User’s Guide

Page 122: Tib Bcsoap Usr

104 | Chapter 8 Viewing Logs

TIBCO BusinessConnect SOAP Protocol User’s Guide

Page 123: Tib Bcsoap Usr

| 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

Page 124: Tib Bcsoap Usr

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

Page 125: Tib Bcsoap Usr

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

Page 126: Tib Bcsoap Usr

108 | Chapter 9 Advanced Topics

SOAP Messages without TIBCO-Specific Headers

Sending SOAP Messages without TIBCO-Specific HeadersTo 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 HeadersAs 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

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.

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.

TIBCO BusinessConnect SOAP Protocol User’s Guide

Page 127: Tib Bcsoap Usr

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.

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

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

TIBCO BusinessConnect SOAP Protocol User’s Guide

Page 128: Tib Bcsoap Usr

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

Page 129: Tib Bcsoap Usr

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.

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.

All transaction IDs generated by BusinessConnect SOAP Protocol will have the string bcsoap: as the prefix.

TIBCO BusinessConnect SOAP Protocol User’s Guide

Page 130: Tib Bcsoap Usr

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

Page 131: Tib Bcsoap Usr

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

Page 132: Tib Bcsoap Usr

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

Page 133: Tib Bcsoap Usr

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

Page 134: Tib Bcsoap Usr

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 ExampleThe 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:Envelopexmlns: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

Page 135: Tib Bcsoap Usr

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

Page 136: Tib Bcsoap Usr

118 | Chapter 9 Advanced Topics

TIBCO BusinessConnect SOAP Protocol User’s Guide

Page 137: Tib Bcsoap Usr

| 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

Page 138: Tib Bcsoap Usr

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

Page 139: Tib Bcsoap Usr

Initiator Messages | 121

Initiator Messages

Initiator Outbound Request — Private Process to BusinessConnectThe Initiator private process uses this message to handle outbound requests, as shown in Figure 32.

Figure 32 Initiator Outbound Request

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

BC Initiator BC ResponderInternet Responder Private Process

Initiator Private Process

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

Page 140: Tib Bcsoap Usr

122 | Chapter 10 Private Messages

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 Attachment

No A sequence of attachments

See Attachment on page 135.

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

request

Header

String No The header of the public SOAP message in XML format.

tpDomain String No Trading partner domain

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

Table 28 Initiator Request

Field Type Required Description

TIBCO BusinessConnect SOAP Protocol User’s Guide

Page 141: Tib Bcsoap Usr

Initiator Messages | 123

http

Attributes

Sequence of SOAP/Attri

bute

No Contains the HTTP header attributes, which are populated in the HTTP header of the outbound HTTP request.

The server receiving the SOAP message may be expecting these optional attribute values.

See also Attribute on page 141.

envelope

Attributes

Sequence of SOAP/Attri

bute

No Contains the SOAP envelope attributes. The server receiving the SOAP message may be expecting these optional attribute values.

See Attribute on page 141 and SOAP Envelope Attributes and Namespaces on page 116 for more information.

Table 28 Initiator Request

Field Type Required Description

TIBCO BusinessConnect SOAP Protocol User’s Guide

Page 142: Tib Bcsoap Usr

124 | Chapter 10 Private Messages

Initiator Inbound Response — BusinessConnect to Private ProcessA 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

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

BC Initiator BC ResponderInternet Responder Private Process

Initiator Private Process

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

Page 143: Tib Bcsoap Usr

Initiator Messages | 125

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 Attachment

No Sequence of attachments

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

response

Header

String No The header of the response SOAP message in 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

Attributes

Sequence of SOAP/

Attribute

No Contains the SOAP envelope attributes. The server receiving the SOAP message may be expecting these optional attribute values.

See Attribute on page 141 and SOAP Envelope Attributes and Namespaces on page 116 for more information.

Table 29 Initiator Response

Field Type Required Description

TIBCO BusinessConnect SOAP Protocol User’s Guide

Page 144: Tib Bcsoap Usr

126 | Chapter 10 Private Messages

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.

Table 29 Initiator Response

Field Type Required Description

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

Page 145: Tib Bcsoap Usr

Responder Messages | 127

Responder Messages

Responder Inbound Request — BusinessConnect to Private ProcessThe Responder private process uses this message to handle inbound requests, as shown in Figure 34.

Figure 34 Responder Inbound Request

.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

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.

BC Initiator BC ResponderInternet Responder Private Process

Initiator Private Process

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

Page 146: Tib Bcsoap Usr

128 | Chapter 10 Private Messages

sourceTP

Domain

String No Domain of the Initiator of this message

destination

TP

String Yes Name of the Responder to this message

This field contains name or domain identity value.

destination

TPDomain

String No Domain of the Responder to this message

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

Table 30 Responder Inbound Request

Field Type Required Description

TIBCO BusinessConnect SOAP Protocol User’s Guide

Page 147: Tib Bcsoap Usr

Responder Messages | 129

attachment Sequence of Attachment

No A sequence of attachments

See Attachment on page 135.

request

Header

String No The header of the public SOAP message in 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

Attributes

Sequence of SOAP/Attri

bute

No Contains the SOAP envelope attributes. The server receiving the SOAP message may be 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

Type

String Yes Type of operation: Notify or async/sync request-response

Table 30 Responder Inbound Request

Field Type Required Description

TIBCO BusinessConnect SOAP Protocol User’s Guide

Page 148: Tib Bcsoap Usr

130 | Chapter 10 Private Messages

Responder Outbound Response — Private Process to BusinessConnectThe Responder private process uses this message to handle outbound responses, as shown in Figure 35.

Figure 35 Responder Outbound 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

BC Initiator BC ResponderInternet Responder Private Process

Initiator Private Process

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

Page 149: Tib Bcsoap Usr

Responder Messages | 131

attachment Sequence of Attachment

No A sequence of attachments

See Attachment on page 135.

operationID String Yes A three-part ID of the form: interface/version/operation_Name.

response

Header

String No Header of the response

This becomes the header of the public SOAP message.

envelope

Attributes

Sequence of SOAP/Attribute

No Contains the SOAP envelope attributes

The server receiving the SOAP message may be 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.

Table 31 Responder Outbound Response

Field Type Required Description

TIBCO BusinessConnect SOAP Protocol User’s Guide

Page 150: Tib Bcsoap Usr

132 | Chapter 10 Private Messages

Responder Acknowledgement — BusinessConnect to Private ProcessWhen 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

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

BC Initiator BC ResponderInternet Responder Private Process

Initiator Private Process

Responder Acknowledgement

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

Type

String Yes ACK

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

Page 151: Tib Bcsoap Usr

General Messages | 133

General Messages

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

Page 152: Tib Bcsoap Usr

134 | Chapter 10 Private Messages

host TradingPartner

No Host information

See TradingPartner on page 140.

tpName String Yes Name of the trading partner

trading

Partner

TradingPartner

No Trading partner information

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 (class)

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

Table 33 Advisory Messages (Cont’d)

Field Type Required Description

TIBCO BusinessConnect SOAP Protocol User’s Guide

Page 153: Tib Bcsoap Usr

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

Page 154: Tib Bcsoap Usr

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

Page 155: Tib Bcsoap Usr

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

Page 156: Tib Bcsoap Usr

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

Page 157: Tib Bcsoap Usr

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.

originalContentType

String The original received content type is populated in this field.

The field is available only for the Responder Request and Initiator Response private process messages.

TIBCO BusinessConnect SOAP Protocol User’s Guide

Page 158: Tib Bcsoap Usr

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

Page 159: Tib Bcsoap Usr

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

Page 160: Tib Bcsoap Usr

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 (class)

A detail message of the SOAPFault in the SOAP body. This is an 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

Page 161: Tib Bcsoap Usr

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

Page 162: Tib Bcsoap Usr

144 | Chapter 10 Private Messages

TIBCO BusinessConnect SOAP Protocol User’s Guide

Page 163: Tib Bcsoap Usr

| 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

Page 164: Tib Bcsoap Usr

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(statusCode)

Description(statusMsg) Role Category Possible Resolution

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.

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.

201-299 HTTP(S) OK codes

300 - 499

HTTP(S) error codes Error System

500 Internal Server Error. SOAP Fault occurred.

Error System Check fault code, fault string, fault e f, faultactor.

510 Socket closed Error System

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

601 Generic error while processing the message for security

Error Security

650 Message encryption failed

Error Security Check the certificates or encryption algorithm. One of them may be invalid.

TIBCO BusinessConnect SOAP Protocol User’s Guide

Page 165: Tib Bcsoap Usr

statusCode and statusMsg Field Reference | 147

651 Message signing failed

Error Security Check the identity used for signature or the signing algorithm. One of them may be invalid.

652 Signature verification failed

Error Security Check the certificates used for signature verification. It may be wrong.

653 Message decryption failed

Error Security Check the identity used for decryption. It may be wrong.

654 WSSecurity process upon inbound message failed

Error Security Either the decryption or verification of the inbound message has 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 message detected

Error Configuration This is detected by the Initiator process. Make sure unique IDs are used.

802 Transport transport not supported by SOAP

Error Configuration SOAP supports HTTP and HTTPS only.

803 Cannot process a synchronous EMAIL request

Error Configuration

804 Cannot send operation type request to multiple trading partners

Error Configuration

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

Code(statusCode)

Description(statusMsg) Role Category Possible Resolution

TIBCO BusinessConnect SOAP Protocol User’s Guide

Page 166: Tib Bcsoap Usr

148 | Appendix A Status Codes

805 Notification did not reach all trading partners

Error Configuration

806 Received SOAP Fault. FaultString: fault_string

Error

807 Error in reading response

820 Schema Validation error: Missing Validating schema (request)

Error Schema validation and message contents

Load header and/or body schema for request operation

821 Schema Validation error: Missing Validating schema (response)

Error Schema validation and message contents

Load header and/or body schema for response operation

822 Request not conforming to schema. reason

Error Schema validation and message contents

This is detected by the Initiator process. Make sure there is agreement between the message and the schema 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 conforming to schema

Error Schema validation and message contents

This is detected by the Initiator process. Make sure there is an agreement between the message and 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.

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

Code(statusCode)

Description(statusMsg) Role Category Possible Resolution

TIBCO BusinessConnect SOAP Protocol User’s Guide

Page 167: Tib Bcsoap Usr

statusCode and statusMsg Field Reference | 149

824 Attachment processing error, msg: message (request from PP)

Error Schema validation and message contents

825 Attachment processing error, msg:<message> (response from PP)

Error Schema validation and message contents

840 Timed-out waiting for response. (reserved)

Error HTTP Error

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 document is denied because of encryption/signing permissions

Error Security Check the operation editor settings.

867 Error setting envelope attributes

Error PackageMessage

Verify that envelope attributes are correctly specified as described in the documentation.

888 Error serializing SOAP message

Error PackageMessage

There is a problem packaging the SOAP message. Please verify the SOAP body and header elements.

899 Error occurred. No detailed information available.

Error System

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

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

Code(statusCode)

Description(statusMsg) Role Category Possible Resolution

TIBCO BusinessConnect SOAP Protocol User’s Guide

Page 168: Tib Bcsoap Usr

150 | Appendix A Status Codes

900 TP not allowed access to specified doc, reason:

Error Configuration

901 Missing BusinessConnect SOAP Header

Error Passthrough Verify that your default host accepts anonymous messages by selecting Allow Anonymous SOAP Messages for the default host.

920 Request parsing error Error Schema validation and message contents

921 Missing validating schema

Error Schema validation and message contents

Load header and/or body schema for request operation

922 Request not confirming to schema

Error Schema validation and message contents

Load header and/or body schema for response operation

923 Attachment processing error, msg: (request from trading partner)

Error Schema validation and message contents

924 Attachment processing error in response from private process, detail:

Error Schema validation and message contents

925 Received request document is denied because of encryption/signing permissions

Error Security Check the operation editor settings.

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

Code(statusCode)

Description(statusMsg) Role Category Possible Resolution

TIBCO BusinessConnect SOAP Protocol User’s Guide

Page 169: Tib Bcsoap Usr

statusCode and statusMsg Field Reference | 151

940 Client Authentication Failed

Error HTTP/Comm

941 Error in receiving response from private process. Detail:

Error HTTP/Comm

942 Failed to send reply to DMZ. Please check the DMZ timeout parameters.

Error HTTP/Comm

943 Error while sending request to private process

Error System Could not save context information in the database. Check database connection status.

944 Response not confirming to schema

Error Schema validation and message contents

Load header and body schema for response action

999 Error occurred. No detailed information available.

Error System This is detected by the Responder process. Turn on tracing to capture the traces. Contact TIBCO Support and forward the traces to them.

1000 - 1999

Private-party-defined error codes

Error

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

Code(statusCode)

Description(statusMsg) Role Category Possible Resolution

TIBCO BusinessConnect SOAP Protocol User’s Guide

Page 170: Tib Bcsoap Usr

152 | Appendix A Status Codes

TIBCO BusinessConnect SOAP Protocol User’s Guide

Page 171: Tib Bcsoap Usr

| 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

Page 172: Tib Bcsoap Usr

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

Page 173: Tib Bcsoap Usr

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

Page 174: Tib Bcsoap Usr

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

Page 175: Tib Bcsoap Usr

| 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

Page 176: Tib Bcsoap Usr

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

Page 177: Tib Bcsoap Usr

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

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.

After importing WSDL files, log out and then log into the TIBCO Administrator console to see the imported WSDL operations.

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

Page 178: Tib Bcsoap Usr

160 | Appendix C BusinessConnect SOAP Protocol WSDL Tool

Database vendor name (such as MSSQL, DB2, MySQL, Oracle)

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

java.property.oracle.sid=sid for oracle database

Database name java.property.db=database name

Database port number (such as 1433 for MSSQL)

java.property.db.port=database port

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.

Table 40 BusinessConnect Database Configuration Properties for WSDL Import

Properties

TIBCO BusinessConnect SOAP Protocol User’s Guide

Page 179: Tib Bcsoap Usr

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

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.

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.

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 (such as MSSQL, DB2, MySQL, Oracle)

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

java.property.oracle.sid=sid for oracle database

Database name java.property.db=database name

Database port number (such as 1433 for MSSQL)

java.property.db.port=database port

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

TIBCO BusinessConnect SOAP Protocol User’s Guide

Page 180: Tib Bcsoap Usr

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 property

java.property.wsdl.url=url

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

WSDL service name property

java.property.wsdl.service=service name

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

Page 181: Tib Bcsoap Usr

Index | 163

Index

A

adding a domain identity 74adding a domain identity for a partner 79adding a version to an interface 57adding an operation to a version 58advisory message 133anonymous SOAP messages 74attachment

allowed formats 135determine the Content-Type property 136object fields 139preserve SOAP 5.0 functionality 138

attachmentsinbound 137outbound 136

audit logs 91

B

binding an operation 83BusinessConnect SOAP Protocol compatibility 4BusinessConnect SOAP Protocol features 4BusinessConnect SOAP Protocol messages 5

BusinessWorks private process tutorialconfiguring connections to BusinessConnect 39configuring private processes 39initiator process definitions 42modify the PONotify operation 69modify the POSync operation 70opening the BusinessWorks project 39overview 36prerequisites 38responder process definitions 43running private processes 45running the tutorial 45setting global variables 39setting up 38viewing the audit logs 46

C

configure a non-repudiation log 98configure a resend log 100configuring the SOAP protocol 74configuring the SOAP protocol for a partner 78configuring transports for partners 79creating a SOAP interface 56

E

edit an operation binding for partner 85editing an operation binding for host 84

operation settings tab 84transports tab 85

editing an operation binding for partneroperation settings tab 85

exchanging identity information 52exchanging URI definitions 51

TIBCO BusinessConnect SOAP Protocol User’s Guide

Page 182: Tib Bcsoap Usr

164 | Index

exporting the SOAP interface 68

I

import the SOAP interface 56importing interfaces 67initiator inbound response — BusinessConnect to pri-

vate process 124initiator outbound request — private process to

BusinessConnect 121

M

managing SOAP envelope attributes 116multipart MIME messages 135

N

non-repudiation logs 98notify operation 6notify transaction process flow 6

O

objects included in private messages 135operation

notify 6request-response 6

operation bindings tab 83operation properties 59operation properties, Action tab 60, 62operation properties, General tab 59operation types and process flows 6OriginalContentType 137overriding participant settings 87

P

private messages and processes 5public messages 5

R

request-response operation 6resend logs 100responder acknowledgement — BusinessConnect to

private process 132responder inbound request — BusinessConnect to pri-

vate process 127responder outbound response — private process to

BusinessConnect 130

S

schema validation errors 119setting general properties 74, 78setting transports for the business agreement 87SOAP envelope attributes and namespaces 116SOAP overview 2SOAPFault 142SOAPFault object fields 142standalone tutorial

configuring the business agreement 20, 24configuring the initiator 16configuring the responder 21initiator machine 14operations 12overview 12prerequisites 15responder machine 14running the tutorial 26setting up initiator server 18setting up responder server 23setting up the responder as a trading partner 19trading partners 12transports 12viewing the audit logs 32

TIBCO BusinessConnect SOAP Protocol User’s Guide

Page 183: Tib Bcsoap Usr

Index | 165

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

T

trading with a third-party SOAP implementation 106

TIBCO BusinessConnect SOAP Protocol User’s Guide

Page 184: Tib Bcsoap Usr

166 | Index

TIBCO BusinessConnect SOAP Protocol User’s Guide