Sunteți pe pagina 1din 184

TIBCO BusinessConnect SOAP Protocol Users Guide

Software Release 5.1.0 January 2008

Important Information
SOME TIBCO SOFTWARE EMBEDS OR BUNDLES OTHER TIBCO SOFTWARE. USE OF SUCH EMBEDDED OR BUNDLED TIBCO SOFTWARE IS SOLELY TO ENABLE THE FUNCTIONALITY (OR PROVIDE LIMITED ADD-ON FUNCTIONALITY) OF THE LICENSED TIBCO SOFTWARE. THE EMBEDDED OR BUNDLED SOFTWARE IS NOT LICENSED TO BE USED OR ACCESSED BY ANY OTHER TIBCO SOFTWARE OR FOR ANY OTHER PURPOSE. USE OF TIBCO SOFTWARE AND THIS DOCUMENT IS SUBJECT TO THE TERMS AND CONDITIONS OF A LICENSE AGREEMENT FOUND IN EITHER A SEPARATELY EXECUTED SOFTWARE LICENSE AGREEMENT, OR, IF THERE IS NO SUCH SEPARATE AGREEMENT, THE CLICKWRAP END USER LICENSE AGREEMENT WHICH IS DISPLAYED DURING DOWNLOAD OR INSTALLATION OF THE SOFTWARE (AND WHICH IS DUPLICATED IN TIBCO BUSINESSCONNECT TM SOAP PROTOCOL USER"S GUIDE) OR IF THERE IS NO SUCH SOFTWARE LICENSE AGREEMENT OR CLICKWRAP END USER LICENSE AGREEMENT, THE LICENSE(S) LOCATED IN THE LICENSE FILE(S) OF THE SOFTWARE. USE OF THIS DOCUMENT IS SUBJECT TO THOSE TERMS AND CONDITIONS, AND YOUR USE HEREOF SHALL CONSTITUTE ACCEPTANCE OF AND AN AGREEMENT TO BE BOUND BY THE SAME. This document contains confidential information that is subject to U.S. and international copyright laws and treaties. No part of this document may be reproduced in any form without the written authorization of TIBCO Software Inc. TIB, TIBCO, TIBCO Adapter, Predictive Business, Information Bus, The Power of Now, TIBCO BusinessConnect, TIBCO Runtime Agent, TIBCO BusinessWorks, TIBCO Administrator, TIBCO Designer, TIBCO Rendezvous, and TIBCO Enterprise Message Service are either registered trademarks or trademarks of TIBCO Software Inc. in the United States and/or other countries. EJB, Java EE, J2EE, and all Java-based trademarks and logos are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries. All other product and company names and marks mentioned in this document are the property of their respective owners and are mentioned for identification purposes only. THIS SOFTWARE MAY BE AVAILABLE ON MULTIPLE OPERATING SYSTEMS. HOWEVER, NOT ALL OPERATING SYSTEM PLATFORMS FOR A SPECIFIC SOFTWARE VERSION ARE RELEASED AT THE SAME TIME. SEE THE README.TXT FILE FOR THE AVAILABILITY OF THIS SOFTWARE VERSION ON A SPECIFIC OPERATING SYSTEM PLATFORM. THIS DOCUMENT IS PROVIDED AS IS WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT. THIS DOCUMENT COULD INCLUDE TECHNICAL INACCURACIES OR TYPOGRAPHICAL ERRORS. CHANGES ARE PERIODICALLY ADDED TO THE INFORMATION HEREIN; THESE CHANGES WILL BE INCORPORATED IN NEW EDITIONS OF THIS DOCUMENT. TIBCO SOFTWARE INC. MAY MAKE IMPROVEMENTS AND/OR CHANGES IN THE PRODUCT(S) AND/OR THE PROGRAM(S) DESCRIBED IN THIS DOCUMENT AT ANY TIME. THE CONTENTS OF THIS DOCUMENT MAY BE MODIFIED AND/OR QUALIFIED, DIRECTLY OR INDIRECTLY, BY OTHER DOCUMENTATION WHICH ACCOMPANIES THIS SOFTWARE, INCLUDING BUT NOT LIMITED TO ANY RELEASE NOTES AND "READ ME" FILES. Copyright 1999-2008 TIBCO Software Inc. ALL RIGHTS RESERVED. TIBCO Software Inc. Confidential Information

Contents iii

Contents

Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii


Related Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BusinessConnect SOAP Protocol Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Other TIBCO Product Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Third Party Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiv xiv xiv xv

Typographical Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvi How to Contact TIBCO Support. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii

Chapter 1 Introduction to SOAP and BusinessConnect SOAP Protocol 1


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

Chapter 2 Tutorial Standalone Private Processes 11


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

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

TIBCO BusinessConnect SOAP Protocol Users Guide

iv

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

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

Chapter 3 Tutorial BusinessWorks Private Processes 35


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

Running the Tutorial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Running the TIBCO BusinessWorks Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Viewing the Audit Logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

Chapter 4 Preparing Information with Your Trading Partners 49


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

Chapter 5 Managing SOAP Operations 53


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Creating a SOAP Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 Adding a Version to an Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 Adding an Operation to a Version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
TIBCO BusinessConnect SOAP Protocol Users Guide

Contents v

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

Chapter 6 Setting Up Trading Hosts and Partners 73


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

Chapter 7 Configuring Agreement Protocol Bindings 81


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

Chapter 8 Viewing Logs 89


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

TIBCO BusinessConnect SOAP Protocol Users Guide

vi

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

Chapter 10 Private Messages 119


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 Initiator Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 Initiator Outbound Request Private Process to BusinessConnect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 Initiator Inbound Response BusinessConnect to Private Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 Responder Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Responder Inbound Request BusinessConnect to Private Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . Responder Outbound Response Private Process to BusinessConnect . . . . . . . . . . . . . . . . . . . . . . . . . Responder Acknowledgement BusinessConnect to Private Process . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 127 130 132

General Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 Advisory Message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 Attachment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 Attachment Object. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 TradingPartner. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 Attribute. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 SOAPFault . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 Detail Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143

Appendix A Status Codes 145


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

Appendix B Schema Validation 153


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

TIBCO BusinessConnect SOAP Protocol Users 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 Users Guide

viii

| Contents

TIBCO BusinessConnect SOAP Protocol Users Guide

Figures ix

Figures

Figure 1 Figure 2 Figure 3 Figure 4 Figure 5 Figure 6 Figure 7 Figure 8 Figure 9 Figure 10 Figure 11 Figure 12 Figure 13 Figure 14 Figure 15 Figure 16 Figure 17 Figure 18 Figure 19 Figure 20 Figure 21 Figure 22 Figure 23 Figure 24 Figure 25 Figure 26 Figure 27 Figure 28

Synchronous Request-Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Notification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Request Response Operation POSync . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Imported Operations PONotify and POSync . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Audit Logs Search on the Initiator Side . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 Transaction Detail on the Initiator Side . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 Audit Log Search on the Responder Side . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Transaction Detail on the Responder Side . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Notify Message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Imported Operations for SOAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Verify Trading Partners Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Send Notify. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Receive Notification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Receive Request and Send Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 Test Send Notify. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Audit Logs Search on the Initiator Side . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 Transaction Detail on the Initiator Side . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 Audit Log Search on the Responder Side . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 Transaction Detail on the Responder Side . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 Create a SOAP Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 New Interface POInterface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 Add a Version to an Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 New Interface Version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 Add an Operation to a Version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 Import Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 Export SOAP Interface, Version, or Operation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 Edit Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 Edit Notify Operation: Notify . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
TIBCO BusinessConnect SOAP Protocol Users Guide

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

TIBCO BusinessConnect SOAP Protocol Users Guide

Tables xi

Tables

Table 1 Table 1 Table 2 Table 3 Table 4 Table 5 Table 6 Table 7 Table 8 Table 9 Table 10 Table 11 Table 12 Table 13 Table 14 Table 15 Table 16 Table 17 Table 18 Table 19 Table 20 Table 21 Table 22 Table 23 Table 24 Table 25 Table 26 Table 27

General Typographical Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvi Notify Operation Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 Notify Request Action Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 Synchronous Request-Response Operation Tab. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 Request Action Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 Response Action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 Configuring a Host: General Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 Configuring a Partner: General Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 Operation Bindings Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 Override Outbound Settings: Operation Settings Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 Override Outbound Settings: Transports Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 Override Inbound Settings: Operation Settings Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 Transports Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 Show Advanced: Hosts Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 Show Advanced: Partners Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 Audit Log: Search Transactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 Audit Log: Advanced Search Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 Audit Log Columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 Transaction Detail Columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 State Field Values for Initiator Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 State Field Values for Responder Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 Non-Repudiation Log: Search Transactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 Non-Repudiation Log: Advanced Search Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 Resend Log: Resendable Transactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 State Values for Resend Logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 Resend Log: Advanced Search Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 Resend Log: Resend History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 Resend Log: Advanced Search Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
TIBCO BusinessConnect SOAP Protocol Users Guide

xii

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

TIBCO BusinessConnect SOAP Protocol Users 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 Users Guide

xiv

Preface

Related Documentation
This section lists documentation resources that you may find useful.

BusinessConnect SOAP Protocol Documentation


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

Other TIBCO Product Documentation


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

TIBCO BusinessConnect SOAP Protocol Users Guide

Related Documentation xv

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

Third Party Documentation


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

TIBCO BusinessConnect SOAP Protocol Users Guide

xvi

Preface

Typographical Conventions
The following typographical conventions are used in this manual. Table 1 General Typographical Conventions Convention
code font

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

bold code font

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

xviii

Preface

TIBCO BusinessConnect SOAP Protocol Users 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 Users Guide

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

BusinessConnect SOAP Protocol Overview 3

BusinessConnect SOAP Protocol Overview


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

SOAP Message Security 1.1


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

TIBCO BusinessConnect SOAP Protocol Users Guide

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

BusinessConnect SOAP Protocol Messages 5

BusinessConnect SOAP Protocol Messages


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

Private Messages and Processes


Private messages are exchanged between a private process and BusinessConnect. For a detailed description of BusinessConnect SOAP Protocol private messages, see Chapter 10, Private Messages, page 119. Private messages can contain a request, a response, or a notification document. Private processes handle conversion from internal to public data and back. On the Initiator side, the private process converts internal data to a SOAP request, an acceptance, or a notification document. On the Responder side, the private process receives a SOAP request, converts it to internal company format, receives back a response from inside the company, and converts it to SOAP format.

The following private processes are available with BusinessConnect SOAP Protocol:
Standalone Standalone private processes use TIBCO Rendezvous Certified Messaging to communicate with BusinessConnect SOAP Protocol. For an example, see Chapter 2, Tutorial Standalone Private Processes, on page 11. BusinessWorks The BusinessWorks processes can send requests to BusinessConnect SOAP Protocol, or receive replies from BusinessConnect SOAP Protocol. For an example, see Chapter 3, Tutorial BusinessWorks Private Processes, on page 35.

Public Messages
Public messages are exchanged over the Internet between two BusinessConnect installations. These can use the HTTPS or HTTP transport protocols. Synchronous request-response and notify transaction types are supported.

TIBCO BusinessConnect SOAP Protocol Users Guide

| Chapter 1

Introduction to SOAP and BusinessConnect SOAP Protocol

Operation Types and Process Flows


When you use BusinessConnect to send a SOAP document to a partner, you use different operation types for different kinds of transactions. There are two operation types in SOAP:
Notify Use this operation when the Initiator just wants an acknowledgment from the Responder to verify business document receipt. Synchronous request-response Use this operation when the Initiator and the Responder need to do a more complex business exchange of business documents.

Notify Operations
The following process flow occurs in a notify operation: 1. A private process inside the initiating company sends a message to the local BusinessConnect. See Initiator Outbound Request Private Process to BusinessConnect on page 121 for details. 2. The Initiator BusinessConnect retrieves relevant information and sends the message to the Responder BusinessConnect. 3. The Responder BusinessConnect then forwards the message to the local private process. See Responder Inbound Request BusinessConnect to Private Process on page 127. The Responder BusinessConnect considers the operation complete. 4. The Responder BusinessConnect immediately sends a transport response (acknowledgment) to the Initiator on the same channel as the Initiator business request. 5. Alternatively, if the Responder BusinessConnect could not process the notify operation, BusinessConnect SOAP Protocol sends a SOAP Fault to the Initiator.

TIBCO BusinessConnect SOAP Protocol Users Guide

Operation Types and Process Flows 7

Synchronous Request-Response Operations


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

field to generate the public SOAPFault response message. 6. The Responder BusinessConnect forwards the business response from the local private process on the same channel to the Initiators 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 Users Guide

| Chapter 1

Introduction to SOAP and BusinessConnect SOAP Protocol

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

Scenario 1: Synchronous Request-Response


For asynchronous request-response operation, you can specify the following: For the Initiator: Response Wait Time to Wait between Retransmits Number of Retries For the Responder: Private Process Wait Figure 1 Synchronous Request-Response
Request # of retires
Time to wait between retransmits Initiator Private Process wait Response wait

Response
Responder

From Initiator From the Initiator, an operation is processed with the following timing restrictions: 1. The Initiator sends out a request to the Responder. 2. If communication cannot be established, a specified number of retries occurs.

TIBCO BusinessConnect SOAP Protocol Users Guide

Operation Types and Process Flows 9

From Responder From the Responder, an operation is processed with the following timing restrictions: 1. The Initiator sends out a request to the Responder. 2. The Responder BusinessConnect server hands off the document to the Responder private process. 3. The Responder private process returns the response to the Initiator BusinessConnect server. The time between the request sent to the private process and the response from by the private process can be specified as the Private Process Wait. 4. Unless a transport-level error is returned, the Responder sends an acknowledgment to the local private process.

Scenario 2: Notification
When you are defining a notify operation, you cannot configure the timing restrictions. The flow of information and the associated predefined timing restrictions are as shown in Figure 2. Figure 2 Notification
Notification # of retires
Acknowledgement wait

Acknowledgement
Initiator Responder

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

TIBCO BusinessConnect SOAP Protocol Users Guide

10

| Chapter 1

Introduction to SOAP and BusinessConnect SOAP Protocol

TIBCO BusinessConnect SOAP Protocol Users 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 Users Guide

12

| Chapter 2

Tutorial Standalone Private Processes

Overview
This chapter provides a short tutorial that demonstrates how to use an operation to send a sample document from a trading host to a trading partner.

Operations
Two operations are defined in the sample interface file:
PONotify This operation is used when the Initiator just wants an acknowledgment from the Responder to verify business document receipt. POSync This is a synchronous request-response operation that is used when

the Initiator and the Responder need to do a more complex business exchange of business documents. Only the POSync operation is used in this tutorial.

Trading Partners
The trading host is known as the Initiator. The trading partner is known as the Responder. Using the notify operation, the Initiator sends a document to the Responder, which then provides the Initiator with an acknowledgment that the business document has been received. This tutorial includes the sample Initiator, Responder and operation configuration files along with the standalone Initiator and Responder private processes. Two machines are used in the tutorial: an Initiator machine and a Responder machine. Each machine hosts a private process and BusinessConnect.

Transactions
The POSync operation consists of the following transactions: 1. The Initiator private process sends a message to BusinessConnect. 2. The Initiator BusinessConnect sends the message to the Responder BusinessConnect. 3. The Responder BusinessConnect then sends the message to the Responder private process. 4. The Responder private process sends a response to the Responder BusinessConnect.
TIBCO BusinessConnect SOAP Protocol Users 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
Private Process Outbound Request TIBCO BusinessWorks Send RequestResponse

Company A

1 7

BusinessConnect SOAP Protocol

Internet

Private Process Inbound Request BusinessWorks

3
Legend Request Response ACK BusinessConnect SOAP Protocol

Receive Request

4
Send Response

6
Company B

TIBCO BusinessConnect SOAP Protocol Users Guide

14

| Chapter 2

Tutorial Standalone Private Processes

Initiator Machine
The following sample files for the Initiator machine are used in the tutorial and available in BC_install_dir\protocols\soap\samples\client:
SOAPClient.properties

Contains information on the operation ID, trading

partner, and attachments.


runSOAPClient.bat operations.csx

or runSOAPClient Executes the Initiator.

Contains sample SOAP operations to be imported by the

Initiator.

Responder Machine
The following sample files for the Responder machine are used in the tutorial and available in BC_install_dir\protocols\soap\samples\server:
SOAPServer.properties runSOAPServer.bat operations.csx

Contains information on attachments.

or runSOAPServer Executes the Responder.

Contains sample SOAP operations to be imported by the

Responder.

TIBCO BusinessConnect SOAP Protocol Users 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 Users Guide

16

| Chapter 2

Tutorial Standalone Private Processes

Configuring the Initiator


This section steps you through the activities you need to perform to configure the Responder trading partner: 1. Importing Operations on the Initiator on page 16 2. Setting Up the Initiator as a Trading Host, page 17 3. Setting Up Initiator Server, page 18 4. Setting Up the Responder as a Trading Partner, page 19 5. Configuring the Business Agreement Between the Initiator and Responder, page 20.

Importing Operations on the Initiator


Two operations are defined in the sample interface file:
PONotify

This operation is used when the Initiator just wants an acknowledgment from the Responder to verify business document receipt. 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.

POSync

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

Configuring the Initiator 17

9. Click Import. The Edit Operations dialog appears with imported operations. Figure 4 Imported Operations PONotify and POSync

10. Click Done.

Setting Up the Initiator as a Trading Host


On the Initiator machine, you will set up the Initiator as a trading host. Setting up the Responder as the Initiators 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 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. Set Up Initiator Host, page 17 Set Up the SOAP Protocol for the Initiator Host, page 18

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

18

| Chapter 2

Tutorial Standalone Private Processes

6. In the New Host Participant dialog with the participant name SOAPClient, select the Active checkbox. 7. Click Save. 8. Click the BusinessConnect > System Settings link in the left panel. 9. Click the General Settings link in the right panel. 10. Confirm that SOAPClient is selected in the Default Host dropdown list. 11. Click Save. Set Up the SOAP Protocol for the Initiator Host 1. Click the BusinessConnect > Participants link in the left panel. 2. Click the SOAPClient link in the right panel. 3. Click the Protocols tab. 4. Verify that SOAP is listed in the Protocol Name list. If SOAP does not appear in the list of protocols: a. Click Enable. b. Select the SOAP checkbox. c. Click Save.

Setting Up Initiator Server


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

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

TIBCO BusinessConnect SOAP Protocol Users 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 Users 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 Responders deployment configuration and is set to 6700 by default. Example:
http://www.widgets.com:6700/SOAP

10. Click Save twice.

Configuring the Business Agreement Between the Initiator and Responder


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

TIBCO BusinessConnect SOAP Protocol Users Guide

Configuring the Responder 21

Configuring the Responder


This section steps you through the activities you need to perform to configure the Responder trading partner: 1. Importing Operations on the Responder on page 21 2. Setting Up the Responder as a Trading Host, page 21 3. Setting Up Responder Server, page 23 4. Setting Up the Initiator as a Trading Partner, page 23 5. Configuring the Business Agreements Between the Initiator and Responder, page 24.

Importing Operations on the Responder


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

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

Setting Up the Responder as a Trading Host


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

TIBCO BusinessConnect SOAP Protocol Users 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 Users Guide

Configuring the Responder 23

Setting Up Responder Server


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

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

Setting Up the Initiator as a Trading Partner


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

Setting Up the Initiator Partner 1. Click the BusinessConnect > Participants link in the left panel. 2. Click the New button. 3. Type SOAPClient in the Participant Name field. 4. Select Partner in the Participant Type dropdown list.
TIBCO BusinessConnect SOAP Protocol Users 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 Initiators deployment configuration and is set to 6700 by default. Example:
http://www.acme.com:6700/SOAP

10. Click Save twice.

Configuring the Business Agreements Between the Initiator and Responder


1. Click the BusinessConnect > Business Agreements link in the left panel. 2. Click the New button. 3. Select the SOAPServer radio button in the Host Party area and the SOAPClient radio button in the Partner Party area. 4. Click OK. 5. In the New Agreement dialog, click the Add Protocol Binding button.
TIBCO BusinessConnect SOAP Protocol Users 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 Users Guide

26

| Chapter 2

Tutorial Standalone Private Processes

Running the Tutorial


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

replace %%BC_INSTANCE% with the name of your installation, such as BC-Responder. In the line SET
JDK_DIR = %%JDK_DIR%%

replace %%JDK_DIR%% with JAVA_directory, such as C:\tibco\jre\1.5.0 In the line SET


RV_DIR=%%RV_DIR%%

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


C:\tibco\TIBRV.

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


@ECHO OFF SET BC_INSTANCE=BC-Responder SET JDK_DIR=C:\tibco\jre\1.5.0 SET RV_DIR=C:\tibco\TIBRV SET CLASSPATH=.;%RV_DIR%\lib\tibrvj.jar;%CLASSPATH% %JDK_DIR%\bin\java SOAPServer SOAPServer.properties %BC_INSTANCE% body.xml header.xml

3. Using the command line interface, start the Responder private process on the Responder machine by executing the following command: on Windows: BC_install_dir\protocols\soap\samples\server\
runsoapserver.bat

on UNIX: BC_install_dir\protocols\soap\samples\server\
runsoapserver

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

TIBCO BusinessConnect SOAP Protocol Users Guide

Running the Tutorial 27

Example: runsoapserver
C:\tibco\bc\5.1\protocols\soap\samples\server>runsoapserver.bat **** SOAP Server Private Process ***** listening on: AX.BC.BC-Responder.SOAP.RESPONDER.REQUEST

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

replace %%BC_INSTANCE% with the name of your installation, such as BC-Initiator. In the line SET
JDK_DIR = %%JDK_DIR%%

replace %%JDK_DIR%% with JAVA_directory, such as C:\tibco\jre\1.5.0. In the line SET


RV_DIR=%%RV_DIR%%

replace the value %%RV_DIR%% with the RV library location, such as C:\tibco\TIBRV. A sample edited file runSOAPClient.bat looks such as follows:
@ECHO OFF SET BC_INSTANCE=BC-Initiator SET JDK_DIR=C:\tibco\jre\1.5.0 SET RV_DIR=C:\tibco\TIBRV TITLE SOAP Client private process SET CLASSPATH=.;%RV_DIR%\lib\tibrvlib.jar;%CLASSPATH% %JDK_DIR%\bin\java SOAPClient SOAPClient.properties %BC_INSTANCE% body.xml header.xml

5. On the Initiator machine, start the Initiator private process by executing the following command: on Windows: BC_install_dir\protocols\soap\samples\client\
runSOAPClient.bat

on UNIX:

TIBCO BusinessConnect SOAP Protocol Users Guide

28

| Chapter 2

Tutorial Standalone Private Processes

BC_install_dir\protocols\soap\samples\client\
runsoapclient

In this example, the following will be processed: The operation POSync containing a purchase order for five copies of a word processing application is sent from the Initiator to the Responder The Responder confirms the receipt of that order The Responder sends an invoice to the Initiator The following text will be displayed: Example: runSOAPClient
t

**** SOAPClient Private Process ***** listening on: AX.BC.BC-Initiator.SOAP.INITIATOR.RESPONSE Hit [Enter] to send request: Sending request... publishing on subject: AX.BC.BC-Initiator.SOAP.INITIATOR.REQUEST Sending request: Trading partner: SOAPServer Operation ID: POInterface/1.0/POSync Header: <ep:endpoints xmlns:ep="http://user.org/header" > <ep:to> <ep:address> <name>Book Orders</name> <street>1st Street</street> <city>New York</city> <zip>1111</zip> </ep:address> </ep:to> <ep:from> <ep:address> <name>Book Lovers</name> <street>1st Street</street> <city>Los Angeles</city> <zip>90210</zip> </ep:address> </ep:from> </ep:endpoints> <prop:properties xmlns:prop = "http://user.org/header" > <identity>uuid:74b9f5d0-33fb-4a81-b02b-5b760641c1d6</identity> <sentAt>2000-05-14T03:00:00+08:00</sentAt> <expiresAt>2000-05-15T04:00:00+08:00</expiresAt> <topic>http://electrocommerce.org/purchase_order/</topic> </prop:properties>

Body: <cpo:CommonPO xmlns:cpo="http://po.org/body" > <cpo:POHeader CreationDate="2000-06-23" Number="12345" Purpose="PO" Type=" EZ" />

TIBCO BusinessConnect SOAP Protocol Users Guide

Running the Tutorial 29

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

Attachment : po.txt Attachment : image.gif

Hit [Enter] to send request: Received message from BusinessConnect: Status code: 200 Status message: OK operation id: POInterface/1.0/POSync transaction id: 8ae924d70cb0cb32010cb16aac8001d4 response header: <ep:endpoints xmlns:ep="http://user.org/header"> <ep:to> <ep:address> <name>Book Orders</name> <street>1st Street</street> <city>New York</city> <zip>1111</zip> </ep:address> </ep:to> <ep:from> <ep:address> <name>Book Lovers</name> <street>1st Street</street> <city>Los Angeles</city> <zip>90210</zip> </ep:address> </ep:from> </ep:endpoints> response: <ci:CommonInvoice xmlns:ci="http://ci.org/body"> <ci:InvoiceHeader Date="2000-05-16" Number="12345" PODat e="2000-05-16" PONumber="12345" Type="EZ" ShipDate="2000-05-16"></ci:InvoiceHead er> <ci:Seller ContactType="CT" ContactName="BonifazLuis" Co ntactNumber="12345"></ci:Seller> <Buyer></Buyer> <ci:Item> <ci:ItemHeader LineNumber="1" Quantity="5" Price ="99.95" UnitOfMeasure="EA" QuantityDiff="10"></ci:ItemHeader> <ci:ItemTaxReference Description="VAT" Amount="3 .75"></ci:ItemTaxReference> <ci:ItemDescription Type="F" Description="Word P

TIBCO BusinessConnect SOAP Protocol Users Guide

30

| Chapter 2

Tutorial Standalone Private Processes

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

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


**** SOAP Server Private Process ***** listening on: AX.BC.BC-Responder.SOAP.RESPONDER.REQUEST Request header: <ep:endpoints xmlns:ep="http://user.org/header"> <ep:to> <ep:address> <name>Book Orders</name> <street>1st Street</street> <city>New York</city> <zip>1111</zip> </ep:address> </ep:to> <ep:from> <ep:address> <name>Book Lovers</name> <street>1st Street</street> <city>Los Angeles</city> <zip>90210</zip> </ep:address> </ep:from> </ep:endpoints><prop:properties xmlns:prop="http://user.org/header"> <identity>uuid:74b9f5d0-33fb-4a81-b02b-5b760641c1d6</identity> <sentAt>2000-05-14T03:00:00+08:00</sentAt> <expiresAt>2000-05-15T04:00:00+08:00</expiresAt> <topic>http://electrocommerce.org/purchase_order/</topic> </prop:properties> request body: <cpo:CommonPO xmlns:cpo="http://po.org/body"> <cpo:POHeader CreationDate="2000-06-23" Number="12345" Purpose="PO" Type=" EZ"></cpo:POHeader> <cpo:BillTo></cpo:BillTo> <cpo:ShipTo ContactName="BonifazLuis" ContactNumber="12345" ContactType="C T"></cpo:ShipTo> <cpo:Item> <cpo:ItemHeader ExtendedPrice="499.75" Price="99.95" Quantity="5" UnitOf Measure="EA"></cpo:ItemHeader> <cpo:ItemDescription Description="Word Processing Application" Type="F"> </cpo:ItemDescription> </cpo:Item> <cpo:Total LineItemTotal="87" POTotal="544.15" QuantityTotal="34">12.34</ cpo:Total> </cpo:CommonPO> operation ID: POInterface/1.0/POSync closure:8ae9266f0cb0d114010cb16747a701d5 Attachment saved to file po.txt

TIBCO BusinessConnect SOAP Protocol Users Guide

Running the Tutorial 31

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

Sending response... publishing on subject: AX.BC.BC-Responder.SOAP.RESPONDER.RESPONSE response header: <ep:endpoints xmlns:ep="http://user.org/header"> <ep:to> <ep:address> <name>Book Orders</name> <street>1st Street</street> <city>New York</city> <zip>1111</zip> </ep:address> </ep:to> <ep:from> <ep:address> <name>Book Lovers</name> <street>1st Street</street> <city>Los Angeles</city> <zip>90210</zip> </ep:address> </ep:from> </ep:endpoints>

response:

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

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

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

TIBCO BusinessConnect SOAP Protocol Users Guide

32

| Chapter 2

Tutorial Standalone Private Processes

# # SOAP Client Private process property file. # #client.operationID: POInterface/1.0/PONotify client.operationID: POInterface/1.0/POSync client.tradingPartnerID:SOAPServer client.encoding:ISO8859_1 #client.transactionID:uuid:1234567917 attachment1.name:po.txt attachment1.contentID:<process-1@xyz.com> attachment1.contentType:text/plain attachment2.name:image.gif attachment2.contentID:<process-2@xyz.com> attachment2.contentType:binary

2. Comment out one of the two following lines:


#client.operationID: POInterface/1.0/PONotify

or
#client.operationID: POInterface/1.0/POSync

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

Viewing the Audit Logs


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

TIBCO BusinessConnect SOAP Protocol Users 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 Users 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 Users 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 Users 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. 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.

POSync

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

Overview 37

To use BusinessWorks as a private process, you must first create a local SOAP connection. The connection provides information about the directory where the BusinessConnect configuration store is located, the configuration store instance name, protocol to use, and BusinessConnect installation name. You can also create a remote SOAP connection if your BusinessConnect installation is not on your local machine. An example remote SOAP connection is included in the sample project. To use the remote connection, you must provide the subject name and remote TIBCO Rendezvous daemon host name.

Transactions
The PONotify operation consists of the following transactions: 1. The Initiator private process sends a message to BusinessConnect. 2. The Initiator BusinessConnect sends the message to the Responder BusinessConnect. 3. The Responder BusinessConnect then sends the message to the Responder private process. 4. After the message is received, the Responder BusinessConnect sends an acknowledgement (ack) back to the Initiator BusinessConnect. A detailed diagram of the PONotify operation is displayed in Figure 9. Figure 9 Notify Message
Private Process Outbound Request TIBCO BusinessWorks

Company A

1
Send Notify

BusinessConnect SOAP Protocol

2
Internet

4
Legend Notify ACK BusinessConnect SOAP Protocol

Company B
BusinessWorks

Receive Notification

Private Process Inbound Request

TIBCO BusinessConnect SOAP Protocol Users Guide

38

| Chapter 3

Tutorial BusinessWorks Private Processes

Setting Up the Tutorial


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

Prerequisites
To run this tutorial you must satisfy the following prerequisites: Make sure that you have satisfied all prerequisites listed in Prerequisites on page 15 Install BusinessConnect Palette

Configure the Machines


If you did not configure the Initiator and Responder machines yet, refer to the following sections: Configuring the Initiator, page 16 Configuring the Responder, page 21

Once both machines are configured, proceed with Configuring BusinessWorks Private Processes on page 39.

TIBCO BusinessConnect SOAP Protocol Users Guide

Configuring BusinessWorks Private Processes 39

Configuring BusinessWorks Private Processes


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

Unzipping the Project Archive


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

Setting the Global Variable


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

Configuring Connections to BusinessConnect


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

TIBCO BusinessConnect SOAP Protocol Users 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 Users 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 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 partners name. 3. Select the Input tab. The Input values will be displayed, as shown in Figure 11. Figure 11 Verify Trading Partners Name to save the project.

4. Make sure that you have the correct tpName for the action Send Request, which is SOAPServer. 5. Change the name if needed, and click Apply.

TIBCO BusinessConnect SOAP Protocol Users Guide

42

| Chapter 3

Tutorial BusinessWorks Private Processes

Initiator Process Definitions


The Initiator process definitions can be accessed from the TIBCO Designer project panel under the Initiator folder. The following processes are available: Send Notify 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 Initiators BusinessConnect, as shown in Figure 12. Figure 12 Send Notify Send Notify (used in this tutorial) Send Request and Receive Response

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 partners BusinessConnect, which sends the message to the trading partners 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 Initiators BusinessConnect. The activity then waits for the response from the trading partner. When the response document arrives, the Initiators BusinessConnect validates the response document for syntactical correctness and sends it to the BusinessWorks process.

TIBCO BusinessConnect SOAP Protocol Users Guide

Configuring BusinessWorks Private Processes 43

The document is received by the Send Request/Notification activity, which is waiting for the response. The response document is saved in the directory BC_install_dir\protocols\soap\samples\client. Receive Response The response from the trading partner could be a SOAP message with a business document or a SOAPFault. If the trading partner response is SOAPFault, BusinessConnect sends this fault message to the BusinessWorks process. The Send Request/Notification activity parses the fault message. The fault message fields can be retrieved from this activity.

Responder Process Definitions


The Responder process definitions can be accessed from the TIBCO Designer project panel under the Responder folder. The following processes are available: Receive Notification 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 Receive Notification (used in this tutorial) Receive Request and Send Response

When the Responders 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 Users 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 Responders 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 Users 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 Users 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 Responders BusinessConnect server and its private process, the line turns green and continues. When processing ends, the process receives a response. If something fails at the Responder machine, it is likely that nothing will be returned from the Responder, and that the Send Request activity times out.

Viewing the Audit Logs


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

TIBCO BusinessConnect SOAP Protocol Users 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 Users 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 Users 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 Users 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 Users 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 Users 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 partners 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 partners 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 Users 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 Users 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 Users 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 Users 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 Users 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 Users 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 Users Guide

SOAP Operation Properties 59

SOAP Operation Properties


BusinessConnect SOAP Protocol supports neither the RC2 family of encryption algorithms, nor the MD5 digest algorithm for signatures. Signing and encryption can be enabled for an operation using the Request Action tab for the Notify operation, and using the Request Action and Response Action tabs for the synchronous Request-Response operation. Both the request and response messages can be signed and encrypted. Details are explained in the fields Require Digital Signature and Require Content Encryption for these tabs: Notify Request Action Tab on page 60 Request Action Tab on page 62 Response Action Tab on page 64

For more information on how to set certificates and keys for signing and encryption refer to Document Security Tab on page 86. If both 'Require Digital Signature' and 'Require Content Encryption' check boxes are cleared on inbound, any message will be accepted.

Notify Operation
For information on validating schemas, see Appendix B, Schema Validation, on page 153. Notify Operation Tab Use the Notify Operation tab to specify general information about the operation that BusinessConnect receives. Table 1 Notify Operation Tab Field Name Description Description Name of the operation Description for the operation

TIBCO BusinessConnect SOAP Protocol Users Guide

60

| Chapter 5

Managing SOAP Operations

Table 1 Notify Operation Tab Field SOAPAction Description This field specifies the value of the SOAPAction HTTP Request header field of the SOAP message. It can be used to indicate the intent of the SOAP HTTP request and its value is a URI identifying the intent. See the SOAP 1.1 specification at http://www.w3.org/TR/soap/ for more information. Notify Request Action Tab Use the Notify Request Action tab to specify how BusinessConnect processes a message. Table 2 Notify Request Action Tab Field Name Description Direction Require Digital Signature Require Content Encryption Validate Message Description Name of the operation Description for the operation Initiator to Responder (preset) If selected, this option will sign the outgoing messages and force the incoming messages to be signed. If selected, this option will encrypt the outgoing messages and force the incoming messages to be encrypted. 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 Users Guide

SOAP Operation Properties 61

Table 2 Notify Request Action Tab Field SOAP Header Validation Schema Name Description 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. 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 Validation Schema Name

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.

TIBCO BusinessConnect SOAP Protocol Users Guide

62

| Chapter 5

Managing SOAP Operations

Synchronous Request-Response Operation


For information on validating schemas, see Appendix B, Schema Validation, on page 153. Operation Tab Use the Synchronous Request-Response Operation tab to specify general information about the operation. Table 3 Synchronous Request-Response Operation Tab Field Name Description SOAPAction Description Name of the operation Description for the operation This field specifies the value of the SOAPAction HTTP Request header field of the SOAP message. It can be used to indicate the intent of the SOAP HTTP request and its value is a URI identifying the intent. See the SOAP 1.1 specification at http://www.w3.org/TR/soap/ for more information. Request Action Tab Use the Synchronous Request-Response Request Action tab to specify how BusinessConnect processes a request. Table 4 Request Action Tab Field Name Description Direction Require Digital Signature Require Content Encryption Description Name of the operation Description for the operation Initiator to Responder (preset) If selected, this option will sign the outgoing requests and force the incoming requests to be signed. If selected, this option will encrypt the outgoing requests and force the incoming requests to be encrypted.

TIBCO BusinessConnect SOAP Protocol Users Guide

SOAP Operation Properties 63

Table 4 Request Action Tab Field Validate Message Description 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.

TIBCO BusinessConnect SOAP Protocol Users Guide

64

| Chapter 5

Managing SOAP Operations

Table 4 Request Action Tab Field SOAP Body Validation Schema Name Description 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.

Response Action Tab Use the Synchronous Request-Response Action tab to specify how BusinessConnect processes a response. Table 5 Response Action Field Name Description Direction Require Digital Signature Require Content Encryption Description Name of the operation (response) Description for the operation Responder to Initiator (preset) If selected, this option will sign the outgoing responses and force the incoming responses to be signed. If selected, this option will encrypt the outgoing responses and force the incoming responses to be encrypted.

TIBCO BusinessConnect SOAP Protocol Users Guide

SOAP Operation Properties 65

Table 5 Response Action Field Validate Message Description 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.

TIBCO BusinessConnect SOAP Protocol Users Guide

66

| Chapter 5

Managing SOAP Operations

Table 5 Response Action Field SOAP Body Validation Schema Name Description 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. 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. Click Done to save the added interface, interface version, and the new operations that have been added to the interface version.

Private Process Wait (seconds)

TIBCO BusinessConnect SOAP Protocol Users Guide

Importing SOAP Interfaces 67

Importing SOAP Interfaces


You may want to import one or more interfaces from a trading partner so that you do not have to re-create the interface. To import an interface, do the following: 1. Select BusinessConnect>Operations Editor. 2. Select SOAP from the Protocol dropdown list. 3. Click on Edit. 4. In the Edit Operations dialog, click Import. The Import Operations dialog appears. Figure 25 Import Operations

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

Sample Interfaces
BusinessConnect SOAP Protocol provides the following sample interfaces that can be imported into the BusinessConnect configuration store:
BC_install_dir\protocols\soap\samples\server\operations.csx BC_install_dir\protocols\soap\samples\client\operations.csx

TIBCO BusinessConnect SOAP Protocol Users 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 Users Guide

Modifying SOAP Operations 69

Modifying SOAP Operations


You can modify SOAP operations by defining the SOAP body validation schema name and SOAP body root element name. This must be done on the Initiator and Responder BusinessConnect installations.

Modify the Notify Operation


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

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

11. Click Open.

TIBCO BusinessConnect SOAP Protocol Users 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 Users Guide

Modifying SOAP Operations 71

Figure 29 Edit Synchronous Request-Response Operation: Sync

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

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

TIBCO BusinessConnect SOAP Protocol Users 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 Users 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 Users Guide

74

| Chapter 6

Setting Up Trading Hosts and Partners

Configuring the SOAP Protocol for a Host


To configure the SOAP protocol for a trading host: 1. Select BusinessConnect>Participants. 2. Click a host participant link in the right panel. 3. Click the Protocols tab. If SOAP does not appear in the list of protocols, do the following: a. Click Enable. b. Select the SOAP checkbox. c. Click OK. 4. Click the SOAP link. 5. In the Edit Enabled Protocol dialog, set properties for SOAP using the Table 6. Table 6 Configuring a Host: General Tab Field Default Domain Identity Description 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 Allow Anonymous SOAP Messages This field is not used for BusinessConnect SOAP Protocol. Allow anonymous SOAP messages to pass through. See Receiving SOAP Messages without TIBCO-Specific Headers for more information. 6. Click Save. Adding a Domain Identity for a Host 1. In the Edit Enabled Protocol dialog, click the link Add New. 2. In the Domain Identity List dialog, click Add New. 3. Select a domain from the Domain dropdown list and enter an identity in the Identity field.

TIBCO BusinessConnect SOAP Protocol Users Guide

Configuring the SOAP Protocol for a Host 75

4. Click Save. 5. Click OK.

TIBCO BusinessConnect SOAP Protocol Users Guide

76

| Chapter 6

Setting Up Trading Hosts and Partners

Duplicate Message Detection


BusinessConnect SOAP Protocol checks for duplicates on all inbound and outbound messages and, if found, forwards this duplicate message to the private process. The duplicate field in the Responder Request message is then set to true. The domains of the host and trading partner are not taken into consideration while performing duplicate detection. Only the values hostname and tpname are considered.

Inbound Messages
For inbound messages, duplicate detection is performed in the same way for the inbound request and inbound response. Inbound Request and Inbound Response Duplicate detection for Inbound Response messages is done only for synchronous operations. Duplicate detection criteria for the Inbound Request and for Inbound Response messages are as follows: Protocol name Protocol version Installation name Host name Trading partner name Operation ID Body element of the SOAP envelope

TIBCO BusinessConnect SOAP Protocol Users Guide

Duplicate Message Detection 77

Outbound Messages
For outbound messages, duplicate detection is performed only for the outbound request. Outbound Request Duplicate detection criteria for the OutboundRequest messages are as follows: Protocol name Protocol version Installation name Host name Trading partnere name Transaction ID Operation ID Request coming from the private process (no header)

TIBCO BusinessConnect SOAP Protocol Users Guide

78

| Chapter 6

Setting Up Trading Hosts and Partners

Configuring the SOAP Protocol for a Partner


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

Setting General Properties for a Partner


Use the General tab to configure general information about the trading partner. Table 7 Configuring a Partner: General Tab Field Default Domain Identity Description 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 Duplicate Detection for Outbound Add BusinessConnect Specific Header This field is not used for BusinessConnect SOAP Protocol. 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 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 Users Guide

Configuring the SOAP Protocol for a Partner 79

Table 7 Configuring a Partner: General Tab Field Allow Anonymous SOAP Messages From This Trading Partner SOAP Namespace Prefix Description Allow pass-through messages from this trading partner. See Receiving SOAP Messages without TIBCO-Specific Headers on page 108 for more information. 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:Envelope xmlns:abc="http://schemas.xmlsoap.org/soap/envelope/"> <abc:Header> ...... </abc:Header> <abc:Body> ...... </abc:Body> </abc:Envelope>

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


Note The value Envelope is not applied to the SOAP faults, which always

have SOAP-ENV as the default namespace. Adding a Domain Identity for a Partner 1. In the Edit Enabled Protocol dialog, click on the link Add New. 2. In thew Domain Identity List dialog, click Add New. 3. In the New dialog, select a domain from the Domain dropdown list. 4. Enter an identity in the Identity field. 5. Click Save. 6. Click OK.

Configuring Transports for a Partner


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

TIBCO BusinessConnect SOAP Protocol Users Guide

80

| Chapter 6

Setting Up Trading Hosts and Partners

TIBCO BusinessConnect SOAP Protocol Users 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 Users 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 agreements duration. 6. Click the Add Protocol Binding button. 7. In the Select Protocol dialog, select the checkmark next to SOAP. 8. Click OK. The New Agreement dialog appears. 9. Click the SOAP link in the Agreement Protocol Binding list. The dialog Edit Protocol Binding: SOAP appears.

Edit Protocol Binding Dialog


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

TIBCO BusinessConnect SOAP Protocol Users Guide

Operation Bindings Tab 83

Operation Bindings Tab


Use the Operation Bindings tab to configure the SOAP operations that each participant in a business agreement can initiate and respond to. The following properties apply to all the activities that you import in the Operations Editor. Table 8 Operation Bindings Tab Field Allow All Operations Description 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. The added bindings appear on the scree, as shown in Figure 31.

TIBCO BusinessConnect SOAP Protocol Users Guide

84

| Chapter 7

Configuring Agreement Protocol Bindings

Figure 31 Operation Bindings Added for Host and Partner

Edit an Operation Binding for Host


1. Click an operation bindings link. The dialog Override Outbound Settings appears, with the Operation Settings tab selected. Operation Settings Tab 2. Configure operation settings for the host using Table 9. Table 9 Override Outbound Settings: Operation Settings Tab Field Override Operation Settings Description 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. You can use this dialog to override the SOAPAction that you entered in the Operations Editor for this operation, whether you are changing an operation that a host initiates or responds to. 3. Click Save.

SOAPAction

TIBCO BusinessConnect SOAP Protocol Users Guide

Operation Bindings Tab 85

Transports Tab 4. Configure transport settings for the host using Table 10. Table 10 Override Outbound Settings: Transports Tab Field Override Transports Description 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. 5. Click Save.

Edit an Operation Binding for Partner


1. Click an operation bindings link. The dialog Override Outbound Settings appears, with the Operation Settings tab selected. Operation Settings Tab 2. Configure operation settings for the host using Table 9. Table 11 Override Inbound Settings: Operation Settings Tab Field Override Operation Settings Description 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. You can use this dialog to override the SOAPAction that you entered in the Operations Editor for this operation, whether you are changing an operation that a host initiates or responds to. 3. Click Save.

SOAPAction

TIBCO BusinessConnect SOAP Protocol Users 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 Users Guide

Transports Tab 87

Transports Tab
To configure the Transports tab, refer to Table 12. Table 12 Transports Tab Field Description

Outbound Transports for Host (Host to Trading Partner) Primary Transport The following options are available: HTTP, HTTPS, or None. The primary transport is configured using the steps described in Configuring Transports for a Partner on page 79. Client Authentication Identity for HTTP, FTPS, HTTPSCA Client Authentication Identity for SSHFTP 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. 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.

Show Advanced
Use the participant configuration tabs to override the general settings for a participant per agreement protocol binding. To view the participant configuration tabs, click the Show Advanced button. Configuration GUI displays two tabs labeled Hosts Configuration and Partners Configuration, where Host and Partner are the participants in the business agreement. To hide the participant configuration tabs, click the Hide Advanced button.
TIBCO BusinessConnect SOAP Protocol Users Guide

88

| Chapter 7

Configuring Agreement Protocol Bindings

Override Settings for the Host 1. Click the Hosts Configuration tab. 2. Override settings using Table 13. Table 13 Show Advanced: Hosts Configuration Field Override Settings Default Domain Identity Description 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. 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. 3. Click Save twice. Override Settings for the Partner 4. Click the Partners Configuration tab. 5. Override settings using Table 14. Table 14 Show Advanced: Partners Configuration Field Override Settings Default Domain Identity Description 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. 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. 6. Click Save twice.

TIBCO BusinessConnect SOAP Protocol Users 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 Users Guide

90

| Chapter 8

Viewing Logs

Overview
BusinessConnect provides four logs which are used to store messages processed through the system. These logs are: Audit logs Resend logs Non-repudiation logs

Use the Log Viewer to search for SOAP transaction records.

Accessing Logs
To access a log, do the following: 1. Click the BusinessConnect > Log Viewer link in the left panel. 2. Click a link in the right panel to select which log to view: Audit Logs to display the audit log search options. Resend Logs to display the resend log search options. Non-repudiation Logs to display the non-repudiation log search options. 3. Select SOAP in the Protocol dropdown list. 4. Invoke a search by following the procedures described in TIBCO BusinessConnect Trading Partner Administration Guide.

TIBCO BusinessConnect SOAP Protocol Users Guide

Audit Logs 91

Audit Logs
The audit log is used to store information about the messages and documents processed by BusinessConnect. You can use the audit log to follow the processing states of inbound or outbound documents. Some of the types of information stored in the audit log include: Sent and received documents Document originator Trading partner name Processing status Validation errors

Configure an Audit Log for SOAP


To configure an audit log for SOAP, do the following: 1. Select BusinessConnect>Log Viewer>Audit Logs. 2. Select the options in the Search Transactions section of the audit log using the list presented in Table 15. Table 15 Audit Log: Search Transactions Column Name Protocol Connection Host Status Date Range Criteria Definition Select a protocol (SOAP) Select a connection name Select a specific host name or ANY Select a specific status, such as ANY, COMPLETED, or PENDING.
Date Range COMPLETED_WITH_ERROR,

ERROR,

Select Custom

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

92

| Chapter 8

Viewing Logs

Table 15 Audit Log: Search Transactions (Contd) Column Name Previous Definition
From this dropdown list, you can select the previous period to search:

One Day One Week One Month One Year

3. Configure the advanced search settings by using the list presented in Table 16. Table 16 Audit Log: Advanced Search Settings Column Trading Partner TransactionID Definition Boolean search using: is, contains, is Boolean search using: is, contains, is This is always a unique name. Operation ID Boolean search using: is, contains, is
not, is not like not, is not like not, is not like

4. In addition to these search entry fields, here are also buttons available that allow you to do the following: Remove Query Execute Query Save Current Query Search To learn more about these options, see TIBCO BusinessConnect Trading Partner Administration Guide, Saving and Reusing Queries.

TIBCO BusinessConnect SOAP Protocol Users Guide

Audit Logs 93

Audit Log Views


Summary View Table 17 lists the columns that appear in the audit log. Table 17 Audit Log Columns Column Time Stamp Trading Partner Operation ID Definition When each of the transaction states is logged Name of the trading partner Operation ID used for this operation Example: Buy Transaction ID StartTime
Widgets using XSD/1.0/buyInOutboundAuthEncrypt.

Transaction ID for this transaction Time when this transaction started.

Transaction Details View To view the details of a transaction, click the document icon audit log entry. at the left of an

The Log Viewer first displays the general information for this entry, then a table with available information for each event in that transaction. The table columns are listed in Table 18. Each transaction is identified with its Process Instance Identifier. Table 18 Transaction Detail Columns Column Time Stamp Status Definition When each of the transaction states is logged 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 Users Guide

94

| Chapter 8

Viewing Logs

Table 18 Transaction Detail Columns Column Description Definition Description of the last action recorded for the message Example: Received State Details View To view the details of a specific state, click the document icon transaction detail entry. at the left of a
request from private process.

The Log Viewer displays in one window all of the information from the summary view and transaction details view for the transaction entry. State Field Values Table 19 provides a list of the state field values for the Initiator process. Table 19 State Field Values for Initiator Process Short Message
REQUEST_FROM_PP

Definition Received request from private process Request or notification is about to be sent to trading partner. Request or notification sent to trading partner; received acknowledgment.

Comments Received notification from private process. Depending on the message type, different descriptive message is logged. This entry is logged before the request has been sent to the trading partner. 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.

REQUEST_SEND_TO_TP

REQUEST_SENT_TO_TP

RESPONSE_FROM_TP

Received response from trading partner Response sent to private process

This entry is logged only after a response is received from the trading partner. 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.

RESPONSE_TO_PP

TIBCO BusinessConnect SOAP Protocol Users Guide

Audit Logs 95

Table 19 State Field Values for Initiator Process Short Message


PACKAGE_MSG

Definition SOAP Message packaged successfully

Comments 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). Logging is done after the incoming message is decrypted successfully. Logging is done after the signed response message is verified successfully. Logging is done when the incoming request or response is denied because of security permissions for this operation. Logging is done after the validation of the incoming or outgoing request. Description will specify if the validation was success or failure. Logging is done after the validation of the incoming or outgoing response. Description will specify if validation was a success or failure.

