David,
The return path works the same way. The response is sent using the
requester's delivery channel which has the correct endpoint URL to get the
message to where it is supposed to go. Remember: delivery channel =
receive properties.
In summary, it's the endpoint URL that gets the message through the network
to the mailroom and to the correct place on the enterprises's internal
network (final destination MSH). The routing elements in the message
header then get it to the software entry point associated with the
destination MSH. This approach requires no global (within the enterprise)
definitions of service, action, CPAId, or anything else except the endpoint
URLs. The mail room doesn't deal with the routing elements in the message
header; it just passes the message on according to the URL.
The mailroom or any other MSH doesn't stick anything on the end of the
endpoint URL. The URL is provided in the CPP and CPA and is designed by
the people who understand the configuration of the enterprise's internal
network.
Regards,
Marty
*************************************************************************************
Martin W. Sachs
IBM T. J. Watson Research Center
P. O. B. 704
Yorktown Hts, NY 10598
914-784-7287; IBM tie line 863-7287
Notes address: Martin W Sachs/Watson/IBM
Internet address: mwsachs @ us.ibm.com
*************************************************************************************
"Burdett, David" <david.burdett@commerceone.com> on 11/12/2001 03:54:22 PM
To: Martin W Sachs/Watson/IBM@IBMUS, "Burdett, David"
<david.burdett@commerceone.com>
cc: "'Miller, Robert (GXS)'" <Robert.Miller@gxs.ge.com>, "Burdett,
David" <david.burdett@commerceone.com>, "'ebXML Messaging (E-mail)'"
<ebxml-msg@lists.oasis-open.org>
Subject: RE: [ebxml-msg] RE: The Return Path Problem
Marty
In the examples you give, are these PartyIds or are they the URL to which a
message is physically sent. I'm assuming the latter.
If so, then your suggestion works for the outbound message but I doesn't as
far as I can see work for *the return path* as the MSH returning the
message
does not know which service sent the original message and therefore what it
should put on the end of the URL.
For example, if the outbound message was as follows ...
<MessageHeader>
<From><PartyId>XYZinc</PartyId></From>
<To><PartyId>ABCco</PartyId></To>
<CPAId>ABC-XYZ-CPA</CPAId>
<ConversationId>5678</ConversationId
<Service>PriceCheck</Service>
<Action>PriceCheckResponse</Action>
<MessageData>
<MessageId>56723</MessageId>
<RefToMessageId>79465</RefToMessageId>
...
</MessageData>
...
</MessageHeader>
... then the only way the MSH sending the response to this message can know
what to put at the end of the URL is from the CPAId and the agreement that
was set up previously.
This means that you need separate CPAs for, in Use Case 1, the Buyer order
Management Service and the Price Query Service. I don't think this is right
as why should XYZ Co care which internal service made the request for a
Price Check.
... or am I missing something.
David