Documente Academic
Documente Profesional
Documente Cultură
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
Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Running the TIBCO BusinessWorks Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Viewing the Audit Logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
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
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
General Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 Advisory Message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 Attachment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 Attachment Object. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 TradingPartner. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 Attribute. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 SOAPFault . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 Detail Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Contents vii
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
viii
| Contents
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
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
| xiii
Preface
Topics
Related Documentation, page xiv Typographical Conventions, page xvi How to Contact TIBCO Support, page xvii
xiv
Preface
Related Documentation
This section lists documentation resources that you may find useful.
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.
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]
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.
xviii
Preface
|1
Chapter 1
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
| Chapter 1
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.
| Chapter 1
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.
| Chapter 1
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.
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.
| Chapter 1
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.
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.
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.
10
| Chapter 1
| 11
Chapter 2
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
12
| Chapter 2
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
Internet
3
Legend Request Response ACK BusinessConnect SOAP Protocol
Receive Request
4
Send Response
6
Company B
14
| Chapter 2
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
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
Responder.
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.
16
| Chapter 2
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
9. Click Import. The Edit Operations dialog appears with imported operations. Figure 4 Imported Operations PONotify and POSync
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.
18
| Chapter 2
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.
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.
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.
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.
20
| Chapter 2
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
7. Click Open. 8. Click OK. 9. Enter a password (not required). 10. Click Import. 11. Click Done.
22
| Chapter 2
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
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 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
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
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.
26
| Chapter 2
replace %%BC_INSTANCE% with the name of your installation, such as BC-Responder. In the line SET
JDK_DIR = %%JDK_DIR%%
3. Using the command line interface, start the Responder private process on the Responder machine by executing the following command: on Windows: BC_install_dir\protocols\soap\samples\server\
runsoapserver.bat
on UNIX: BC_install_dir\protocols\soap\samples\server\
runsoapserver
Example: runsoapserver
C:\tibco\bc\5.1\protocols\soap\samples\server>runsoapserver.bat **** 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 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:
28
| Chapter 2
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" />
<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>
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
30
| Chapter 2
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
32
| Chapter 2
# # SOAP Client Private process property file. # #client.operationID: POInterface/1.0/PONotify client.operationID: POInterface/1.0/POSync client.tradingPartnerID:SOAPServer client.encoding:ISO8859_1 #client.transactionID:uuid:1234567917 attachment1.name:po.txt attachment1.contentID:<process-1@xyz.com> attachment1.contentType:text/plain attachment2.name:image.gif attachment2.contentID:<process-2@xyz.com> attachment2.contentType:binary
or
#client.operationID: POInterface/1.0/POSync
3. The operation that is not commented out will be executed: PONotify or POSync.
7. Click on the transaction for which you would like to see the details. The Transaction Details screen appears with the details of this transaction, as shown in Figure 6. Figure 6 Transaction Detail on the Initiator Side
34
| Chapter 2
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
| 35
Chapter 3
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
36
| Chapter 3
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.
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
2
Internet
4
Legend Notify ACK BusinessConnect SOAP Protocol
Company B
BusinessWorks
Receive Notification
38
| Chapter 3
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
Once both machines are configured, proceed with Configuring BusinessWorks Private Processes on page 39.
40
| Chapter 3
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.
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.
42
| Chapter 3
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.
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.
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.
44
| Chapter 3
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.
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).
46
| Chapter 3
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.
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
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
| 49
Chapter 4
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
50
| Chapter 4
52
| Chapter 4
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.
| 53
Chapter 5
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
54
| Chapter 5
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.
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.
56
| Chapter 5
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
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
58
| Chapter 5
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.
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
60
| Chapter 5
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.
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.
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.
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.
62
| Chapter 5
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.
64
| Chapter 5
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.
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.
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.
66
| Chapter 5
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.
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
68
| Chapter 5
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.
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
70
| Chapter 5
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.
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.
72
| Chapter 5
16. Enter the SOAP Body Root Element Name. 17. Click Save.
| 73
Chapter 6
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
74
| Chapter 6
76
| Chapter 6
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
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)
78
| Chapter 6
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>
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.
80
| Chapter 6
| 81
Chapter 7
Topics
Configure SOAP Agreement Protocol Binding, page 82 Operation Bindings Tab, page 83 Document Security Tab, page 86 Transports Tab, page 87
82
| Chapter 7
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.
84
| Chapter 7
SOAPAction
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.
SOAPAction
86
| Chapter 7
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
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.
| 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
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
Accessing Logs
To access a log, do the following: 1. Click the BusinessConnect > Log Viewer link in the left panel. 2. Click a link in the right panel to select which log to view: Audit Logs to display the audit log search options. Resend Logs to display the resend log search options. Non-repudiation Logs to display the non-repudiation log search options. 3. Select SOAP in the Protocol dropdown list. 4. Invoke a search by following the procedures described in TIBCO BusinessConnect Trading Partner Administration Guide.
Audit Logs 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
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.
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:
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.
Audit Logs 93
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.
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
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
Audit Logs 95
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
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
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
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
RESPONSE_FROM_PP
Received response from private process Response sent to trading partner SOAP Message packaged successfully
RESPONSE_TO_TP
PACKAGE_MSG
UNPACKAGE_MSG
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
Audit Logs 97
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
COMPLETED_WITH_ ERROR
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
COMPLETED, COMPLETED_WITH_ERROR,
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).
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.
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.
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,
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
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.
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.
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.
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.
104
| Chapter 8
Viewing Logs
| 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
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.
108
| Chapter 9
Advanced Topics
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
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
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.
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.
112
| Chapter 9
Advanced Topics
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.
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.
114
| Chapter 9
Advanced Topics
<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>
116
| Chapter 9
Advanced Topics
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.
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.
118
| Chapter 9
Advanced Topics
| 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
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
Initiator Messages
Subject Name
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.
122
| Chapter 10
Private Messages
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
request
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.
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.
124
| Chapter 10
Private Messages
BC Initiator
Internet
BC Responder
Initiator Response
Subject Name
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
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.
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.
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.
Responder Messages
.Subject Name
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.
128
| Chapter 10
Private Messages
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.
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
Type Sequence of
Attachment
Required No
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
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
130
| Chapter 10
Private Messages
BC Initiator
Internet
BC Responder
Responder Response
Subject Name
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
Type Sequence of
Attachment
Required No
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
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
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.
132
| Chapter 10
Private Messages
BC Initiator
Internet
BC Responder
Responder Acknowledgement
Subject Name
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
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
General Messages
Advisory Message
This message is used to publish status information.
Subject Name
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
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
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.
faultCode
String
No
SOAP fault code that indicates an error when processing the SOAP header Example: SOAP-ENV:Server.
faultString
String
No
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
No No No No
timestamp extraInfo
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
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.
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.
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.
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.
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-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.
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
Attribute 141
Attribute
The Attribute object (ae/SOAP/Attribute) has the following fields: Table 36 Attribute Object Field
name value
Description The name of the attribute The value associated with the name
142
| Chapter 10
Private Messages
SOAPFault
The SOAPFault object (ae/SOAP/SOAPFault) has the following fields: Table 37 SOAP Fault Object Field
faultCode
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.
Detail Class
The Detail class has the following fields: Table 38 Detail Class Field
Code
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
144
| Chapter 10
Private Messages
| 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
146
| Appendix A
Status Codes
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.
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
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
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
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
Error
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
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
System
The 900 - 999 status codes are for errors trapped by the Responder and sent back to the Initiator:
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
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
Error
922
Error
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
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
999
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
152
| Appendix A
Status Codes
| 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
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.
The SOAP advisory message will be published both on the Initiator and Responder side, with the statusMsg element containing the schema validation errors.
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.
| 157
Appendix C
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
158
| Appendix C
Overview
The BusinessConnect SOAP Protocol WSDL Tool allows users to import and export WSDL files into BusinessConnect configuration. The BusinessConnect SOAP Protocol WSDL tool does not take care of setting certificates for participants. After the import, you must explicitly set certificates for the HTTPS/HTTPSCA transports.
WSDL Import
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
160
| Appendix C
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.
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
162
| Appendix C
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
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
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
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
166
| Index