RESPONSE_DECRYPTED

Encrypted response message successfully decrypted Signed response from the trading partner verified successfully Received request document is denied because of encryption or signing permissions Incoming request (<header/Body>) is validated Incoming response (<header/Body>) is validated

RESPONSE_VERIFIED

DOCUMENT_DENIED

VALIDATE_REQUEST

VALIDATE_RESPONSE

TIBCO BusinessConnect SOAP Protocol Users 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
REQUEST_FROM_TP

Description Received request from trading partner

Comments Received notification from trading partner. Logging is done after having successfully received a notification or request. Logging is done just before sending notification or request to the private process. This is the last entry in case of notification. Logging is done after having received response from the private process. Logging is done after having the response was successfully posted to the trading partner. 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.

REQUEST_TO_PP

Request sent to private process. Notification sent to private process.

RESPONSE_FROM_PP

Received response from private process Response sent to trading partner SOAP Message packaged successfully

RESPONSE_TO_TP

PACKAGE_MSG

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). Logging is done after the incoming message is decrypted successfully. Logging is done after the signed request message is verified. Logging is done when the incoming request or response is denied because of security permissions for this operation.

REQUEST_DECRYPTED

Encrypted request message successfully decrypted Signed request from Trading Partner verified successfully Received request document is denied because of encryption or signing permissions

