Date post: | 28-Apr-2015 |
Category: |
Documents |
Upload: | mallikarjun1630 |
View: | 109 times |
Download: | 0 times |
TIBCO BusinessConnect™ SOAP Protocol
User’s GuideSoftware Release 5.1.0January 2008
Important Information
SOME TIBCO SOFTWARE EMBEDS OR BUNDLES OTHER TIBCO SOFTWARE. USE OF SUCH EMBEDDED OR BUNDLED TIBCO SOFTWARE IS SOLELY TO ENABLE THE FUNCTIONALITY (OR PROVIDE LIMITED ADD-ON FUNCTIONALITY) OF THE LICENSED TIBCO SOFTWARE. THE EMBEDDED OR BUNDLED SOFTWARE IS NOT LICENSED TO BE USED OR ACCESSED BY ANY OTHER TIBCO SOFTWARE OR FOR ANY OTHER PURPOSE.USE OF TIBCO SOFTWARE AND THIS DOCUMENT IS SUBJECT TO THE TERMS AND CONDITIONS OF A LICENSE AGREEMENT FOUND IN EITHER A SEPARATELY EXECUTED SOFTWARE LICENSE AGREEMENT, OR, IF THERE IS NO SUCH SEPARATE AGREEMENT, THE CLICKWRAP END USER LICENSE AGREEMENT WHICH IS DISPLAYED DURING DOWNLOAD OR INSTALLATION OF THE SOFTWARE (AND WHICH IS DUPLICATED IN TIBCO BUSINESSCONNECT TM SOAP PROTOCOL USER"S GUIDE) OR IF THERE IS NO SUCH SOFTWARE LICENSE AGREEMENT OR CLICKWRAP END USER LICENSE AGREEMENT, THE LICENSE(S) LOCATED IN THE “LICENSE” FILE(S) OF THE SOFTWARE. USE OF THIS DOCUMENT IS SUBJECT TO THOSE TERMS AND CONDITIONS, AND YOUR USE HEREOF SHALL CONSTITUTE ACCEPTANCE OF AND AN AGREEMENT TO BE BOUND BY THE SAME.This document contains confidential information that is subject to U.S. and international copyright laws and treaties. No part of this document may be reproduced in any form without the written authorization of TIBCO Software Inc.TIB, TIBCO, TIBCO Adapter, Predictive Business, Information Bus, The Power of Now, TIBCO BusinessConnect, TIBCO Runtime Agent, TIBCO BusinessWorks, TIBCO Administrator, TIBCO Designer, TIBCO Rendezvous, and TIBCO Enterprise Message Service are either registered trademarks or trademarks of TIBCO Software Inc. in the United States and/or other countries.EJB, Java EE, J2EE, and all Java-based trademarks and logos are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries.All other product and company names and marks mentioned in this document are the property of their respective owners and are mentioned for identification purposes only.THIS SOFTWARE MAY BE AVAILABLE ON MULTIPLE OPERATING SYSTEMS. HOWEVER, NOT ALL OPERATING SYSTEM PLATFORMS FOR A SPECIFIC SOFTWARE VERSION ARE RELEASED AT THE SAME TIME. SEE THE README.TXT FILE FOR THE AVAILABILITY OF THIS SOFTWARE VERSION ON A SPECIFIC OPERATING SYSTEM PLATFORM.THIS DOCUMENT IS PROVIDED “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT.THIS DOCUMENT COULD INCLUDE TECHNICAL INACCURACIES OR TYPOGRAPHICAL ERRORS. CHANGES ARE PERIODICALLY ADDED TO THE INFORMATION HEREIN; THESE CHANGES WILL BE INCORPORATED IN NEW EDITIONS OF THIS DOCUMENT. TIBCO SOFTWARE INC. MAY MAKE IMPROVEMENTS AND/OR CHANGES IN THE PRODUCT(S) AND/OR THE PROGRAM(S) DESCRIBED IN THIS DOCUMENT AT ANY TIME.THE CONTENTS OF THIS DOCUMENT MAY BE MODIFIED AND/OR QUALIFIED, DIRECTLY OR INDIRECTLY, BY OTHER DOCUMENTATION WHICH ACCOMPANIES THIS SOFTWARE, INCLUDING BUT NOT LIMITED TO ANY RELEASE NOTES AND "READ ME" FILES.Copyright © 1999-2008 TIBCO Software Inc. ALL RIGHTS RESERVED.TIBCO Software Inc. Confidential Information
Contents | iii
Contents
Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix
Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii
Related Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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
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
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
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
Contents | vii
Appendix C BusinessConnect SOAP Protocol WSDL Tool 157
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
WSDL Import . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
WSDL Export . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
TIBCO BusinessConnect SOAP Protocol User’s Guide
viii | Contents
TIBCO BusinessConnect SOAP Protocol User’s Guide
Figures | ix
Figures
Figure 1 Synchronous Request-Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Figure 2 Notification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Figure 3 Request Response Operation POSync . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Figure 4 Imported Operations PONotify and POSync . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Figure 5 Audit Logs Search on the Initiator Side . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Figure 6 Transaction Detail on the Initiator Side . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Figure 7 Audit Log Search on the Responder Side . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Figure 8 Transaction Detail on the Responder Side . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Figure 9 Notify Message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Figure 10 Imported Operations for SOAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Figure 11 Verify Trading Partner’s Name. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Figure 12 Send Notify. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Figure 13 Receive Notification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Figure 14 Receive Request and Send Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Figure 15 Test Send Notify. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Figure 16 Audit Logs Search on the Initiator Side . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Figure 17 Transaction Detail on the Initiator Side . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Figure 18 Audit Log Search on the Responder Side . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Figure 19 Transaction Detail on the Responder Side . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Figure 20 Create a SOAP Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Figure 21 New Interface POInterface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Figure 22 Add a Version to an Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Figure 23 New Interface Version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Figure 24 Add an Operation to a Version. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Figure 25 Import Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Figure 26 Export SOAP Interface, Version, or Operation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Figure 27 Edit Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Figure 28 Edit Notify Operation: Notify . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
TIBCO BusinessConnect SOAP Protocol User’s Guide
x | Figures
Figure 29 Edit Synchronous Request-Response Operation: Sync . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Figure 30 Synchronous Request-Response Operation: Sync. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Figure 31 Operation Bindings Added for Host and Partner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Figure 32 Initiator Outbound Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Figure 33 Initiator Inbound Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
Figure 34 Responder Inbound Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
Figure 35 Responder Outbound Response. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
Figure 36 Responder Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
TIBCO BusinessConnect SOAP Protocol User’s Guide
Tables | xi
Tables
Table 1 General Typographical Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvi
Table 1 Notify Operation Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Table 2 Notify Request Action Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Table 3 Synchronous Request-Response Operation Tab. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Table 4 Request Action Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Table 5 Response Action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Table 6 Configuring a Host: General Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Table 7 Configuring a Partner: General Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Table 8 Operation Bindings Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Table 9 Override Outbound Settings: Operation Settings Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Table 10 Override Outbound Settings: Transports Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Table 11 Override Inbound Settings: Operation Settings Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Table 12 Transports Tab. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Table 13 Show Advanced: Host’s Configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Table 14 Show Advanced: Partner’s Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Table 15 Audit Log: Search Transactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Table 16 Audit Log: Advanced Search Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Table 17 Audit Log Columns. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Table 18 Transaction Detail Columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Table 19 State Field Values for Initiator Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Table 20 State Field Values for Responder Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Table 21 Non-Repudiation Log: Search Transactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Table 22 Non-Repudiation Log: Advanced Search Settings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Table 23 Resend Log: Resendable Transactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Table 24 State Values for Resend Logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Table 25 Resend Log: Advanced Search Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Table 26 Resend Log: Resend History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Table 27 Resend Log: Advanced Search Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
TIBCO BusinessConnect SOAP Protocol User’s Guide
xii | Tables
Table 28 Initiator Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Table 29 Initiator Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
Table 30 Responder Inbound Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
Table 31 Responder Outbound Response. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
Table 32 ResponderAck. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Table 33 Advisory Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Table 34 Attachment Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
Table 35 Trading Partner Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
Table 36 Attribute Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
Table 37 SOAP Fault Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Table 38 Detail Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Table 39 statusCode and statusMsg Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
Table 40 BusinessConnect Database Configuration Properties for WSDL Import. . . . . . . . . . . . . . . . . . . . 159
Table 41 WSDL File, Trading Partner, and Local Host Name Properties for WSDL Import. . . . . . . . . . . . . 160
Table 42 BusinessConnect Database Configuration Properties for WSDL Export . . . . . . . . . . . . . . . . . . . 161
Table 43 WSDL File, Trading Partner, and Local Host Name Properties for WSDL Export . . . . . . . . . . . . 162
TIBCO BusinessConnect SOAP Protocol User’s Guide
| xiii
Preface
This manual describes how to use TIBCO BusinessConnect TM SOAP Protocol.
Topics
• Related Documentation, page xiv
• Typographical Conventions, page xvi
• How to Contact TIBCO Support, page xvii
TIBCO BusinessConnect SOAP Protocol User’s Guide
xiv | Preface
Related Documentation
This section lists documentation resources that you may find useful.
BusinessConnect SOAP Protocol 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
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
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
How to Contact TIBCO Support | xvii
How to Contact TIBCO Support
For comments or problems with this manual or the software it addresses, please contact TIBCO Support as follows.
• For an overview of TIBCO Support, and information about getting started with TIBCO Support, visit this site:
https://www.tibco.com/services/support
• If you already have a valid maintenance or support contract, visit this site:
http://support.tibco.com
Entry to this site requires a username and password. If you do not have a username, you can request one.
TIBCO BusinessConnect SOAP Protocol User’s Guide
xviii | Preface
TIBCO BusinessConnect SOAP Protocol User’s Guide
| 1
Chapter 1 Introduction to SOAP and BusinessConnect SOAP Protocol
This chapter describes SOAP and BusinessConnect SOAP Protocol.
Topics
• SOAP Overview, page 2
• BusinessConnect SOAP Protocol Overview, page 3
• BusinessConnect SOAP Protocol Features, page 4
• BusinessConnect SOAP Protocol Messages, page 5
• Operation Types and Process Flows, page 6
TIBCO BusinessConnect SOAP Protocol User’s Guide
2 | Chapter 1 Introduction to SOAP and BusinessConnect SOAP Protocol
SOAP Overview
SOAP 1.1 (Simple Object Access Protocol) is a lightweight XML-based messaging protocol for exchanging structured data in a decentralized, distributed environment. SOAP allows buyers, sellers, and intermediaries to share business documents and messages over the Internet. SOAP can also be used for other types of supply chain integration transactions, such as collaborative forecasting, inventory management, and design collaboration.
SOAP transactions involve the exchange of documents, most of which are analogous to hardcopy documents traditionally used in business. These documents are simple text files, but they have well-defined structure and contents.
SOAP has the following parts:
• An envelope that defines a framework for describing what is in a message and how to process the message. This defines the message package. The SOAP envelope consists of an optional header and a mandatory body. The envelope is the first element in the document and identifies it as a SOAP message. The header allows the sender to add management or control information that can be used for routing, security, or proper handling by the recipient. The body contains the information sent to the receiver.
• A standard for representing request and response.
TIBCO BusinessConnect SOAP Protocol User’s Guide
BusinessConnect SOAP Protocol Overview | 3
BusinessConnect SOAP Protocol Overview
BusinessConnect SOAP Protocol is the TIBCO implementation of the SOAP 1.1 specification. The protocol is developed by TIBCO for exchanging XML documents used in e-commerce. Based upon an agreed-upon process flow and common document format, you and your trading partner can conduct secure and verifiable business transactions online using BusinessConnect SOAP Protocol.
For an overview of what a business protocol means, see TIBCO BusinessConnect Concepts, Chapter 2 BusinessConnect Architecture, section Business Protocols.
SOAP Message Security 1.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
4 | Chapter 1 Introduction to SOAP and BusinessConnect SOAP Protocol
BusinessConnect SOAP Protocol Features
The following are some significant features of the BusinessConnect SOAP Protocol:
• Support for the synchronous Request-Response and Notify operation types
See Notify Operations on page 6 and Synchronous Request-Response Operations on page 7 for more details.
• Support for HTTP, HTTPS, and HTTPSCA transport protocols
• Multiple server certificate support for HTTPS
• Access control through trading partner identification and permissions
• Validation of XML documents with XSDs
• Signing or encryption of the SOAP body as a whole using Web Services Security (WS-Security 2004).
See SOAP Message Security 1.1 on page 3 for more details.
• Ability to specify certain timing constraints
• Ability to generate audit records
See Audit Logs on page 91 for more details.
• Enabled non-repudiation logging in business agreements for all operations.
See Non-Repudiation Logs on page 98 for more details.
• Ability to send attachments
See Attachment on page 135 for more details.
• Ability to use the WSDL Tool to export and import WSDL files
See Appendix C, BusinessConnect SOAP Protocol WSDL Tool, on page 157 for more details.
BusinessConnect SOAP Protocol Compatibility
For information on the platforms with which BusinessConnect SOAP Protocol is compatible, see the readme.txt file for each release.
TIBCO BusinessConnect SOAP Protocol User’s Guide
BusinessConnect SOAP Protocol Messages | 5
BusinessConnect SOAP Protocol Messages
In a SOAP transaction, two partners exchange business documents over the Internet based on a pre-defined business agreement. The business agreement describes what message formats and transport protocols the partners have agreed to use, among other options. The exchange of business documents is known as the process flow. See Operation Types and Process Flows on page 6.
In a BusinessConnect process flow, two types of messages are exchanged: private messages and public messages.
Private Messages and 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
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
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
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
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
10 | Chapter 1 Introduction to SOAP and BusinessConnect SOAP Protocol
TIBCO BusinessConnect SOAP Protocol User’s Guide
| 11
Chapter 2 Tutorial — Standalone Private Processes
This tutorial guides you through the steps necessary for running a BusinessConnect SOAP Protocol B2B transaction.
The example in this chapter uses standalone private processes.
Topics
• Overview, page 12
• Prerequisites, page 15
• Configuring the Initiator, page 16
• Configuring the Responder, page 21
• Running the Tutorial, page 26
TIBCO BusinessConnect SOAP Protocol User’s Guide
12 | Chapter 2 Tutorial — Standalone Private Processes
Overview
This chapter provides a short tutorial that demonstrates how to use an operation to send a sample document from a trading host to a trading partner.
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
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
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
Prerequisites | 15
Prerequisites
Before starting this tutorial, provide the following prerequisites:
1. Install the following software packages:
a. BusinessConnect Server
b. BusinessConnect SOAP Protocol
2. If you are unfamiliar with the SOAP standard, read Chapter 1, Introduction to SOAP and BusinessConnect SOAP Protocol, page 1.
3. See TIBCO BusinessConnect Server Administration Guide and TIBCO BusinessConnect Trading Partner Administration Guide for complete information on setting up and running BusinessConnect.
TIBCO BusinessConnect SOAP Protocol User’s Guide
16 | Chapter 2 Tutorial — Standalone Private Processes
Configuring the Initiator
This section steps you through the activities you need to perform to configure the Responder trading partner:
1. Importing Operations on the Initiator on page 16
2. Setting Up the Initiator as a Trading Host, page 17
3. Setting Up Initiator Server, page 18
4. Setting Up the Responder as a Trading Partner, page 19
5. Configuring the Business Agreement Between the Initiator and Responder, page 20.
Importing Operations on the 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
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
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
Configuring the Initiator | 19
4. Verify that the Enable HTTP Transport checkbox is selected.
5. Keep the default port of 6700.
6. Click Save twice.
7. Click Deploy.
8. Verify that the Start Successfully Deployed Services checkbox is selected.
9. Click OK.
This will deploy BusinessConnect and start the server.
Setting Up the Responder as a Trading Partner The Responder trading partner setup consists of these steps:
• Set Up the Responder Partner
• Set Up the SOAP Protocol for the Responder Partner
Set Up the Responder Partner
1. Click the BusinessConnect > Participants link in the left panel.
2. Click the New button.
3. Type SOAPServer in the Participant Name field.
4. Select Partner in the Participant Type dropdown list.
5. Click OK.
6. In the New Partner Participant dialog with SOAPServer in the Participant Name filed, select the Active checkbox.
Set Up the SOAP Protocol for the Responder Partner
1. In the New Partner Participant dialog with SOAPServer in the Participant Name filed, click the Protocols tab.
2. Verify that SOAP is listed in the Protocol Name list.
If SOAP does not appear in the list of protocols:
a. Click Enable.
b. Select the SOAP checkbox.
c. Click OK.
3. Click the SOAP link.
TIBCO BusinessConnect SOAP Protocol User’s Guide
20 | Chapter 2 Tutorial — Standalone Private Processes
4. Click the Transports tab.
5. Click the Add button.
6. In the New Transport dialog, type HTTP in the Transport Name field.
7. Select HTTP from the Transport Type dropdown list.
8. Click OK.
9. In the NewHTTP Transport dialog, type the following in the URL field:
hostname:port/SOAP
where hostname is the name of the Responder host and port is the HTTP port set in the Responder’s deployment configuration and is set to 6700 by default.
Example: http://www.widgets.com:6700/SOAP
10. Click Save twice.
Configuring the Business Agreement Between the Initiator and 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
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
22 | Chapter 2 Tutorial — Standalone Private Processes
The trading host setup for the Responder consists of these steps:
• Set Up the Responder Host
• Set Up the SOAP Protocol for the Responder Host
Set Up the Responder Host
The trading host name property is typically defined when setting up BusinessConnect.
If the property is set, go to Set Up the SOAP Protocol for the Responder Host on page 22.
If the property is not set, complete the following steps:
1. Click the BusinessConnect > Participants link in the left panel.
2. Click the New button.
3. Type SOAPServer in the Participant Name field.
4. Select Host in the Participant Type dropdown list.
5. Click OK.
6. In the New Participant dialog with the participant name SOAPServer, select the Active checkbox.
7. Click Save.
8. Click the BusinessConnect > System Settings link in the left panel.
9. Click the General Settings link in the right panel.
10. Confirm that SOAPServer is selected in the Default Host dropdown list.
11. Click Save.
Set Up the SOAP Protocol for the Responder Host
1. Click the BusinessConnect > Participants link in the left panel.
2. Click the SOAPServer link in the right panel.
3. Click the Protocols tab.
4. Verify that SOAP is listed in the Protocol Name list.
If SOAP does not appear in the list of protocols:
a. Click Enable.
b. Select the SOAP checkbox.
c. Click Save.
TIBCO BusinessConnect SOAP Protocol User’s Guide
Configuring the Responder | 23
Setting Up Responder 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
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
Configuring the Responder | 25
6. In the Select Protocol dialog, select the SOAP checkbox.
7. Click OK.
8. Click the SOAP link that appears in the Agreement Protocol Binding list.
9. In the Operation Binding tab, verify that the Allow All Operations checkbox is selected. This allows the host and trading partner to initiate all enabled operations.
10. Select the Transports tab.
11. In the Outbound Transports for Host 'SOAPServer' area, select HTTP from the Primary Transport dropdown list.
12. In the Allowed Inbound Transports for Partner 'SOAPClient' area, ensure that the HTTP checkbox is selected.
13. Click Save twice.
TIBCO BusinessConnect SOAP Protocol User’s Guide
26 | Chapter 2 Tutorial — Standalone Private Processes
Running the Tutorial
To run the tutorial example, follow these steps:
1. Start the Initiator and Responder runtime servers with TIBCO Administrator.
2. Open the file BC_install_dir/protocols/soap/samples/server/ runsoapserver.bat (or /runsoapserver) on the Responder machine with a text editor and make the following change:
— In the line SET BC_INSTANCE=%%BC_INSTANCE%%
replace %%BC_INSTANCE% with the name of your installation, such as BC-Responder.
— In the line SET JDK_DIR = %%JDK_DIR%%
replace %%JDK_DIR%% with JAVA_directory, such as C:\tibco\jre\1.5.0
— In the line SET RV_DIR=%%RV_DIR%%
replace the value %%RV_DIR%% with the RV library location, such as C:\tibco\TIBRV.
A sample edited file runsoapserver.bat looks such as follows:
@ECHO OFF SET BC_INSTANCE=BC-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
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
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
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
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
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
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
Running the Tutorial | 33
Figure 5 Audit Logs Search on the Initiator Side
7. Click on the transaction for which you would like to see the details.
The Transaction Details screen appears with the details of this transaction, as shown in Figure 6.
Figure 6 Transaction Detail on the Initiator Side
8. Repeat steps 1 -7 on the Responder machine.
TIBCO BusinessConnect SOAP Protocol User’s Guide
34 | Chapter 2 Tutorial — Standalone Private Processes
The following audit log search window appears, as shown in Figure 7.
Figure 7 Audit Log Search on the Responder Side
9. Click on the transaction for which you would like to see the details.
The Transaction Details screen appears with the details of this transaction, as shown in Figure 8.
Figure 8 Transaction Detail on the Responder Side
TIBCO BusinessConnect SOAP Protocol User’s Guide
| 35
Chapter 3 Tutorial — BusinessWorks Private Processes
This chapter gives an overview of how to use BusinessWorks with BusinessConnect SOAP Protocol.
Topics
• Overview, page 36
• Setting Up the Tutorial, page 38
• Configuring BusinessWorks Private Processes, page 39
• Running the Tutorial, page 45
TIBCO BusinessConnect SOAP Protocol User’s Guide
36 | Chapter 3 Tutorial — BusinessWorks Private Processes
Overview
BusinessConnect SOAP Protocol can exchange data with a TIBCO BusinessWorks installation that is acting as a private process.
As explained in Tutorial — Standalone Private Processes on page 11, two operations are defined in the sample interface file:
• PONotify This operation is used when the Initiator just wants an acknowledgment from the Responder to verify business document receipt.
• POSync This is a synchronous request-response operation that is used when the Initiator and the Responder need to do a more complex business exchange of business documents.
Only the PONotify operation is used in this tutorial.
To use TIBCO Designer with BusinessConnect, you need to install the BusinessConnect Palette, which enables activities in TIBCO Designer communication with BusinessConnect. You must install this palette in your existing BusinessWorks installation before trying to design processes that interface to BusinessConnect SOAP Protocol.
Once installed, BusinessConnect Palette causes BusinessConnect activities to appear in TIBCO Designer. One of the activities allows you to connect to the BusinessConnect configuration store and import XSDs for your guidelines into TIBCO Designer.
These XSDs are then used for mapping XML data between your application systems and BusinessConnect SOAP Protocol. For more information on the activities available for interfacing from TIBCO Designer to BusinessConnect SOAP Protocol, see TIBCO BusinessConnect Palette Reference.
The Example BusinessWorks Project
The example BusinessWorks project is included in the BusinessConnect SOAP Protocol installation in the BC_install_dir\protocols\soap\samples\bcpalette. It demonstrates the use of BusinessWorks to interact with BusinessConnect SOAP Protocol. Knowledge of BusinessWorks, the BusinessConnect SOAP Protocol and B2B is a prerequisite to running this example.
Since this sample is just an illustration of the BusinessConnect activities available in BusinessWorks, it was made very simple. In a real-life scenario, the requesting BusinessWorks engine would perform a lot of processing to generate a request. Likewise, the receiving BusinessWorks engine would perform a lot of processing and transformation from the received request from BusinessConnect server in order to integrate with the backend systems.
TIBCO BusinessConnect SOAP Protocol User’s Guide
Overview | 37
To use BusinessWorks as a private process, you must first create a local SOAP connection. The connection provides information about the directory where the BusinessConnect configuration store is located, the configuration store instance name, protocol to use, and BusinessConnect installation name.
You can also create a remote SOAP connection if your BusinessConnect installation is not on your local machine. An example remote SOAP connection is included in the sample project. To use the remote connection, you must provide the subject name and remote TIBCO Rendezvous daemon host name.
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
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
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
40 | Chapter 3 Tutorial — BusinessWorks Private Processes
Configure BusinessWorks Project
1. In the TIBCO Designer GUI, click on the Project tab.
2. Open the Connections folder and click on the BCServer Connection icon.
3. Click the BusinessConnect Server Access tab in the right panel.
a. Select the JDBC driver you use to communicate with the BusinessConnect configuration store from the JDBC Driver dropdown list.
b. Type the URL for the configuration store in the JDBC URL field.
c. Type the configuration store username and password in the DB User and Password fields.
d. Click the Apply button.
4. Select the Configuration tab.
5. Click the Update from Configuration Store button.
6. In the Configuration tab, select SOAP from the Protocol Name list.
7. Click the Import Selected Business Protocol button.
The previously imported operations appear, as shown in Figure 10.
Figure 10 Imported Operations for SOAP
When you import the protocol, BusinessWorks retrieves schema information from the BusinessConnect configuration store and puts it in the BCSchemas project folder.
TIBCO BusinessConnect SOAP Protocol User’s Guide
Configuring BusinessWorks Private Processes | 41
If you expand this folder you will notice that it contains the CommonPO and CommonInvoice schemas in BCSchemas>SOAP>POInterface> 1.0>PONotify and POSync respectively.
8. Click Apply.
9. Click the Save icon to save the project.
Verify the Trading Partner Name
In this tutorial, you will need to verify that the trading partner name on the Initiator side is correctly entered for the Send Request operation.
1. Click on the Initiator folder in the project pane, and select the operation that is used in this tutorial (Send Notify).
2. Select the action SendRequest, which contains the trading partner’s name.
3. Select the Input tab. The Input values will be displayed, as shown in Figure 11.
Figure 11 Verify Trading Partner’s Name
4. Make sure that you have the correct tpName for the action Send Request, which is SOAPServer.
5. Change the name if needed, and click Apply.
TIBCO BusinessConnect SOAP Protocol User’s Guide
42 | Chapter 3 Tutorial — BusinessWorks Private Processes
Initiator Process 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
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
44 | Chapter 3 Tutorial — BusinessWorks Private Processes
Receive Request and Send Response
The Receive Request and Send Response process shows how BusinessWorks can act as a Responder by receiving a SOAP message initiated by a trading partner and sending a response to the trading partner.
The process uses the Receive Request/Notification, Read File, and Send Response activities to process, read, and respond to the request message, as shown in Figure 14.
Figure 14 Receive Request and Send Response
When the Responder’s BusinessConnect receives a SOAP document from a trading partner, it validates the SOAP message, if it is configured to do so. The message is then sent to a BusinessWorks process for processing. The Send Response activity sends a response back to the trading partner.
TIBCO BusinessConnect SOAP Protocol User’s Guide
Running the Tutorial | 45
Running the Tutorial
To run this tutorial, follow these steps:
1. Set up the BusinessConnect SOAP Protocol trading partners on the Initiator and Responder machines as described in Chapter 2, Tutorial — Standalone Private Processes, on page 11.
2. Send the transaction.
See Running the TIBCO BusinessWorks Processes on page 45.
3. Check the results of sending the transaction.
See Viewing the Audit Logs on page 32.
Running the TIBCO BusinessWorks Processes
On the Responder Machine
1. In TIBCO Designer, select the Tester tab.
2. Select the Start Testing Viewed Process button .
3. Select the checkbox next to Responder > Receive Notification message.
4. Click Load Selected.
On the Initiator Machine
1. In TIBCO Designer, select the Tester tab.
2. Select the Start Testing Viewed Process button .
3. Select the checkbox next to Initiator > Send Notify.
4. Click Load Selected.
5. In the Jobs folder, select INITIATOR/Send Notify process and click Create a Job button.
It will be saved as Job-number (viewed job).
The operation is tested and verified, as shown in Figure 15.
TIBCO BusinessConnect SOAP Protocol User’s Guide
46 | Chapter 3 Tutorial — BusinessWorks Private Processes
Figure 15 Test Send Notify
On the Responder Machine
After a couple of seconds, if the request has been validated and processed properly by the Responder’s BusinessConnect server and its private process, the line turns green and continues. When processing ends, the process receives a response.
If something fails at the Responder machine, it is likely that nothing will be returned from the Responder, and that the Send Request activity times out.
Viewing the Audit 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
Running the Tutorial | 47
Figure 16 Audit Logs Search on the Initiator Side
8. Click on the Notify transaction for which you would like to see the details.
The Transaction Details screen appears with the details of this transaction, as shown in Figure 17.
Figure 17 Transaction Detail on the Initiator Side
9. Repeat steps 1 -7 on the Responder machine.
The following audit log search window appears, as shown in Figure 18.
TIBCO BusinessConnect SOAP Protocol User’s Guide
48 | Chapter 3 Tutorial — BusinessWorks Private Processes
Figure 18 Audit Log Search on the Responder Side
10. Click on the transaction for which you would like to see the details.
The Transaction Details screen appears with the details of this transaction, as shown in Figure 19.
Figure 19 Transaction Detail on the Responder Side
TIBCO BusinessConnect SOAP Protocol User’s Guide
| 49
Chapter 4 Preparing Information with Your Trading Partners
This chapter describes some of the steps you and your trading partners must take in order to begin working together with BusinessConnect SOAP Protocol.
Topics
• Reaching Agreement on Shared Business Documents, page 50
• Exchanging URI Definitions, page 51
• Exchanging Identity Information, page 52
TIBCO BusinessConnect SOAP Protocol User’s Guide
50 | Chapter 4 Preparing Information with Your Trading Partners
Reaching Agreement on Shared Business Documents
Before trading partners can do business, they must agree on the structure and content of each XML business document that they plan to exchange over the Internet. To do this, trading partners must create XSDs that define the contents and structure of their associated XML documents.
Trading partners can exchange an XSD file via email, the web, or any other method. This is like two people trading dictionaries before they communicate in different languages.
You can use TIBCO Turbo XML™ to create XSDs. This platform allows you to create, validate, convert, and manage XML schemas and files.
TIBCO BusinessConnect SOAP Protocol User’s Guide
Exchanging URI Definitions | 51
Exchanging URI Definitions
Partners must exchange Uniform Resource Identifiers (URIs) as part of the business agreement before they can transact e-commerce. Trading partners can trade URI definitions via email, the web or any other method. The URI is part of the trading partner URL.
See Configuring Transports for a Partner on page 79 for instructions on how to enter the URI when setting up your trading partner.
The following is a list of the available transport protocols and their URI formats:
• HTTP URI format: http://server:port/SOAP
• HTTPS URI format: https://server:port/SOAP
TIBCO BusinessConnect SOAP Protocol User’s Guide
52 | Chapter 4 Preparing Information with Your Trading Partners
Exchanging Identity Information
Trading partners must exchange information that they can use to identify the other partner when conducting e-commerce. Trading partners can exchange identity information via email, the web, or any other method.
The identity information that you must share with a trading partner includes the following:
• Trading partner name See the sections on setting up trading partners for information on how to specify your partner’s company name.
• Domain identifiers Each trading partner involved in the exchange of SOAP documents has a domain and ID.
See the sections on setting up trading partners for information on where you add your partner’s domain and identifier:
— Set Up the SOAP Protocol for the Responder Partner on page 19
— Setting Up the SOAP Protocol for the Initiator Partner on page 24
• Public certificates Trading partners should exchange their public certificates for encryption and authentication. Your trading partner public certificate is used to encrypt outgoing messages and authenticate incoming messages signed by your trading partner.
See TIBCO BusinessConnect Concepts for information on security and certificates files in general, and TIBCO BusinessConnect Trading Partner Administration Guide for instructions on how to set security credentials.
BusinessConnect SOAP Protocol supports neither the RC2 family of encryption algorithms, nor the MD5 digest algorithm for signatures.
TIBCO BusinessConnect SOAP Protocol User’s Guide
| 53
Chapter 5 Managing SOAP Operations
This chapter explains how to manage interfaces, versions, and operations.
Topics
• Overview, page 54
• Creating a SOAP Interface, page 56
• Adding a Version to an Interface, page 57
• Adding an Operation to a Version, page 58
• SOAP Operation Properties, page 59
• Importing SOAP Interfaces, page 67
• Exporting SOAP Interfaces, page 68
• Modifying SOAP Operations, page 69
TIBCO BusinessConnect SOAP Protocol User’s Guide
54 | Chapter 5 Managing SOAP Operations
Overview
BusinessConnect SOAP Protocol uses interfaces, versions, and operations to categorize and define actions in an e-commerce transaction.
SOAP Interfaces
An interface is a category of operations; for example, Manage Purchase Order. This category includes a group of related operations such as the following:
• Create Purchase Order
• Change Purchase Order
• Cancel Purchase Order
Each interface has a version number. This allows the administrator to preserve older versions of interfaces while creating newer ones as needed. Each interface knows about the operations that it contains.
For example, a Manage Purchase Order interface could have the following definition:
The purpose of the interface is to specify the purchase order management process between trading partners. The management process includes the creation, change, and cancellation Business Document. All purchase order acknowledgments of acceptance are "substantive acceptance". A substantive acceptance returns some part of the original business document without modifications.
SOAP Operations
Each operation defines an action. For example, the definition of a Create Purchase Order operation would include the following:
• The operation description and transaction type (notify or synchronous request-response).
• The transaction type request parameters, such as the schemas for header and body element validation, and signing and encryption options for incoming and outgoing requests.
• The operation response parameters, such as the schemas for header and body element validation, and signing and encryption options for outgoing and incoming response.
Each installation can be the Initiator for certain interfaces, while the Responder can also be the Initiator for the same or other interfaces.
TIBCO BusinessConnect SOAP Protocol User’s Guide
Overview | 55
Interfaces are defined in terms of their input and output, with no inherent Initiator or Responder. This allows trading partners to exchange interfaces by exporting or importing them.
After interfaces and operations have been set up, they must be associated with protocol bindings.
For step-by-step instructions, see Configure SOAP Agreement Protocol Binding on page 82.
TIBCO BusinessConnect SOAP Protocol User’s Guide
56 | Chapter 5 Managing SOAP Operations
Creating a SOAP Interface
Before you can create versions and operations, you must create or import a SOAP interface.
1. Click the BusinessConnect > Operations Editor link.
2. Select SOAP in the Protocol dropdown list in the right panel.
3. Click the Edit button.
The Edit Operations: SOAP dialog appears, as shown in Figure 20.
Figure 20 Create a SOAP Interface
4. Select the SOAP radio button.
5. Click on New Interface.
6. Enter a name for the interface in the Name field, such as POInterface.
7. Enter a brief description for the new interface (optional).
8. Click Save.
The Edit Operations dialog now displays the new interface, as shown in Figure 21.
Figure 21 New Interface POInterface
TIBCO BusinessConnect SOAP Protocol User’s Guide
Adding a Version to an Interface | 57
Adding a Version to an Interface
To add a version to an interface, do the following:
1. Select an interface radio button, such as POInterface.
The Edit Operations: SOAP dialog appears, as shown in Figure 22.
Figure 22 Add a Version to an Interface
2. Click New Version.
3. Enter the version number in the Name field, such as 1.0
4. Enter a brief description for the new interface (optional).
5. Click Save.
The Edit Operations dialog displays the new operation version, as shown in Figure 23.
Figure 23 New Interface Version
TIBCO BusinessConnect SOAP Protocol User’s Guide
58 | Chapter 5 Managing SOAP Operations
Adding an Operation to a Version
To add an operation to a version, do the following:
1. Select the version radio button.
The Edit Operations: SOAP dialog appears, as shown in Figure 24.
Figure 24 Add an Operation to a Version
2. Click New Operation.
3. In the New Operation dialog, select either Notify or Synchronous Request-Response from the Operation Type dropdown list.
4. Click OK.
The New Synchronous Request-Response Operation (or the New Notify Operation) window will appear.
Depending on the operation you have selected, this window has the following content:
— The New Notify Operation window contains the tabs Notify Operation and Notify Request Action.
— The New Synchronous Request-Response Operation window contains the tabs Synchronous Request-Response Operation, Request Action, and Response Action.
TIBCO BusinessConnect SOAP Protocol User’s Guide
SOAP Operation Properties | 59
SOAP Operation Properties
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
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
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
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
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
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
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
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
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
68 | Chapter 5 Managing SOAP Operations
Exporting SOAP Interfaces
You may want to send an interface to a trading partner so that the partner does not have to re-create the interface.
To export an interface, do the following:
1. Select BusinessConnect>Operations Editor.
2. Select SOAP from the Protocol dropdown list in the right panel.
3. Click Edit.
4. The Edit Operations dialog appears, as shown in Figure 26.
Figure 26 Export SOAP Interface, Version, or Operation
5. Click the radio button next to the interface, version, or operation you wish to export.
6. Click Export Interface, Export Version, or Export Operation, depending on what you selected in step 5.
7. The Export Operations dialog appears for the selected interface, version, or operation.
To save the exported data, set the password.
8. Click on Export Data.
9. The pop-up dialog displays with the suggested file name operations.exp.
10. Browse to the desired place on your machine and click Save.
11. Click Done to finish export.
TIBCO BusinessConnect SOAP Protocol User’s Guide
Modifying SOAP Operations | 69
Modifying SOAP Operations
You can modify SOAP operations by defining the SOAP body validation schema name and SOAP body root element name. This must be done on the Initiator and Responder BusinessConnect installations.
Modify the Notify 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
70 | Chapter 5 Managing SOAP Operations
12. Click OK.
The Edit Notify Operation: Notify dialog appears, as shown in Figure 28.
Figure 28 Edit Notify Operation: Notify
13. Enter the SOAP Body Root Element Name.
14. Click Save.
Modify the Sync Operation
1. In the Edit Operations dialog, click the Sync operation link.
2. Select the Request Action tab.
3. Next to the SOAP Body Validation Schema Name field click change....
4. Select Uploaded File from the dropdown list.
5. Next to the Uploaded File window, click Browse and select the file to upload, such as BC_install_dir\protocols\soap\samples\schemas\tutorial\commonpo.xsd
6. Click Open.
7. Click OK.
The Edit Synchronous Request-Response Operation: Sync dialog appears, as shown in Figure 29.
TIBCO BusinessConnect SOAP Protocol User’s Guide
Modifying SOAP Operations | 71
Figure 29 Edit Synchronous Request-Response Operation: Sync
8. Enter the SOAP Body Root Element Name.
9. Click Save.
10. Select Sync again and then select the Response Action tab.
11. Next to the SOAP Body Validation Schema Name field click change....
12. Select Uploaded File from the dropdown list.
13. Next to the Uploaded File window, click Browse and select the file to upload, such as BC_install_dir\protocols\soap\samples\schemas\tutorial\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
72 | Chapter 5 Managing SOAP Operations
Figure 30 Synchronous Request-Response Operation: Sync
16. Enter the SOAP Body Root Element Name.
17. Click Save.
TIBCO BusinessConnect SOAP Protocol User’s Guide
| 73
Chapter 6 Setting Up Trading Hosts and Partners
This chapter explains how to set up trading hosts and partners in BusinessConnect SOAP Protocol.
Topics
• Configuring the SOAP Protocol for a Host, page 74
• Configuring the SOAP Protocol for a Partner, page 78
TIBCO BusinessConnect SOAP Protocol User’s Guide
74 | Chapter 6 Setting Up Trading Hosts and Partners
Configuring the SOAP Protocol for a Host
To configure the SOAP protocol for a trading host:
1. Select BusinessConnect>Participants.
2. Click a host participant link in the right panel.
3. Click the Protocols tab.
If SOAP does not appear in the list of protocols, do the following:
a. Click Enable.
b. Select the SOAP checkbox.
c. Click OK.
4. Click the SOAP link.
5. In the Edit Enabled Protocol dialog, set properties for SOAP using the Table 6.
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
Configuring the SOAP Protocol for a Host | 75
4. Click Save.
5. Click OK.
TIBCO BusinessConnect SOAP Protocol User’s Guide
76 | Chapter 6 Setting Up Trading Hosts and Partners
Duplicate Message Detection
BusinessConnect SOAP Protocol checks for duplicates on all inbound and outbound messages and, if found, forwards this duplicate message to the private process. The duplicate field in the Responder Request message is then set to true.
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
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
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
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
80 | Chapter 6 Setting Up Trading Hosts and Partners
TIBCO BusinessConnect SOAP Protocol User’s Guide
| 81
Chapter 7 Configuring Agreement Protocol Bindings
Topics
• Configure SOAP Agreement Protocol Binding, page 82
• Operation Bindings Tab, page 83
• Document Security Tab, page 86
• Transports Tab, page 87
TIBCO BusinessConnect SOAP Protocol User’s Guide
82 | Chapter 7 Configuring Agreement Protocol Bindings
Configure SOAP Agreement Protocol Binding
To configure a SOAP agreement protocol binding, follow these steps:
1. Select BusinessConnect>Business Agreements.
2. Click New.
3. Select a Host and a Partner from the Host Party and Partner Party lists.
Be sure that both trading partners have the SOAP protocol enabled (listed in the Protocols column). If SOAP is not listed, see Configuring the SOAP Protocol for a Host on page 74 or Configuring the SOAP Protocol for a Partner on page 78 for details.
4. Click OK.
5. In the New Agreement dialog, verify that the Valid checkbox is selected (that the current business agreement is valid).
If you wish to specify the time period for which this agreement will be valid, clear the Valid checkbox and then use the Start Date and End Date dropdown lists to specify the agreement’s duration.
6. Click the Add Protocol Binding button.
7. In the Select Protocol dialog, select the checkmark next to SOAP.
8. Click OK.
The New Agreement dialog appears.
9. Click the SOAP link in the Agreement Protocol Binding list.
The dialog Edit Protocol Binding: SOAP appears.
Edit Protocol Binding 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
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
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
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
86 | Chapter 7 Configuring Agreement Protocol Bindings
Document Security Tab
To learn about this topic, see TIBCO BusinessConnect Trading Partner Administration Guide, Document Security tab.
See also TIBCO BusinessConnect Concepts, Security.
BusinessConnect SOAP Protocol supports neither the RC2 family of encryption algorithms, nor the MD5 digest algorithm for signatures.
TIBCO BusinessConnect SOAP Protocol User’s Guide
Transports Tab | 87
Transports Tab
To configure the Transports tab, refer to Table 12.
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
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
| 89
Chapter 8 Viewing Logs
This chapter discusses how to view audit and resend logs after conducting business transactions.
Topics
• Overview, page 90
• Audit Logs, page 91
• Non-Repudiation Logs, page 98
• Resend Logs, page 100
TIBCO BusinessConnect SOAP Protocol User’s Guide
90 | Chapter 8 Viewing Logs
Overview
BusinessConnect provides four logs which are used to store messages processed through the system. These logs are:
• Audit logs
• Resend logs
• Non-repudiation logs
Use the Log Viewer to search for SOAP transaction records.
Accessing 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
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
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
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
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
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
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
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
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
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
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
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
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
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
104 | Chapter 8 Viewing Logs
TIBCO BusinessConnect SOAP Protocol User’s Guide
| 105
Chapter 9 Advanced Topics
This chapter covers several advanced topics, such as trading with a third-party SOAP implementation, using the Passthrough feature, and so on.
Topics
• Partyinfo Schema, page 106
• Trading with a Third-Party SOAP Implementation, page 107
• SOAP Messages without TIBCO-Specific Headers, page 108
• Using the Passthrough Feature, page 109
• BusinessConnect SOAP Protocol Public Messages, page 112
• SOAP XML Message with a BusinessConnect-Specific Header, page 114
• SOAP Envelope Attributes and Namespaces, page 116
TIBCO BusinessConnect SOAP Protocol User’s Guide
106 | Chapter 9 Advanced Topics
Partyinfo Schema
The TIBCO-specific header data is defined by the schema, available in the directory BC_install_dir\protocols\soap\samples\schemas\partyinfo.xsd.
This schema describes information such as:
• Trading partner names
• Transaction ID
• Operation ID
• Operation type
The partner and host identification in the outbound messages (in the partyInfo header element) changes depending on what is selected in the GUI for domain IDs and what is sent from the private process in the Initiator Request.
This results in the following outcomes:
• The name element is populated with the partner name when the trading partner or host have no default domain assigned to them, and when only the parameters tpName or hostName come from the private process.
When the trading partner or host have the default domain IDs selected in the GUI, or when tpDomain and hostDomain come from the private process, the name element field will carry the domainID of the partner. The value received from the private process takes the precedence.
• The domain element is populated when tpDomain and hostDomain are received from the private process, or when the trading partner has the default domainID selected in the GUI. The value received from the private process takes the precedence.
TIBCO BusinessConnect SOAP Protocol User’s Guide
Trading with a Third-Party SOAP Implementation | 107
Trading with a Third-Party SOAP Implementation
This section describes how a third-party SOAP implementation must configure its messages to send them to a BusinessConnect SOAP Protocol implementation. In a SOAP message, BusinessConnect SOAP Protocol by default puts TIBCO-specific header data inside the SOAP Header element. For an example, see BusinessConnect SOAP Protocol Public Messages on page 112.
For more details about TIBCO specific header schema, see Partyinfo Schema on page 106.
While this TIBCO-specific header data is useful for BusinessConnect SOAP Protocol, it is not useful when the trading partners do not use TIBCO products. In order to allow seamless integration of SOAP messages with trading partners that use third-party B2B solutions, it is possible to exchange SOAP messages without TIBCO-specific headers.
TIBCO BusinessConnect SOAP Protocol User’s Guide
108 | Chapter 9 Advanced Topics
SOAP Messages without TIBCO-Specific Headers
Sending SOAP Messages without TIBCO-Specific 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
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
110 | Chapter 9 Advanced Topics
Case 1: SOAP Header is Absent; URL has no Parameters
Example: http://www.SOAPServer.com:6700/SOAP
The received SOAP message is rejected by default, and a SOAP Fault is generated and sent back to the trading partner. To overcome this behavior and to allow anyone to send a SOAP message to BusinessConnect SOAP Protocol, the Allow Anonymous SOAP messages checkbox in the Trading Host > SOAP General subpanel of the default host must be selected.
When anonymity is enabled, BusinessConnect SOAP Protocol has no context for the inbound message. It can only handle the incoming message as a Notify operation. BusinessConnect SOAP Protocol forwards the inbound SOAP message to the private process through the ResponderRequest message. The request and requestHeader fields of this message contain the incoming SOAP header and body information in XML format. Once the inbound SOAP message is forwarded to the local private process, BusinessConnect SOAP Protocol sends an HTTP 204/No Content response back to the trading partner.
Case 2: SOAP Header is Absent; URL has no tpname and host Parameters
Example:
http://www.SOAPServer.com:6700/SOAP?opid=Sync/1.0/PORequest&transid=1232456789
BusinessConnect SOAP Protocol cannot determine the trading partner context information: the behavior is identical to when no parameters are present.
Case 3: SOAP Header is Absent; URL has no opid Parameter
Example:
http://www.SOAPServer.com:6700/SOAP?tpname=SOAPClient&transid=1232456789
The received SOAP message is rejected by default, and a SOAP Fault is generated and sent back to the trading partner. To overcome this behavior and to allow this trading partner to send a SOAP message to BusinessConnect SOAP Protocol, the Allow Anonymous SOAP Messages From This Trading Partner checkbox in the trading partner’s SOAP General subpanel must be selected.
When anonymity is enabled for this trading partner, BusinessConnect SOAP Protocol has no operation-related context for the inbound message. It can only handle the incoming message as a Notify operation.
BusinessConnect SOAP Protocol forwards the inbound SOAP message to the private process through the ResponderRequest message.
TIBCO BusinessConnect SOAP Protocol User’s Guide
Using the Passthrough Feature | 111
The request and requestHeader fields of this message contain the incoming SOAP header and body information in XML format. Once the incoming SOAP message is forwarded to the local private process, BusinessConnect SOAP Protocol sends an HTTP 204/No Content response back to the trading partner. For this transaction, host is the default host of the system.
Case 4: SOAP Header is Absent; URL has no transid Parameter
Example:
http://www.SOAPServer.com:6700/SOAP?tpname=SOAPClient &opid=Sync/1.0/PORequest
BusinessConnect SOAP Protocol has the complete context of the inbound SOAP message. The transaction is processed as a regular synchronous Request Response or Notify transaction, depending on the type of the operation in the incoming message. A unique transaction ID is generated and this ID is passed to the private process.
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
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
BusinessConnect SOAP Protocol Public Messages | 113
See Initiator Outbound Request — Private Process to BusinessConnect on page 121 for a description of this private process message.
Header Section 2
From <pi:PartyInfo xmlns:pi= to </pi:PartyInfo>
This is the BusinessConnect-specific part of the SOAP Header that is added if the Add BusinessConnect Specific Header checkbox is selected in the sending partner’s setup.
SOAP Body
From <cpo:CommonPO xmlns:cpo="http://po.org/body"> to </cpo:CommonPO>
This is the part of the SOAP body that comes from the request field in the InitiatorRequest message from the private process. It is present whether or not the BusinessConnect-specific SOAP Header is included.
See Initiator Outbound Request — Private Process to BusinessConnect on page 121 for a description of this private process message.
TIBCO BusinessConnect SOAP Protocol User’s Guide
114 | Chapter 9 Advanced Topics
SOAP XML Message with a BusinessConnect-Specific Header
This is a sample SOAP XML message that has the BusinessConnect-specific header:
<?xml version="1.0" encoding="UTF-8" ?><SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Header>
<ep:endpoints xmlns:ep="http://user.org/header" SOAP-ENV:actor="" SOAP-ENV:mustUnderstand="0">
<ep:to><ep:address>
<name>Book Orders</name><street>1st Street</street><city>New York</city><zip>1111</zip>
</ep:address></ep:to><ep:from><ep:address>
<name>Book Lovers</name><street>1st Street</street><city>Los Angeles</city><zip>90210</zip>
</ep:address></ep:from>
</ep:endpoints><prop:properties xmlns:prop="http://user.org/header" SOAP-ENV:actor=""
SOAP-ENV:mustUnderstand="0"><identity>uuid:74b9f5d0-33fb-4a81-b02b-5b760641c1d6</identity>
<sentAt>2000-05-14T03:00:00+08:00</sentAt><expiresAt>2000-05-15T04:00:00+08:00</expiresAt><topic>http://electrocommerce.org/purchase_order/</topic>
</prop:properties><pi:PartyInfo SOAP-ENV:actor="" SOAP-ENV:mustUnderstand="0"
xmlns:pi="http://www.tibco.com/namespaces/bc/2002/04/partyinfo.xsd"><from><name>SOAPClient</name>
</from><to><name>SOAPServer</name>
</to><operationID>POInterface/1.0/POSync</operationID><operationType>syncRequestResponse</operationType><transactionID>JxkRCJsC4zbrIEGGfuzzw3Dkzzw</transactionID>
</pi:PartyInfo></SOAP-ENV:Header><SOAP-ENV:Body>
<cpo:CommonPO xmlns:cpo="http://po.org/body">
TIBCO BusinessConnect SOAP Protocol User’s Guide
SOAP XML Message with a BusinessConnect-Specific Header | 115
<cpo:POHeader CreationDate="2000-06-23" Number="12345" Purpose="PO" Type="EZ"/>
<cpo:BillTo/><cpo:ShipTo ContactName="BonifazLuis" ContactNumber="12345" ContactType="CT"/>
<cpo:Item><cpo:ItemHeader ExtendedPrice="499.75" Price="99.95" Quantity="5"
UnitOfMeasure="EA"/><cpo:ItemDescription Description="Word Processing Application"
Type="F"/></cpo:Item><cpo:Total LineItemTotal="87" POTotal="544.15" QuantityTotal="34"/>
</cpo:CommonPO></SOAP-ENV:Body>
</SOAP-ENV:Envelope>
TIBCO BusinessConnect SOAP Protocol User’s Guide
116 | Chapter 9 Advanced Topics
SOAP Envelope Attributes and Namespaces
This section shows how a private process can set SOAP envelope attributes and namespaces. The SOAP message generated by BusinessConnect SOAP Protocol will have the private process-supplied envelope attributes and namespaces along with the default attributes and namespaces generated by BusinessConnect SOAP Protocol.
The SOAP envelope attributes are managed following these rules:
• On outbound, all attributes will be populated on the SOAP envelope
• On inbound, only the envelope attributes with their associated namespaces will be sent to the private process. The unused namespace attributes will not be sent.
• The envelope attributes must be bound to a namespace prefix.
• A SOAP Envelope namespace, such as http://schemas.xmlsoap.org/soap/envelope/, cannot be sent from the private process. Also, the private process cannot send the namespace for a SOAP envelope prefix that has been defined in the TIBCO Administrator GUI for a given trading partner.
Envelope Attributes and Namespaces 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
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
118 | Chapter 9 Advanced Topics
TIBCO BusinessConnect SOAP Protocol User’s Guide
| 119
Chapter 10 Private Messages
This chapter describes private message formats in BusinessConnect SOAP Protocol transactions and objects included in private messages.
Topics
• Overview, page 120
• Initiator Messages, page 121
• Responder Messages, page 127
• General Messages, page 133
• Attachment, page 135
• Attachment Object, page 139
• TradingPartner, page 140
• Attribute, page 141
• SOAPFault, page 142
• Detail Class, page 143
TIBCO BusinessConnect SOAP Protocol User’s Guide
120 | Chapter 10 Private Messages
Overview
The following sections describe the messages used for private request and response document exchange in BusinessConnect SOAP Protocol.
• For RV Messages, message fields are packaged in the ^data^ control tag as part of the aeRvMsg format.
• For JMS messages, these values are part of the Object message.
See TIBCO BusinessConnect Trading Partner Administration Guide, sections aeRvMsg Message Format and JMS Transport for more information.
Private process messages described in this chapter are the following:
• Initiator Messages on page 121
• Responder Messages on page 127
• General Messages on page 133
The following objects can be included in private messages:
• Attachment Object on page 139
• TradingPartner on page 140
• Attribute on page 141
• SOAPFault on page 142
• Detail Class on page 143
TIBCO BusinessConnect SOAP Protocol User’s Guide
Initiator Messages | 121
Initiator Messages
Initiator Outbound Request — Private Process to 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
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
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
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
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
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
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
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
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
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
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
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
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
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
Attachment | 135
Attachment
BusinessConnect SOAP Protocol allows for attachments in the binary format (such as .jpg, .zip, or .doc) or in the text format. BusinessConnect SOAP Protocol private process messages send the attachments to BusinessConnect, or receive the attachments from BusinessConnect.
The attachment class in these messages has the following fields:
• Name Name of the attachment
• Content-Type Specifies the type of the content associated with this attachment, such as text of binary
• Content-Id Specifies the content ID for the attachment
• Content Data for the attachment
• originalContentType The original received content type is populated in this field.
This field is available only for Responder Request and Initiator Response private process messages. It will have the same value as the field contentType, unless the contentType field cannot be inferred by Business Connect. In that case, the field contentType will be changed to the application/octet-stream and the originalContentType to the actual value will be received
All attachment fields are defined as strings, which requires that the binary content be specified as Base64 encoded.
Multipart MIME Messages
When attachments are present, SOAP messages are formulated as multipart MIME messages and BusinessConnect SOAP Protocol depends on the property Content-Type for packaging.
These MIME messages are configured as follows:
• The first message part carries the SOAP envelope
• Other message parts carry the attachments. Each message part carries the following header information:
— Content-Type Indicates the type of the content embedded in the part
— Content-Transfer-Encoding Indicates the encoding used for the MIME part
— Content-ID information Used to refer the content from anywhere in the multipart SOAP message.
TIBCO BusinessConnect SOAP Protocol User’s Guide
136 | Chapter 10 Private Messages
Determining the Content Type of an Attachment
The property Content Type must be defined in the type/subtype format, such as text/xml, application/zip, and so on.
BusinessConnect SOAP Protocol treats the attachment content based on the property Content-Type as follows:
• Content is treated as a plain text and the content type is referred to as text if it is in the formats text/* or application/*xml*.
• Content is treated as binary and the content type is referred to as binary if it is in the formats application/binary, application/octet-stream, application/zip, application/pdf, application/doc, image/*, audio/*, or video/*.
• Content type that is not either in the text or in the binary format will be treated as unknown and referred to as unknown. Content will be packaged or interpreted as either text or binary, depending on the situation.
• If the property Content-Type does not conform to the RFC standard, it will be changed to application/octet-stream and the content will be treated as binary.
The only exception to this rule is when the property Content-Type is defined as binary and is subsequently changed to application/binary. This change is done in order to maintain backward compatibility with BusinessConnect SOAP Protocol 5.0.
The property Content-Type for attachments must conform to MIME [RFC2045] standards, for example it has to be in the type/subtype format. For complete syntax of this property refer to RFC 2045 at http://www.ietf.org/rfc/rfc2045.txt.
Outbound Attachments
Outbound attachments are populated for the outbound request or response messages such as Initiator Request or Responder Response.
If the property Content-Type is not specified, it will be determined based on the type of the content:
• If content is of type String, Content-Type defaults to text/plain.
• If content is of type byte Array, Content-Type defaults to application/octet-stream.
Content for the outbound attachments is packaged as a byte array as follows:
• If the property Content-Type is text, content is converted to bytes and the attachment is populated.
TIBCO BusinessConnect SOAP Protocol User’s Guide
Attachment | 137
• If the property Content-Type is binary, content is base64-decoded if it was previously base64-encoded. Otherwise, content is converted to bytes and the attachment is populated.
• If the property Content-Type is unknown, the content type is changed to application/octet-stream, content is converted to bytes, and the attachment is populated.
Inbound Attachments
Inbound attachments are received from public process multipart MIME SOAP messages, which can carry the attachment content either in the text or binary format.
Since the private process has to receive the attachment content as a string, BusinessConnect SOAP Protocoll handles the attachments with the different content types as follows:
• If the attachment content type is text, content is sent to the private process as-is
• If the attachment content type is binary, content is base64-encoded and sent to the private process
• If the attachment content type is unknown, content is Base64 encoded and sent to the private process. In this case, the property Content-Type is changed to application/octet-stream and the content is treated as binary; for example, even if the plain text is received with the property Content-Type described as unknown, this content will be base64-encoded (see Converting Attachments to bas64 Strings on page 137).
Converting Attachments to bas64 Strings
Attachments are converted to base64 string as follows:
1. Content-Transfer-Encoding is inspected. If it is base64, content is sent as is to the private process.
2. Content itself is inspected for base64 characters. If all the characters are in the base64 character range, content will be sent as is. Otherwise, content will be base64 encoded and sent out.
OriginalContentType
For inbound attachments, if the content type is unknown, it will be changed to application/octet-stream. The same will be passed on to the private process in the field Content-Type. Original value received is populated in the OriginalContentType field.
TIBCO BusinessConnect SOAP Protocol User’s Guide
138 | Chapter 10 Private Messages
For text and binary content types, the fields contentType and OriginalContentType for the private process will have the same value. This field will be populated even when the attachment property from the release 5.0 is preserved.
Preserve the SOAP 5.0 Attachment Functionality
BusinessConnect SOAP Protocol version 5.0 processes the attachments as plain strings. For binary attachments this could cause problem if the content is not in Base64 binary format.
However, users can keep 5.0 behavior for a particular partner by setting the BusinessConnect SOAP Protocol Boolean property
bc.soap.<tpname>.enable50Attachment = true.
where <tpname> is the name of the trading partner.
When enabled, the content type that was received will be sent to the private process.
TIBCO BusinessConnect SOAP Protocol User’s Guide
Attachment Object | 139
Attachment Object
The Attachment object (ae/BC/Attachment) has the following fields:
Table 34 Attachment Object
Field Type Description
name String Name of the attachment file
If the name of the attachment is not provided, the attachment name is auto-generated as attachmentindex.content-type.
Example: If the second attachment file name is missing and content-type=image/jpeg, then the name generated for that attachment is attachment2.jpeg.
content-type String Content type of attachment
Examples: image/jpeg and image/gif
content-id String The unique identifier used to identify attachment in outgoing document
content String Actual attachment
All text-based payloads and attachments from the private process to BusinessConnect must be encoded in UTF-8.
Binary attachments should be Base64 encoded.
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
140 | Chapter 10 Private Messages
TradingPartner
The TradingPartner object (ae/BC/TradingPartner) has the following fields:
Table 35 Trading Partner Object
Field Type Description
name String Trading partner name
domain String Trading partner domain
id String Trading partner ID
TIBCO BusinessConnect SOAP Protocol User’s Guide
Attribute | 141
Attribute
The Attribute object (ae/SOAP/Attribute) has the following fields:
Table 36 Attribute Object
Field Type Description
name String The name of the attribute
value String The value associated with the name
TIBCO BusinessConnect SOAP Protocol User’s Guide
142 | Chapter 10 Private Messages
SOAPFault
The SOAPFault object (ae/SOAP/SOAPFault) has the following fields:
Table 37 SOAP Fault Object
Field Type Description
faultCode String SOAP fault code that indicates an error when processing the SOAP header. Example: SOAP-ENV:Server.
faultString String Fault description. Example: Server Error.
faultActor String This element references the sender of the SOAP fault message. It often carries the host name.
If the host cannot be determined, the default host will be used.
faultDetail Detail (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
Detail Class | 143
Detail Class
The Detail class has the following fields:Table 38 Detail Class
Field Type Description
Code String Represents an error code generated while processing the SOAP body element.
Description String Represents the detailed description of the error while processing the SOAP body element.
TIBCO BusinessConnect SOAP Protocol User’s Guide
144 | Chapter 10 Private Messages
TIBCO BusinessConnect SOAP Protocol User’s Guide
| 145
Appendix A Status Codes
This appendix describes the possible values in the statusCode and statusmsg fields. It also explains schema validation errors.
Topics
• statusCode and statusMsg Field Reference, page 146
TIBCO BusinessConnect SOAP Protocol User’s Guide
146 | Appendix A Status Codes
statusCode and statusMsg Field Reference
The statusCode and statusMsg fields are used in private messages that are sent in response to a request. See Responder Inbound Request — BusinessConnect to Private Process on page 127 and Responder Outbound Response — Private Process to BusinessConnect on page 130 for examples of this.
The following values may display in the statusCode and statusMsg fields:
Table 39 statusCode and statusMsg Fields (Sheet 1 of 6)
Code(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
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
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
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
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
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
152 | Appendix A Status Codes
TIBCO BusinessConnect SOAP Protocol User’s Guide
| 153
Appendix B Schema Validation
This appendix explains how to perform schema validation with BusinessConnect SOAP Protocol.
Topics
• Overview, page 154
• Schema Validation Errors, page 155
TIBCO BusinessConnect SOAP Protocol User’s Guide
154 | Appendix B Schema Validation
Overview
When schema validation is selected, it is performed on the SOAP header, SOAP body, or both.
When validation is enabled, at least one of the schemas (body or header) must be populated. If schema validation is selected and the schema is not uploaded, the schema validation for that part (body or header) will be ignored. Schema validation will fail if schema is uploaded for that part (body or header) in the GUI and message does not have that part.
TIBCO BusinessConnect SOAP Protocol User’s Guide
Schema Validation Errors | 155
Schema Validation Errors
This section explains SOAP fault and SOAP advisory messages that appear if schema validation fails.
Schema validation errors are accessed through the log viewer using TIBCO Administrator.
• If schema validation fails on the Initiator side for an outbound SOAP message, the SOAP advisory message on the ERROR subject on the Initiator side will have the complete details of the schema validation errors. These details will be posted in the field statusMsg of the SOAP/Advisory AE message.
• If the schema validation fails on the Responder side for an inbound SOAP message, (SOAP message from the public process), a SOAP fault is sent to the trading partner. The SOAP fault detail will have the complete schema validation error.
A sample SOAPFault message structure with fault detail looks as follows:
<SOAP-ENV: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
156 | Appendix B Schema Validation
• If the schema validation fails when processing response message from the private process on the Responder side, a SOAP fault is sent with the fault string, Response not conforming to schema. This SOAP fault message will not have fault detail.
A SOAP/Advisory AE message will be published on the ERROR subject with the schema validation errors in the statusMsg element.
• If the schema validation fails when processing a response message on the Initiator side, a SOAP/Advisory AE message is published on the ERROR subject with schema validation errors in the statusMsg element.
TIBCO BusinessConnect SOAP Protocol User’s Guide
| 157
Appendix C BusinessConnect SOAP Protocol WSDL Tool
This appendix gives an introduction to BusinessConnect SOAP Protocol WSDL Tool and shows how to use it to export and import WSDL files.
Topics
• Overview, page 158
• WSDL Import, page 159
• WSDL Export, page 161
TIBCO BusinessConnect SOAP Protocol User’s Guide
158 | Appendix C BusinessConnect SOAP Protocol WSDL Tool
Overview
The BusinessConnect SOAP Protocol WSDL Tool allows users to import and export WSDL files into BusinessConnect configuration.
The BusinessConnect SOAP Protocol WSDL tool does not take care of setting certificates for participants. After the import, you must explicitly set certificates for the HTTPS/HTTPSCA transports.
TIBCO BusinessConnect SOAP Protocol User’s Guide
WSDL Import | 159
WSDL Import
To import WSDL files into BusinessConnect configuration, use the following commands:
Windows Platform:\tibco\bc\version\protocols\soap\tools\wsdl\wsdlimport.exe
UNIX Platform :\tibco\bc\version\protocols\soap\tools\wsdl\wsdlimport
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
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
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
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
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
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
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
166 | Index
TIBCO BusinessConnect SOAP Protocol User’s Guide