We are trying to send the POR document back to CommerceOne. While sending the document, as per CommerceOne, the three parameters 1. correlation id 2. message ID and Content id has to have distinct values. The message id and content id has to have same values which should be different from the correlation id. The correlation id should have the same value as it was when the PO was received. While we send the POR back, it looks like all the 3 variables have the same values. Any idea how to map the right values to the POR envelope?
Thanks in advance!
Vinod,
We do PORs with C1 and have not got any issues. We map the sender, receiver and correlation id from the original PO meaning the message id is blank. We then use the service ‘pub.marketconnect.envelope:createEnvelopeFromString’ to create envelope object from these values and it does seem to populate a unique message id. I have not created this flow myself but just joined the WM group recently. May be this helps.
Hi Afroz,
Thanks for the info. We are trying to test it and are still getting the same error. Here is how we are trying. We receive the PO thru webMethods. We invoke a flow which creates the POR and then submits the POR document back to Trading Networks. There is a processing rule which looks for POR’s and once it is received, it invokes a flow which has 2 steps.
- createEnvelopefromString
- sendEnvelope
It would really be helpful if you could get some information about how the unique messageId and ContentID are passed back to CommerceOne.
Thanks in advance.
Vinod,
we are using the C1OnRamp without difficulty either.
The messageID and ContentID are unique for every message. They are created by the createEnvelopeFromString Service and you should not try to change them.
The correlationID is the same as the messageId and the ContentID if you do not not specify one in the createEnvelopeFromString service, which is fine for an Order (the first document of the documents chain) but not for an OrderResponse (you should have the same as the one for the corresponding Order). You grab the correlationID from the envelope of the Order using getEnvelopeHeader.
Hopes this helps
bruno
Bruno,
Thanks a lot for your reply.
Here is the problem that I am having with the POR document. I am receiving the PO, processing it and sending the POR back. When the POR hits the buyer, it looks like the correlationID, MessageID and ContentID are the same. What I am doing is, get the PO document from commerceone (eScout), get the correlationID using the pub.marketconnect.tn.util:getMarketConnectEnvelopeFrombizDoc and then pub.marketconnect.envelope:getEnvelopeHeader.
Then while sending the POR back, I use the createEnvelopeFromString and map the correlation id from the PO to the POR.
The buyer is complaining that when they receive the POR document all the correlationID, MessageID and ContentID are the same. We are using IS4.6 and webMethods B2B OnRamp for Commerce One MarketSite
Version 3.0, Build Number 58.
Any ideas what I am doing wrong?
Thanks in advance.
> Version 3.0, Build Number 58.
Hi Vinod - I think you may be running an older version of the C1 OnRamp which has a bug that wrongly set the X-correlationID in the C1 Envelope of the POR.
The version of C1 OnRamp we have here is:
Version 3.0.6
Build Number 64
You can get the updates from WM support.
Sonam
Hi Vinod,
we are using C1OnRamps v1 and V3 but not exactly the same versions as you are. Try Sonam’s suggestion of upgrade.
One thing handy we do to check what we send is using a small java service, say envelopeToString (see below), which converts the mime envelope to a string and we mail it to us using the smtp service. At least you will know whether this is you or your buyer that has the issue.
input: “envelope” object - output “envelopeAsString” string
if (id.first(“envelope”))
{
Object ob= (Object) id.getValue();
id.insertAfter(“envelopeAsString”, ob.toString());
}
cheers
bruno
Sonam,
Thanks for the info. I have a ticket open with webMethods and will ask them about the new version. Thanks a lot.
Bruno,
I invoked the createEnvelopeFromString and as the next steps, did a getEnvelopeHeader and a recordToDocument on the envelopeHeader record and wrote to the logs. It looks like when I send the POR, the values are all the same.
Thanks a lot and will let you guys know what happens.
Have a great week!!!
Hey Guys,
At last the issues are resolved. I installed the service pack for C1 (Version 3.0.12 - Build Number 70) from webMethods and before invoking the “pub.marketconnect.envelope:createEnvelopeFromString” had to drop the “envelope” object and the “envelopeHeader” record (created from the PO) from the pipeline.
Thanks for Matt Allin from eScout for his help and thanks a lot all you guys for all your help.