REQUEST_VERIFIED

DOCUMENT_DENIED

TIBCO BusinessConnect SOAP Protocol Users Guide

Audit Logs 97

Table 20 State Field Values for Responder Process Short Message


VALIDATE_REQUEST

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

Comments Logging is done after the validation of the incoming or outgoing request. Description will specify if the validation was success or failure. Logging is done after the validation of the incoming or outgoing response. Description will specify if validation was a success or failure. This state is logged when responder fails to send a response to the Initiator.

VALIDATE_RESPONSE

Incoming response (<header/Body>) is validated

COMPLETED_WITH_ ERROR

DMZ could not send the response to the partner

TIBCO BusinessConnect SOAP Protocol Users Guide

98

| Chapter 8

Viewing Logs

Non-Repudiation Logs
TIBCO BusinessConnect SOAP Protocol 5.1.0 logs the signed incoming messages to the non-repudiation tables: the incoming Notify or Synchronous Request messages are logged on the Responder side, and the Synchronous Response messages are logged on the Initiator side. Non-repudiation logging can be enabled in a business agreement and then it applies to all operations. It extracts the SOAP envelope from an incoming SOAP message and logs it when the message verification succeeds. Non-repudiation logging stores the SOAP envelope (without attachments) as is, and also stores the verification certificates and decryption identities for encrypted messages. The incoming SOAP messages will be logged as follows: If messages are signed and encrypted, both the verification certificate and encryption identities will be logged If messages are signed (and not encrypted), only the verification certificate will be logged

