Advertisement

Quick Links

Chorus B2B Gateway
User Guide
22 May 2009
Version 0.4.3

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the B2B and is the answer not in the manual?

Questions and answers

Summary of Contents for Chorus B2B

  • Page 1 Chorus B2B Gateway User Guide 22 May 2009 Version 0.4.3...
  • Page 2 This table shows a record of significant changes to the document. Version Date Author Description 10 February Dane Moodie First draft for review by Chorus. 2009 23 February Dane Moodie Updated based on feedback from Jacqui Barclay. 2009 Updated CPA example based on IBM feedback.
  • Page 3: Table Of Contents

    TESTING YOUR IMPLEMENTATION.................. 21 3.1......................21 ESTING NTERNALLY 3.1.1. Sending Messages ....................21 3.1.2. Receiving Acknowledgements from Chorus..............24 3.1.3. Receiving Messages from Chorus ................25 3.2....................26 HORUS ONNECTIVITY 3.3................26 ESTING AGAINST THE HORUS ATEWAY MOVING TO PRODUCTION ....................
  • Page 4: Introduction

    1. Introduction 1.1.1. Objectives of Manual The Chorus B2B Gateway is intended to allow Chorus’ customers to access our products and services utilising a business to business document exchange mechanism. This User Guide will define the technical steps that should be followed to allow your business to begin trading with us through our B2B Gateway.
  • Page 5 Message Service: one of the ebXML protocols utilised by the Chorus B2B Gateway ebXML The suite of protocols implemented on the Chorus B2B Gateway HTTP Hypertext Transfer Protocol: The application layer protocol used for communicating with the Chorus B2B Gateway...
  • Page 6: What Is The Chorus B2B Gateway

    Encryption will be achieved via the use of HTTPS with the Chorus B2B Gateway rather than XML Encryption. Essentially this moves encryption outside the realm of the ebXML layer, and into the communication layer.
  • Page 7: Assumptions

    1.5. Assumptions This guide assumes that • your business has been accepted to trade via the Chorus B2B Gateway. This guide will not provide information on legal agreements that must be signed, or accounts that must be established. • you have selected a Message Handler System, and implemented it within your company.
  • Page 8: Getting Started

    Chorus B2B User Guide 2. Getting Started In order to begin communicating with us via the Chorus B2B Gateway, you must implement an ebMS 2.0 compliant Message Service Handler (MSH). This MSH will typically be exposed to other applications within your company allowing these applications to send business documents through it to Chorus, and receive business documents from Chorus.
  • Page 9: Overview

    2.1. Overview In order to begin using the Chorus B2B Gateway, the following steps need to be followed. These will be defined in detail in the remainder of this document: 1. Implement and test your MSH internally 2.
  • Page 10: Information Required By Chorus

    The email address for alerts generated from the Any alerts generated by the Chorus B2B Gateway will be sent to this email address. If this is not included, alerts will not be sent via email. The list of alerts that will be sent is described in section 6.
  • Page 11: Collaboration Protocol Agreement Document

    This information will form the basis of the two Collaboration Protocol Agreement (CPA) documents that will be provided to you during the on-ramping process: 1. A CPA document that can be utilised for testing your MSH against the Chorus Test B2B Gateway.
  • Page 12 Chorus B2B User Guide xlink:href="http://www.accord.com.sg/processes/ChorusService.xml#ServiceProvider"/> <tp:ServiceBinding> <tp:Service tp:type="type">Fulfill Message$1.0</tp:Service> <tp:CanSend> <tp:ThisPartyActionBinding tp:id="Chorus_CanSend" tp:action="Fulfill Message" tp:packageId="BusinessPackage"> <tp:BusinessTransactionCharacteristics tp:isNonRepudiationRequired="true" tp:isNonRepudiationReceiptRequired="false" tp:isAuthorizationRequired="true" tp:isIntelligibleCheckRequired="false" tp:timeToAcknowledgeReceipt="PT60S" tp:timeToAcknowledgeAcceptance="PT60S"/> <tp:ChannelId>Chorus_DC</tp:ChannelId> </tp:ThisPartyActionBinding> <tp:OtherPartyActionBinding>UniversalExports_CanRecv</tp:OtherPartyActionBinding> </tp:CanSend> <tp:CanReceive> <tp:ThisPartyActionBinding tp:id="Chorus_CanRecv" tp:action="Fulfill Message" tp:packageId="BusinessPackage"> <tp:BusinessTransactionCharacteristics tp:isNonRepudiationRequired="true" tp:isNonRepudiationReceiptRequired="false" tp:isAuthorizationRequired="true" tp:isIntelligibleCheckRequired="false" tp:timeToAcknowledgeReceipt="PT60S" tp:timeToAcknowledgeAcceptance="PT60S" tp:retryCount="0"/>...
  • Page 13 Chorus B2B User Guide <tp:Role tp:name="ServiceProvider" xlink:type="simple" xlink:href="http://www.accord.com.sg/processes/ChorusService.xml#ServiceProvider"/> <tp:ServiceBinding> <tp:Service tp:type="type">Fulfill Error Message$1.0</tp:Service> <tp:CanSend> <tp:ThisPartyActionBinding tp:id="Chorus_CanSend_Error" tp:action="Fulfill Error Message" tp:packageId="BusinessPackage"> <tp:BusinessTransactionCharacteristics tp:isNonRepudiationRequired="true" tp:isNonRepudiationReceiptRequired="false" tp:isAuthorizationRequired="true" tp:isIntelligibleCheckRequired="false" tp:timeToAcknowledgeReceipt="PT60S" tp:timeToAcknowledgeAcceptance="PT60S"/> <tp:ChannelId>Chorus_DC</tp:ChannelId> </tp:ThisPartyActionBinding> <tp:OtherPartyActionBinding>UniversalExports_CanRecv_Error</tp:OtherPartyActionBinding> </tp:CanSend> <tp:CanReceive> <tp:ThisPartyActionBinding tp:id="Chorus_CanRecv_Error" tp:action="Fulfill Error Message" tp:packageId="BusinessPackage"> <tp:BusinessTransactionCharacteristics tp:isNonRepudiationRequired="true" tp:isNonRepudiationReceiptRequired="false"...
  • Page 14 Chorus B2B User Guide <ds:KeyName>Chorus_ssl</ds:KeyName> </ds:KeyInfo> </tp:Certificate> <tp:Certificate tp:certId="Chorus_DSIG"> <ds:KeyInfo> <ds:KeyName>Chorus_dsig</ds:KeyName> </ds:KeyInfo> </tp:Certificate> <tp:SecurityDetails tp:securityId="Chorus_Security"> <tp:TrustAnchors> <tp:AnchorCertificateRef tp:certId="UniversalExports_SSL"/> <tp:AnchorCertificateRef tp:certId="UniversalExports_DSIG"/> </tp:TrustAnchors> </tp:SecurityDetails> <tp:DeliveryChannel tp:channelId="Chorus_DC" tp:transportId="Chorus_TP" tp:docExchangeId="Chorus_DE"> <tp:MessagingCharacteristics tp:syncReplyMode="none" tp:ackRequested="always" tp:ackSignatureRequested="never" tp:duplicateElimination="always"/> </tp:DeliveryChannel> <tp:Transport tp:transportId="Chorus_TP"> <tp:TransportSender> <tp:TransportProtocol tp:version="1.1">HTTPS</tp:TransportProtocol> <tp:AccessAuthentication>basic</tp:AccessAuthentication> </tp:TransportSender> <tp:TransportReceiver>...
  • Page 15 Chorus B2B User Guide <tp:PersistDuration>P1D</tp:PersistDuration> <tp:SenderNonRepudiation> <tp:NonRepudiationProtocol>http://www.w3.org/2000/09/xmldsig#</tp:NonRepudiationProtocol> <tp:HashFunction>http://www.w3.org/2000/09/xmldsig#sha1</tp:HashFunction> <tp:SignatureAlgorithm>http://www.w3.org/2000/09/xmldsig#rsa-sha1</tp:SignatureAlgorithm> <tp:SigningCertificateRef tp:certId="Chorus_DSIG"/> </tp:SenderNonRepudiation> </tp:ebXMLSenderBinding> <tp:ebXMLReceiverBinding tp:version="2.0"> <tp:ReliableMessaging> <tp:Retries>10</tp:Retries> <tp:RetryInterval>PT60S</tp:RetryInterval> <tp:MessageOrderSemantics>NotGuaranteed</tp:MessageOrderSemantics> </tp:ReliableMessaging> <tp:PersistDuration>P1D</tp:PersistDuration> </tp:ebXMLReceiverBinding> </tp:DocExchange> </tp:PartyInfo> <tp:PartyInfo tp:partyName="UniversalExports" tp:defaultMshChannelId="UniversalExports_DC" tp:defaultMshPackageId="MshSignalPackage"> <tp:PartyId tp:type="urn:nzl:telecom:b2b:uid">123456789</tp:PartyId> <tp:PartyRef xlink:href="http://www.UniversalExports.co.nz/" xlink:type="simple"/> <tp:CollaborationRole> <tp:ProcessSpecification tp:name="ChorusProcess" tp:version="1.0" xlink:type="simple" xlink:href="http://www.accord.com.sg/processes/ChorusService.xml"/> <tp:Role tp:name="ServiceConsumer" xlink:type="simple"...
  • Page 16 Chorus B2B User Guide tp:isNonRepudiationRequired="true" tp:isNonRepudiationReceiptRequired="false" tp:isAuthorizationRequired="true" tp:isIntelligibleCheckRequired="false" tp:timeToAcknowledgeReceipt="PT60S" tp:timeToAcknowledgeAcceptance="PT60S" tp:retryCount="0"/> <tp:ChannelId>UniversalExports_DC</tp:ChannelId> </tp:ThisPartyActionBinding> <tp:OtherPartyActionBinding>Chorus_CanRecv</tp:OtherPartyActionBinding> </tp:CanSend> <tp:CanReceive> <tp:ThisPartyActionBinding tp:id="UniversalExports_CanRecv" tp:action="Fulfill Message" tp:packageId="BusinessPackage"> <tp:BusinessTransactionCharacteristics tp:isNonRepudiationRequired="true" tp:isNonRepudiationReceiptRequired="false" tp:isAuthorizationRequired="true" tp:isIntelligibleCheckRequired="false" tp:timeToAcknowledgeReceipt="PT60S" tp:timeToAcknowledgeAcceptance="PT60S"/> <tp:ChannelId>UniversalExports_DC</tp:ChannelId> </tp:ThisPartyActionBinding> <tp:OtherPartyActionBinding>Chorus_CanSend</tp:OtherPartyActionBinding> </tp:CanReceive> </tp:ServiceBinding> </tp:CollaborationRole> <tp:CollaborationRole> <tp:ProcessSpecification tp:name="ChorusProcess" tp:version="1.0" xlink:type="simple" xlink:href="http://www.accord.com.sg/processes/ChorusService.xml"/>...
  • Page 17 Chorus B2B User Guide tp:isNonRepudiationRequired="true" tp:isNonRepudiationReceiptRequired="false" tp:isAuthorizationRequired="true" tp:isIntelligibleCheckRequired="false" tp:timeToAcknowledgeReceipt="PT60S" tp:timeToAcknowledgeAcceptance="PT60S" tp:retryCount="0"/> <tp:ChannelId>UniversalExports_DC</tp:ChannelId> </tp:ThisPartyActionBinding> <tp:OtherPartyActionBinding>Chorus_CanRecv_Error</tp:OtherPartyActionBinding> </tp:CanSend> <tp:CanReceive> <tp:ThisPartyActionBinding tp:id="UniversalExports_CanRecv_Error" tp:action="Fulfill Error Message" tp:packageId="BusinessPackage"> <tp:BusinessTransactionCharacteristics tp:isNonRepudiationRequired="true" tp:isNonRepudiationReceiptRequired="false" tp:isAuthorizationRequired="true" tp:isIntelligibleCheckRequired="false" tp:timeToAcknowledgeReceipt="PT60S" tp:timeToAcknowledgeAcceptance="PT60S"/> <tp:ChannelId>UniversalExports_DC</tp:ChannelId> </tp:ThisPartyActionBinding> <tp:OtherPartyActionBinding>Chorus_CanSend_Error</tp:OtherPartyActionBinding> </tp:CanReceive> </tp:ServiceBinding> </tp:CollaborationRole> <tp:Certificate tp:certId="UniversalExports_SSL"> <ds:KeyInfo> <ds:KeyName>UniversalExports_ssl</ds:KeyName> </ds:KeyInfo>...
  • Page 18 Chorus B2B User Guide <tp:AnchorCertificateRef tp:certId="Chorus_DSIG"/> </tp:TrustAnchors> </tp:SecurityDetails> <tp:DeliveryChannel tp:channelId="UniversalExports_DC" tp:transportId="UniversalExports_TP" tp:docExchangeId="UniversalExports_DE"> <tp:MessagingCharacteristics tp:syncReplyMode="none" tp:ackRequested="always" tp:ackSignatureRequested="never" tp:duplicateElimination="always"/> </tp:DeliveryChannel> <tp:Transport tp:transportId="UniversalExports_TP"> <tp:TransportSender> <tp:TransportProtocol tp:version="1.1">HTTPS</tp:TransportProtocol> <tp:AccessAuthentication>basic</tp:AccessAuthentication> </tp:TransportSender> <tp:TransportReceiver> <tp:TransportProtocol tp:version="1.1">HTTPS</tp:TransportProtocol> <tp:AccessAuthentication>basic</tp:AccessAuthentication> <tp:Endpoint tp:uri="https://b2b.chorus.co.nz/bcgreceiver/ebMSReceiver" tp:type="allPurpose"/> </tp:TransportReceiver> </tp:Transport> <tp:DocExchange tp:docExchangeId="UniversalExports_DE"> <tp:ebXMLSenderBinding tp:version="2.0"> <tp:ReliableMessaging> <tp:Retries>10</tp:Retries>...
  • Page 19 Chorus B2B User Guide </tp:SenderNonRepudiation> </tp:ebXMLSenderBinding> <tp:ebXMLReceiverBinding tp:version="2.0"> <tp:ReliableMessaging> <tp:Retries>10</tp:Retries> <tp:RetryInterval>PT60S</tp:RetryInterval> <tp:MessageOrderSemantics>NotGuaranteed</tp:MessageOrderSemantics> </tp:ReliableMessaging> <tp:PersistDuration>P1D</tp:PersistDuration> </tp:ebXMLReceiverBinding> </tp:DocExchange> </tp:PartyInfo> <tp:SimplePart tp:id="MessageHeader" tp:mimetype="text/xml"> <tp:NamespaceSupported tp:location="http://www.oasis-open.org/committees/ebxml-msg/schema/msg-header-2_0.xsd" tp:version="2.0"> http://www.oasis-open.org/committees/ebxml-msg/schema/msg-header-2_0.xsd </tp:NamespaceSupported> </tp:SimplePart> <tp:SimplePart tp:id="Payload" tp:mimetype="application/xml"/> <tp:Packaging tp:id="MshSignalPackage"> <tp:ProcessingCapabilities tp:parse="true" tp:generate="true"/> <tp:CompositeList> <tp:Composite tp:id="MshSignal" tp:mimetype="multipart/related"> <tp:Constituent tp:idref="MessageHeader"/>...
  • Page 20: Customer Certificate

    Telecom will accept certificates signed by any of the root CAs recognised by the internet Explorer web browsers. Please send an email to Chorus at b2b@chorus.co.nz if you have any doubts about the CA you have utilised. 22 May 2009 Page 20 Version 0.4.3...
  • Page 21: Test Keys

    2.4.2. Test Keys You will be required to use a separate set of keys against the Chorus Test B2B Gateway from that used against the Production B2B Gateway. Exactly the same rules and instructions apply as above, except the certificate may be a self-signed certificate rather than a certificate signed by a CA.
  • Page 22 Chorus B2B User Guide <eb:From> <eb:PartyId eb:type="urn:nzl:telecom:b2b:uid">987654325</eb:PartyId> <eb:Role>http://www.accord.com.sg/processes/ChorusService.xml#ServiceConsumer</eb:Role> </eb:From> <eb:To> <eb:PartyId eb:type="urn:nzl:telecom:b2b:uid">123456789</eb:PartyId> <eb:Role>http://www.accord.com.sg/processes/ChorusService.xml#ServiceProvider</eb:Role> </eb:To> <eb:CPAId>Chorus_TradingP4</eb:CPAId> <eb:ConversationId>bf0cf8db6fec6aee</eb:ConversationId> <eb:Service eb:type="type">Fulfill Message$1.0</eb:Service> <eb:Action>Fulfill Message</eb:Action> <eb:MessageData> <eb:MessageId>123326527165700144FFBB5C30066399501C6A1DB0D8178@sv2886.www.chorus.com</eb:M essageId> <eb:Timestamp>2009-01-29T21:41:13</eb:Timestamp> <eb:TimeToLive>2009-01-30T21:41:13</eb:TimeToLive> </eb:MessageData> </eb:MessageHeader> <eb:AckRequested SOAP:actor="http://schemas.xmlsoap.org/soap/actor/next" eb:signed="false" eb:version="2.0" soapenv:mustUnderstand="1"/> <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> <ds:SignedInfo> <ds:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml- c14n-20010315#WithComments"/> <ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa- sha1"/>...
  • Page 23 Payload Data section <eb:Action> below 8. You may optionally provide a element. If this is <eb:ConversationId> provided, this will also be provided by Chorus in any responses to this 22 May 2009 Page 23 Version 0.4.3 © Copyright Telecom 2009...
  • Page 24: Receiving Acknowledgements From Chorus

    Chorus B2B User Guide message (both receipt acknowledgements and business level responses). If you do not provide a Conversation ID, the Chorus B2B will generate a Conversation ID on your behalf. 9. An section exists, and at least 1 message is present.
  • Page 25: Receiving Messages From Chorus

    Chorus B2B User Guide <eb:MessageId>123326619475500144FF9A57002097481268D135F6C377A@www.cisdal.com</eb:MessageI d> <eb:Timestamp>2009-01-29T21:56:34</eb:Timestamp> <eb:RefToMessageId>123326527165700144FFBB5C30066399501C6A1DB0D8178@sv2886.uname.telecom.c o.nz</eb:RefToMessageId> </eb:MessageData> </eb:MessageHeader> <eb:Acknowledgment SOAP:actor="http://schemas.xmlsoap.org/soap/actor/next" eb:version="2.0" soapenv:mustUnderstand="1"> <eb:Timestamp>2009-01-29T21:56:34</eb:Timestamp> <eb:RefToMessageId>123326527165700144FFBB5C30066399501C6A1DB0D8178@sv2886.uname.telecom.c o.nz</eb:RefToMessageId> <eb:From> <eb:PartyId>123456789</eb:PartyId> </eb:From> </eb:Acknowledgment> </soapenv:Header> <soapenv:Body/> </soapenv:Envelope> The following points must be checked: 1. The party information is identical to that in the initial request, except that parties are reversed.
  • Page 26: Chorus Connectivity Test

    We will provide a series of messages that can be sent to the Chorus Test B2B Gateway, together with the responses that can be expected. By verifying that the messages received in response correspond to those expected you can verify that your Message Service Handler is configured correctly.
  • Page 27: Moving To Production

    4) Ensure Chorus have been notified of the IP addresses that connections will be established from. You may not send test messages to the Production Chorus B2B Gateway, however we do support the Ping service specified in the ebMS 2.0 specification. You may invoke our Ping service as a final connectivity test before using genuine services.
  • Page 28: Trouble Shooting

    SSL. This ensures that no third parties can view the contents of the messages exchanged. You are also required to implement SSL on the endpoint of your MSH when receiving messages from Chorus. This ensures that any message sent by us can not be viewed by other third parties. 22 May 2009 Page 28 Version 0.4.3...
  • Page 29: Non-Repudiation

    Chorus B2B User Guide If you do not wish to implement SSL inside your Message Service Handler, you may implement SSL in a proxy layer in front of your Message Service Handler. Our requirement is that any traffic routed over the Internet must be encrypted; there is no requirement that messages must be encrypted once inside your network.

Table of Contents