Configure a Non-Repudiation Log for SOAP


To configure a non-repudiation log for SOAP, do the following: 1. Select BusinessConnect>Log Viewer>Non Repudiation Logs. 2. Select the options in the Search Transactions section by using the list presented in Table 21. Table 21 Non-Repudiation Log: Search Transactions Column Name Protocol Connection Host Status Definition Select a protocol (SOAP) Select a connection name. Select a specific host name or ANY.
ERROR,

Select a specific status, such as ANY, or PENDING.

COMPLETED, COMPLETED_WITH_ERROR,

TIBCO BusinessConnect SOAP Protocol Users Guide

Non-Repudiation Logs 99

Table 21 Non-Repudiation Log: Search Transactions (Contd) Column Name Date Range Criteria Definition 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. From this dropdown list, you can select the previous period to search: One Day One Week One Month One Year

Previous

3. Configure the advanced search settings by using the list presented in Table 22. Table 22 Non-Repudiation Log: Advanced Search Settings Column Operation ID Trading Partner Document ID Definition Boolean search using: is, contains, is Boolean search using: is, contains, is Boolean search using: is, contains, is
not, is not like not, is not like not, is not like

4. In addition to these search entry fields, there are also buttons available that allow you to do the following: Remove Query Execute Query Save Current Query Search To learn more about these options, see TIBCO BusinessConnect Trading Partner Administration Guide, Saving and Reusing Queries. Details for the transactions in the non-repudiation logs view cannot be opened for viewing (as it is the case with audit logs).

TIBCO BusinessConnect SOAP Protocol Users Guide

100

| Chapter 8

Viewing Logs

Resend Logs
Resend logs provide two views into an audit log: Resendable transactions Allows you to resend a transaction. Resend history Allows you to view messages that have been resent.

For more information about resend logs, see TIBCO BusinessConnect Trading Partner Administration Guide, Resend Logs.

Configure a Resend Log for SOAP


To configure a resend log for SOAP, do the following: 1. Select BusinessConnect>Log Viewer>Resend Logs. There are two tabs available in the Resend Logs dialog: Resendable Transactions and Resend History. Resendable Transactions Tab 2. Configure the search for resendable transactions. Table 23 lists the options to select in the Search Transactions section and Table 24 gives the explanation of transaction states for resend logs. Table 23 Resend Log: Resendable Transactions Column Name Protocol Connection Host Status Date Range Criteria Definition Select a protocol (SOAP) Select a connection name. Select a specific host name or ANY.
ERROR,

Select a specific status, such as ANY, or PENDING.


Date Range

COMPLETED, COMPLETED_WITH_ERROR,

Select Custom

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

Resend Logs 101

Table 23 Resend Log: Resendable Transactions (Contd) Column Name Previous Definition From this dropdown list, you can select the previous period to search: State One Day One Week One Month One Year
REQUEST_TO_PP,

Select the transaction state: REQUEST_FROM_PP,


RESPONSE_TO_PP.

and

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

Description Received request from private process Request sent to private process

Comments Initiator message that was originally received will be resent. Responder request messages will be resent. This state cannot be resent for synchronous transactions. Initiator response will be resent.

REQUEST_TO_PP

RESPONSE_TO_PP

Response sent to private process

3. In addition to these search entry fields, here are also buttons available that allow you to do the following: Search (execute a search) Done (finish using the dialog) To learn more about these options, see TIBCO BusinessConnect Trading Partner Administration Guide, Performing a Log Search.

TIBCO BusinessConnect SOAP Protocol Users Guide

102

| Chapter 8

Viewing Logs

4. Configure the advanced search settings. Table 25 lists the options to select in the Advanced Search Section Settings section of the resend log. Table 25 Resend Log: Advanced Search Settings Column Name Trading Partner Transaction ID Operation ID User TranID Host Initiates Resend History Tab 5. Configure the search for resend history. Table 26 lists the options in the Search Transactions section of the resend log. Table 26 Resend Log: Resend History Column Name Protocol Connection Host Status Date Range Criteria Definition Select a protocol (SOAP) Select a connection name. Select a specific host name or ANY.
ERROR,

Definition Boolean search using: is, contains, is Boolean search using: is, contains, is Boolean search using: is, contains, is Boolean search using: is, contains, is Boolean search using: is, contains, is
not, is not like. not, is not like. not, is not like. not, is not like. not, is not like.

Select a specific status, such as ANY, or PENDING.

COMPLETED, COMPLETED_WITH_ERROR,

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

Resend Logs 103

Table 26 Resend Log: Resend History Column Name Previous Definition


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

One Day One Week One Month One Year

6. Configure the advanced search settings. Table 27 lists the options in the Advanced Search Section Settings section of the resend log. Table 27 Resend Log: Advanced Search Settings Column Trading Partner Transaction ID Operation ID Definition Boolean search using: is, contains, is Boolean search using: is, contains, is Boolean search using: is, contains, is
not, is not like not, is not like not, is not like

7. In addition to these search entry fields, there are also buttons available that allow you to do the following: Search (execute a search) Done (finish using the dialog) To learn more about these options, see TIBCO BusinessConnect Trading Partner Administration Guide, Performing a Log Search on page 106.

TIBCO BusinessConnect SOAP Protocol Users Guide

104

| Chapter 8

Viewing Logs

TIBCO BusinessConnect SOAP Protocol Users 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 Users 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 Users 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 Users Guide

108

| Chapter 9

Advanced Topics

SOAP Messages without TIBCO-Specific Headers

Sending SOAP Messages without TIBCO-Specific Headers


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

Receiving SOAP Messages without TIBCO-Specific Headers


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

Information has to be provided completely either in the partyInfo header or in the URL: it can not be specified partially in the header and partially in the URL. When information is present both in the partyInfo header and in the URL, information in the partyInfo header takes the precedence. The URL format should be the following:
http://host:port/SOAP ?host=host_name&tpname=trading_partner_name &opid=operation_ID &transid=transaction_ID

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

None of the URL parameters is a required value.

TIBCO BusinessConnect SOAP Protocol Users Guide

Using the Passthrough Feature 109

Using the Passthrough Feature


Since BusinessConnect SOAP Protocol 5.1 provides support for multiple hosts, a host value can be specified in a URL . If a host value is not present, the default host is assumed. Passthrough is allowed only for HTTP and HTTPS transports. The HTTPS-CA transport can be used only when the parameter tpname is populated in the URL for the passthrough messages You must select the option Allow Anonymous SOAP Messages for the host or the default host in order to complete a transaction when the header PartyInfo is missing. You must also select the option Allow Anonymous SOAP Messages From This Trading Partner for that partner if the parameter tpname is available in the URL. If both parameters host and tpName are present, the option Allow Anonymous SOAP Messages for the field tpName controls passthrough of the message. When there is no operation ID in the passthrough messages, they are not received by the Responder Request message in the BusinessConnect palette. See Case 1: SOAP Header is Absent; URL has no Parameters on page 110, and Case 3: SOAP Header is Absent; URL has no opid Parameter on page 110 for more details. Depending on the presence of the parameters tpname and opid in the URL, the transaction will proceed as follows: When the values tpname and opid are present, the transaction can be completed end-to-end; for example, the response can be sent back for the Synchronous Request Response message. In this case, host defaults to the default host of the system. If either of these values are missing when passthrough is enabled, the transaction will be treated as a Notify operation.

To better illustrate the passthrough feature, the following cases are supplied: Case 1: SOAP Header is Absent; URL has no Parameters on page 110 Case 2: SOAP Header is Absent; URL has no tpname and host Parameters on page 110 Case 3: SOAP Header is Absent; URL has no opid Parameter on page 110 Case 4: SOAP Header is Absent; URL has no transid Parameter on page 111 Case 5: Case 5: SOAP Header is Absent; URL has the host Parameter on page 111

TIBCO BusinessConnect SOAP Protocol Users 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 partners 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 Users Guide

Using the Passthrough Feature 111

The request and requestHeader fields of this message contain the incoming SOAP header and body information in XML format. Once the incoming SOAP message is forwarded to the local private process, BusinessConnect SOAP Protocol sends an HTTP 204/No Content response back to the trading partner. For this transaction, host is the default host of the system. Case 4: SOAP Header is Absent; URL has no transid Parameter Example:
http://www.SOAPServer.com:6700/SOAP ?tpname=SOAPClient &opid=Sync/1.0/PORequest

BusinessConnect SOAP Protocol has the complete context of the inbound SOAP message. The transaction is processed as a regular synchronous Request Response or Notify transaction, depending on the type of the operation in the incoming message. A unique transaction ID is generated and this ID is passed to the private process. All transaction IDs generated by BusinessConnect SOAP Protocol will have the string bcsoap: as the prefix. Case 5: SOAP Header is Absent; URL has the host Parameter Example:
http://www.SOAPServer.com:6700 ?SOAP/host=SOAPServer &tpname=SOAPClient

The received SOAP message is rejected by default and a SOAPFault is generated and sent back to the trading partner. To allow this trading partner to send a SOAP message to BusinessConnect SOAP Protocol, the 'Allow Anonymous SOAP Messages From This Trading Partner' checkbox in the trading partners SOAP General subpanel must be selected. When anonymity is enabled for this trading partner, BusinessConnect SOAP Protocol has no operation-related context for the inbound message. It can only handle the incoming message as a Notify operation. BusinessConnect SOAP Protocol forwards the inbound SOAP message to the private process through the Responder Request message. The request and the requestHeader fields of this message contain the incoming SOAP header and body information in XML format. Once the incoming SOAP message is forwarded to the local private process, BusinessConnect SOAP Protocol sends an HTTP 204/No Content response back to the trading partner.

TIBCO BusinessConnect SOAP Protocol Users 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 partners setup. See Setting General Properties for a Partner on page 78 to see where this checkbox displays for a trading partner. Descriptions of the message sections are available in the following sections: SOAP Header on page 112 SOAP Body on page 113

SOAP Header
All outgoing messages will have the attributes mustUnderstand and actor defined in the header elements. These attributes will have default values; for example, 0 for mustUnderstand and "" for actor. When validating the incoming messages, these attributes will be removed from the header element only when they have default values. This is done to eliminate the schema changes for the installations. While validating BusinessConnect SOAP Protocol messages, any third-party software receiving these messages must ensure that their schema for header elements includes the attributes mustUnderstand and actor . To see an example, look in the example provided in partyInfo schema, which is available in BC_install_dir/protocols/soap/samples/tutorial. Header Section 1
From <ep:endpoints xmlns:ep="http://user.org/header"> to </prop:properties>

This is the part of the SOAP Header that comes from the requestHeader field in the InitiatorRequest message from the private process. It is present whether or not the BusinessConnect-specific SOAP Header is included. See a sample SOAP envelope message in SOAP XML Message with a BusinessConnect-Specific Header on page 114.

TIBCO BusinessConnect SOAP Protocol Users 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 partners 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 Users 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 Users 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 Users Guide

116

| Chapter 9

Advanced Topics

SOAP Envelope Attributes and Namespaces


This section shows how a private process can set SOAP envelope attributes and namespaces. The SOAP message generated by BusinessConnect SOAP Protocol will have the private process-supplied envelope attributes and namespaces along with the default attributes and namespaces generated by BusinessConnect SOAP Protocol. The SOAP envelope attributes are managed following these rules: On outbound, all attributes will be populated on the SOAP envelope On inbound, only the envelope attributes with their associated namespaces will be sent to the private process. The unused namespace attributes will not be sent. The envelope attributes must be bound to a namespace prefix. A SOAP Envelope namespace, such as
http://schemas.xmlsoap.org/soap/envelope/,

cannot be sent from the private process. Also, the private process cannot send the namespace for a SOAP envelope prefix that has been defined in the TIBCO Administrator GUI for a given trading partner.

Envelope Attributes and Namespaces Example


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

Example: To generate the following SOAP message


<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:pro="http://myorg.com/schemas/promotions" pro:promotionExpiryDate="03/12/2003"> . . . </SOAP-ENV:Envelope>

TIBCO BusinessConnect SOAP Protocol Users Guide

SOAP Envelope Attributes and Namespaces 117

This SOAP message has a namespace and an attribute promotionExpiryDate in the namespace http://myorg.com/schemas/promotions. Create an ae/SOAP/Attributes sequence object. This sequence object will have two ae/SOAP/Attribute objects. The field values for the first ae/SOAP/Attribute: name: xmlns:pro value: "http://myorg.com/schemas/promotions"

The field values for the second ae/SOAP/Attribute: name: pro:promotionExpiryDate value: 03/12/2003

Set the ae/SOAP/Attributes sequence object to the envelopeAttributes field in the ae/SOAP/InitiatorRequest or ae/SOAP/ResponderResponse object. If an attribute is not bound to a name space, an error will be thrown and the transaction will be cancelled. Configurable Namespace Prefix for the Envelope Namespace The prefix for the envelope namespace is now configurable by the user. For example, a SOAP message can have the following format:
<abc:Envelope xmlns:abc="http://schemas.xmlsoap.org/soap/envelope/"> <abc:Header> ...... </abc:Header> <abc:Body> ...... </abc:Body> </abc:Envelope>

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

TIBCO BusinessConnect SOAP Protocol Users Guide

118

| Chapter 9

Advanced Topics

TIBCO BusinessConnect SOAP Protocol Users 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 Users 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^ part of the aeRvMsg format.
control

tag as

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

Initiator Messages 121

Initiator Messages

Initiator Outbound Request Private Process to BusinessConnect


The Initiator private process uses this message to handle outbound requests, as shown in Figure 32. Figure 32 Initiator Outbound Request
Initiator Request
Initiator Private Process BC Initiator Internet BC Responder Responder Private Process

Subject Name

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

Table 28 Initiator Request Field


standardID transactionID

Type String String

Required Yes No

Description Name of the protocol: SOAP 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 Users Guide

122

| Chapter 10

Private Messages

Table 28 Initiator Request Field


closure

Type String

Required No

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

No No No

The body of the public SOAP message in XML format The header of the public SOAP message in XML format. Trading partner domain If this field is not present, the default domain TPname will be used.

request Header tpDomain

TIBCO BusinessConnect SOAP Protocol Users Guide

Initiator Messages 123

Table 28 Initiator Request Field


http Attributes

Type
Sequence of
SOAP/Attri bute

Required No

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

TIBCO BusinessConnect SOAP Protocol Users Guide

124

| Chapter 10

Private Messages

Initiator Inbound Response BusinessConnect to Private Process


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

Initiator Private Process

BC Initiator

Internet

BC Responder

Responder Private Process

Initiator Response

Subject Name

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

Table 29 Initiator Response Field


response

Type String

Required Yes

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

Yes Yes

See statusCode and statusMsg Field Reference on page 146.


OK,

statusMsg

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

Initiator Messages 125

Table 29 Initiator Response Field


operationID

Type String

Required Yes

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

No Yes

The same value that was in the Initiators request transactionID field 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

closure

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.

TIBCO BusinessConnect SOAP Protocol Users Guide

126

| Chapter 10

Private Messages

Table 29 Initiator Response Field resend Type String String String Required No Yes No Description This field is set to true when the message is a resent transaction. Name of the protocol: SOAP This field is set to true when this is a duplicate response.

standardID

duplicate

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

Responder Messages 127

Responder Messages

Responder Inbound Request BusinessConnect to Private Process


The Responder private process uses this message to handle inbound requests, as shown in Figure 34. Even if the incoming message size exceeds the threshold set at BusinessConnect
>Configuration>Intercomponent Advanced Settings>Skip content threshold, the full message (not a file reference) is sent to the private process through RV or JMS.

Figure 34 Responder Inbound Request


Responder Request
Initiator Private Process BC Initiator Internet BC Responder Responder Private Process

.Subject Name

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

Table 30 Responder Inbound Request Field


request

Type String

Required Yes

Description 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 Users Guide

128

| Chapter 10

Private Messages

Table 30 Responder Inbound Request Field


sourceTP Domain destination TP

Type String String

Required No Yes

Description Domain of the Initiator of this message Name of the Responder to this message This field contains name or domain identity value.

destination TPDomain operationID

String String

No Yes

Domain of the Responder to this message A three-part ID of the form: interface/version/operation_Name. See Adding an Operation to a Version on page 58 for more information.

transactionID

String

No

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

closure

String

No

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

standardID

String

Yes

Name of the protocol: SOAP

TIBCO BusinessConnect SOAP Protocol Users Guide

Responder Messages 129

Table 30 Responder Inbound Request Field


attachment

Type Sequence of
Attachment

Required No

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

No No Yes

This field is set to true when the message is a resent transaction. This field is set to true when this is a duplicate request. Type of operation: Notify or async/sync request-response

duplicate

operation Type

TIBCO BusinessConnect SOAP Protocol Users Guide

130

| Chapter 10

Private Messages

Responder Outbound Response Private Process to BusinessConnect


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

Initiator Private Process

BC Initiator

Internet

BC Responder

Responder Private Process

Responder Response

Subject Name

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

Table 31 Responder Outbound Response Field


statusCode

Type Integer

Required No

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

statusMsg

String

No

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

response closure

String String

Yes Yes

The response business document in XML format 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 Users Guide

Responder Messages 131

Table 31 Responder Outbound Response Field


attachment

Type Sequence of
Attachment

Required No

Description A sequence of attachments See Attachment on page 135.

operationID

String String

Yes No

A three-part ID of the form: interface/version/operation_Name. Header of the response This becomes the header of the public SOAP message.

response Header

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.

soapFault standardID

SOAPFault

No Yes

See SOAPFault on page 142. Name of the protocol: SOAP

String

The Send Response activity has the SOAPFault element as a part of a body element, as well as of the BCResponderResponse element. If you want to send SOAPFault, you must populate it in the SOAPFault element under the BCResponderResponse element. The SOAPFault element under the body element should not be used: any SOAPFault values specified under the body element will be ignored. See SOAPFault on page 142 for more information.

TIBCO BusinessConnect SOAP Protocol Users Guide

132

| Chapter 10

Private Messages

Responder Acknowledgement BusinessConnect to Private Process


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

Initiator Private Process

BC Initiator

Internet

BC Responder

Responder Private Process

Responder Acknowledgement

Subject Name

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

Table 32 Field

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

statusCode

statusMsg

operation Type closure

String String

Yes Yes

ACK 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 Users Guide

General Messages 133

General Messages

Advisory Message
This message is used to publish status information.
Subject Name

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

Table 33 Field

Advisory Messages Type Integer Required Yes Description One of the error codes See statusCode and statusMsg Field Reference on page 146.

statusCode

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

Yes No No

A three-part ID of the form: interface/version/operation_Name Request-response ID for which the error message is generated. 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

transactionID

closure

TIBCO BusinessConnect SOAP Protocol Users Guide

134

| Chapter 10
Table 33 Field
host

Private Messages

Advisory Messages (Contd) Type Trading Partner String Trading Partner Required No Description Host information See TradingPartner on page 140. Yes No Name of the trading partner 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.

tpName trading Partner

faultCode

String

No

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

faultString

String

No

Fault description Example: Server Error.

faultActor

String

No

This element references the sender of the SOAP fault message. It often carries the host name. If the host cannot be determined, the default host will be used.

faultDetail

Detail

No

(class)

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. Currently not used Name of the protocol: SOAP Currently not used Currently not used

msgDirection
standardID

String String String String

No No No No

timestamp extraInfo

TIBCO BusinessConnect SOAP Protocol Users 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 Users 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 Users 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 Users 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 Users Guide

Attachment Object 139

Attachment Object
The Attachment object (ae/BC/Attachment) has the following fields: Table 34 Field
name

Attachment Object Type String Description 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 String

The unique identifier used to identify attachment in outgoing document 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.

content

originalContent Type

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

140

| Chapter 10

Private Messages

TradingPartner
The TradingPartner object (ae/BC/TradingPartner) has the following fields: Table 35 Trading Partner Object Field
name domain id

Type String String String

Description Trading partner name Trading partner domain Trading partner ID

TIBCO BusinessConnect SOAP Protocol Users Guide

Attribute 141

Attribute
The Attribute object (ae/SOAP/Attribute) has the following fields: Table 36 Attribute Object Field
name value

Type String String

Description The name of the attribute The value associated with the name

TIBCO BusinessConnect SOAP Protocol Users Guide

142

| Chapter 10

Private Messages

SOAPFault
The SOAPFault object (ae/SOAP/SOAPFault) has the following fields: Table 37 SOAP Fault Object Field
faultCode

Type String String String

Description SOAP fault code that indicates an error when processing the SOAP header. Example: SOAP-ENV:Server. Fault description. Example: Server Error. 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.

faultString faultActor

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

Detail Class 143

Detail Class
The Detail class has the following fields: Table 38 Detail Class Field
Code

Type String String

Description Represents an error code generated while processing the SOAP body element. Represents the detailed description of the error while processing the SOAP body element.

Description

TIBCO BusinessConnect SOAP Protocol Users Guide

144

| Chapter 10

Private Messages

TIBCO BusinessConnect SOAP Protocol Users 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 Users 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 (status Code) Description (statusMsg) Role Category Possible Resolution

The following status codes (200-500) are standard HTTP codes: 200 201-299 OK HTTP(S) OK codes 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. Error Error Error System System System Check fault code, fault string, fault e f, faultactor.

300 499 500 510

HTTP(S) error codes Internal Server Error. SOAP Fault occurred. Socket closed

The 600-699 status codes are error related to Web Services Security 601 Generic error while processing the message for security Message encryption failed Error Security

650

Error

Security

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

TIBCO BusinessConnect SOAP Protocol Users Guide

statusCode and statusMsg Field Reference 147

Table 39 statusCode and statusMsg Fields (Sheet 2 of 6) Code (status Code) 651 Description (statusMsg) Message signing failed Signature verification failed Message decryption failed WSSecurity process upon inbound message failed Unknown error Role Error Category Security Possible Resolution Check the identity used for signature or the signing algorithm. One of them may be invalid. Check the certificates used for signature verification. It may be wrong. Check the identity used for decryption. It may be wrong. Either the decryption or verification of the inbound message has failed. For more details, look in the status message. Error while processing the message for security. For more details, look in the status message.

652

Error

Security

653 654

Error Error

Security Security

659

Error

Security

The 800-899 status codes are for errors trapped locally on the Initiator side: 800 801 Access Denied reason Duplicate outgoing message detected Transport transport not supported by SOAP Cannot process a synchronous EMAIL request Cannot send operation type request to multiple trading partners Error Error Configuration Configuration This is detected by the Initiator process. Make sure unique IDs are used. SOAP supports HTTP and HTTPS only.

802

Error

Configuration

803

Error

Configuration

804

Error

Configuration

TIBCO BusinessConnect SOAP Protocol Users Guide

148

| Appendix A

Status Codes

Table 39 statusCode and statusMsg Fields (Sheet 3 of 6) Code (status Code) 805 Description (statusMsg) Notification did not reach all trading partners Received SOAP Fault. FaultString: fault_string Error in reading response Schema Validation error: Missing Validating schema (request) Schema Validation error: Missing Validating schema (response) Request not conforming to schema. reason Error Schema validation and message contents Schema validation and message contents Schema validation and message contents Load header and/or body schema for request operation Role Error Category Configuration Possible Resolution

806

Error

807 820

821

Error

Load header and/or body schema for response operation

822

Error

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

823

Response not conforming to schema

Error

Schema validation and message contents

TIBCO BusinessConnect SOAP Protocol Users Guide

statusCode and statusMsg Field Reference 149

Table 39 statusCode and statusMsg Fields (Sheet 4 of 6) Code (status Code) 824 Description (statusMsg) Attachment processing error, msg: message (request from PP) Attachment processing error, msg:<message> (response from PP) Timed-out waiting for response. (reserved) Posting error: reason Invalid transport URI Role Error Category Schema validation and message contents Schema validation and message contents HTTP Error Possible Resolution

825

Error

840

Error

841 842

Error Error

HTTP Error HTTP Error The transport URL for the trading partner is not correct: check and correct the URL. Check the operation editor settings.

866

Received response document is denied because of encryption/signing permissions Error setting envelope attributes Error serializing SOAP message

Error

Security

867

Error

PackageMess age PackageMess age

Verify that envelope attributes are correctly specified as described in the documentation. There is a problem packaging the SOAP message. Please verify the SOAP body and header elements.

888

Error

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:

TIBCO BusinessConnect SOAP Protocol Users Guide

150

| Appendix A

Status Codes

Table 39 statusCode and statusMsg Fields (Sheet 5 of 6) Code (status Code) 900 Description (statusMsg) TP not allowed access to specified doc, reason: Missing BusinessConnect SOAP Header Request parsing error Role Error Category Configuration Possible Resolution

901

Error

Passthrough

Verify that your default host accepts anonymous messages by selecting


Allow Anonymous SOAP Messages

for the default host. 920 Error Schema validation and message contents Schema validation and message contents Schema validation and message contents Schema validation and message contents Schema validation and message contents Security Check the operation editor settings. Load header and/or body schema for request operation

921

Missing validating schema

Error

922

Request not confirming to schema

Error

Load header and/or body schema for response operation

923

Attachment processing error, msg: (request from trading partner) Attachment processing error in response from private process, detail: Received request document is denied because of encryption/signing permissions

Error

924

Error

925

Error

TIBCO BusinessConnect SOAP Protocol Users Guide

statusCode and statusMsg Field Reference 151

Table 39 statusCode and statusMsg Fields (Sheet 6 of 6) Code (status Code) 940 941 Description (statusMsg) Client Authentication Failed Error in receiving response from private process. Detail: Failed to send reply to DMZ. Please check the DMZ timeout parameters. Error while sending request to private process Response not confirming to schema Role Error Error Category HTTP/ Comm HTTP/Com m Possible Resolution

942

Error

HTTP/ Comm

943

Error

System

Could not save context information in the database. Check database connection status. Load header and body schema for response action

944

Error

Schema validation and message contents System

999

Error occurred. No detailed information available. Private-party-defined error codes

Error

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

Error

TIBCO BusinessConnect SOAP Protocol Users Guide

152

| Appendix A

Status Codes

TIBCO BusinessConnect SOAP Protocol Users 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 Users 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 Users Guide

Schema Validation Errors 155

Schema Validation Errors


This section explains SOAP fault and SOAP advisory messages that appear if schema validation fails. Schema validation errors are accessed through the log viewer using TIBCO Administrator. If schema validation fails on the Initiator side for an outbound SOAP message, the SOAP advisory message on the ERROR subject on the Initiator side will have the complete details of the schema validation errors. These details will be posted in the field statusMsg of the SOAP/Advisory AE message. If the schema validation fails on the Responder side for an inbound SOAP message, (SOAP message from the public process), a SOAP fault is sent to the trading partner. The SOAP fault detail will have the complete schema validation error.

A sample SOAPFault message structure with fault detail looks as follows:


<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Body> <SOAP-ENV:Fault> <faultcode>SOAP-ENV:Server</faultcode> <faultstring>Server Error</faultstring> <detail> <ei:ErrorInfo xmlns:ei="http://www.tibco.com/ namespaces/bc/2002/04/errorinfo.xsd"> <code>922</code> <description>Actual error from schema validation </description> </ei:ErrorInfo> </detail> </SOAP-ENV:Fault> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

The schema for ErrorInfo element can be found under


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

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

TIBCO BusinessConnect SOAP Protocol Users 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 Users 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 Users 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 Users Guide

WSDL Import 159

WSDL Import
To import WSDL files into BusinessConnect configuration, use the following commands: Windows Platform:
\tibco\bc\version\protocols\soap\tools\wsdl\wsdlimport.exe

UNIX Platform :
\tibco\bc\version\protocols\soap\tools\wsdl\wsdlimport

After importing WSDL files, log out and then log into the TIBCO Administrator console to see the imported WSDL operations. While importing WSDL files with the WSDL tool, keep in mind the following: Separate transport for each port in the WSDL will be created under the partner mentioned in the file wsdlimport.tra. Operation bindings will be created for the operations imported through the WSDL under Business Agreement>SOAP>Host can initiate of that particular host and partner mentioned in the file wsdlimport.tra. Business agreement will be created, if it is was not present before the import. The checkbox Override Transports in the Transports tab of these operation bindings will be enabled and primary transport will be set to the transport created under partner for this particular operation. The checkbox Validate Message for that operation in the Operations Editor will be always selected after the import if there is at least one schema for that operation in WSDL.

WSDLImport TRA File Configuration The BusinessConnect SOAP Protocol WSDL import tool uses wsdlimport.tra file located under \tibco\bc\version\protocols\soap\tools\wsdl for configuration and command line arguments. Table 40 and Table 41 describe the properties in the file wsdlimport.tra that the user should modify for WSDL import. Table 40 BusinessConnect Database Configuration Properties for WSDL Import Properties
Database connection
java.property.bc.repo.db.user=database

user password

java.property.bc.repo.db.password=database

TIBCO BusinessConnect SOAP Protocol Users Guide

160

| Appendix C

BusinessConnect SOAP Protocol WSDL Tool

Table 40 BusinessConnect Database Configuration Properties for WSDL Import Properties


Database vendor name (such as MSSQL, DB2, MySQL, Oracle) Database name Database port number (such as 1433 for MSSQL) Database host name java.property.bc.repo.db.vendor=database vendor name java.property.oracle.sid=sid for oracle database java.property.db=database name java.property.db.port=database port

java.property.db.serverName=database host name

Table 41 WSDL File, Trading Partner, and Local Host Name Properties for WSDL Import Properties
WSDL file name property java.property.wsdlfilename=WSDL filename This property specifies the WSDL file name to be imported. If the WSDL filename is a directory, then all the WSDL files under this directory will be imported. Trading partner name property java.property.tradingpartner=trading partner name Name of the trading partner. This value is used to create Business Agreement Local host name property Local host name property java.property.hostname=host name Host name to be used in a multi host configuration. This value is used to create Business Agreement between this trading partner and host. If this property is not specified then default host will be used.

TIBCO BusinessConnect SOAP Protocol Users Guide

WSDL Export 161

WSDL Export
To export WSDL files from BusinessConnect configuration, use the following commands: Windows Platform:
\tibco\bc\version\protocols\soap\tools\wsdl\wsdlexport.exe

UNIX Platform:
\tibco\bc\version\protocols\soap\tools\wsdl\wsdlexport

In order to export schemas in to a WSDL file, the root element has to be present. If there is no root element, schema will not be exported even if it was uploaded in the GUI. WSDLExport TRA file configuration The BusinessConnect SOAP Protocol WSDL export tool uses wsdlimport.tra file located under \tibco\bc\version\protocols\soap\tools\wsdl for configuration and command line arguments. Table 42 and Table 43 describe the properties in the file wsdlexport.tra that the user should modify for WSDL export. Table 42 BusinessConnect Database Configuration Properties for WSDL Export Properties
Database connection java.property.bc.repo.db.user=database user java.property.bc.repo.db.password=database password Database vendor name (such as MSSQL, DB2, MySQL, Oracle) Database name Database port number (such as 1433 for MSSQL) Database host name java.property.bc.repo.db.vendor=database vendor name java.property.oracle.sid=sid for oracle database java.property.db=database name java.property.db.port=database port

java.property.db.serverName=database host name

TIBCO BusinessConnect SOAP Protocol Users 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 WSDL endpoint URL property WSDL service name property WSDL namespace property WSDL export list property
java.property.wsdlfilename=wsdl file name java.property.wsdl.url=url

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


java.property.wsdl.service=service

name

java.property.wsdl.namespace=wsdl namespace

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 /

java.property.wsdl.operationlist=export list

TIBCO BusinessConnect SOAP Protocol Users Guide

Index 163

Index

A
adding a domain identity 74 adding a domain identity for a partner 79 adding a version to an interface 57 adding an operation to a version 58 advisory message 133 anonymous SOAP messages 74 attachment allowed formats 135 determine the Content-Type property 136 object fields 139 preserve SOAP 5.0 functionality 138 attachments inbound 137 outbound 136 audit logs 91

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

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

E
edit an operation binding for partner 85 editing an operation binding for host 84 operation settings tab 84 transports tab 85 editing an operation binding for partner operation settings tab 85 exchanging identity information 52 exchanging URI definitions 51
TIBCO BusinessConnect SOAP Protocol Users Guide

164

| Index
exporting the SOAP interface 68

P
private messages and processes 5 public messages 5

I
import the SOAP interface 56 importing interfaces 67 initiator inbound response BusinessConnect to private process 124 initiator outbound request private process to BusinessConnect 121

R
request-response operation 6 resend logs 100 responder acknowledgement BusinessConnect to private process 132 responder inbound request BusinessConnect to private process 127 responder outbound response private process to BusinessConnect 130

M
managing SOAP envelope attributes 116 multipart MIME messages 135

S N
non-repudiation logs 98 notify operation 6 notify transaction process flow 6 schema validation errors 119 setting general properties 74, 78 setting transports for the business agreement 87 SOAP envelope attributes and namespaces 116 SOAP overview 2 SOAPFault 142 SOAPFault object fields 142 standalone tutorial configuring the business agreement 20, 24 configuring the initiator 16 configuring the responder 21 initiator machine 14 operations 12 overview 12 prerequisites 15 responder machine 14 running the tutorial 26 setting up initiator server 18 setting up responder server 23 setting up the responder as a trading partner 19 trading partners 12 transports 12 viewing the audit logs 32

O
objects included in private messages 135 operation notify 6 request-response 6 operation bindings tab 83 operation properties 59 operation properties, Action tab 60, 62 operation properties, General tab 59 operation types and process flows 6 OriginalContentType 137 overriding participant settings 87

TIBCO BusinessConnect SOAP Protocol Users Guide

Index 165

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

T
trading with a third-party SOAP implementation 106

TIBCO BusinessConnect SOAP Protocol Users Guide

166

| Index

TIBCO BusinessConnect SOAP Protocol Users Guide

S-ar putea să vă placă și