TN Delivery Service

There is an issue with wm.tn.delivery:deliver service which we are invoking after the document has been routed through TN.

I am trying to modify the content-part of the bizdoc in the memory, which is done ok because when I invoke wm.tn.doc:getContentPartData, it retreives the correct content(the modified one).

Once I try to deliver this document through TN delivery with the modified bizdoc, it complains about “Missing content or filename”. Also the service wm.tn.doc:getDeliveryContent returns deliveryContent as null.

I am currently working on 6.0.1. I had used the same mechanism in 4.6 and it used to work on 4.6 version.

Has anyone experienced similar problem and any resolution for it?

Nitin,

How are you modifing the content-part?Are you using this (wm.tn.doc:addContentPart).can you elaborate on this.

I guess some how the modified content part in the bizdoc and content-type is not liking by TN which you are routing via deliver service and so it is returning null content.

So please make sure the content-part,partName,mimeType that you are modifying in the bizdoc using addContentPart are as per the TN standards.

I am wondering the same process working in 4.6 it should work as it is in 6.x tii,since the process is not been changed.

HTH,
RMG.

RMG,

I tried several ways of modifying the content.

I tried creating a new bizdoc from the service wm.tn.doc:createNewEnvelope and then used wm.tn.doc:addContentPart, the content is added properly(as viewed from the pipeline) but when trying to deliver, it results in the same error message.

I tried overwriting the content of the original bizdoc as a map step overwriting the bizdoc/ContentParts’s PartName, MimeType, Length and Bytes parameters with the new ones that I want to send. I have checked the mime types - its is one of the one supported by TN (just for test I was trying text/plain. If this had worked - I would have added the other required mime types to the original list.

Nitin

Nitin,

IS TN recognizing this modified bizdoc and showing in TA?

Have you tried first routing the bizdoc to TN using recognize and tn:submit services and ProcessingRule/Delivery method kicks of based on the partnerprofile,see if this scenario works.

HTH,
RMG

Hi RMG,

This would most probably work but I dont want to submit the document again to TN. This would mean storing the document again in TN. Custom delivery services can be another solution but as of now I just wanted an ability to modify the content of the bizdoc in the memory and use TN delivery service passing in the partner’s prefferred protocol information to deliver the document.

Thanks for responding so far.

Nitin

What are you modifying in the contentpart…including an Attachment or brand new content.just curious to know.

Anyways let see if anyone has other better solution.

goodluck,

In the current iteration I had some EDI Data as the originial content of the bizdoc and I was trying to encrypt the data in PGP encrypted format. Since that was not working. I tried modifying the content with data from a text file. That didnt work either.

Similarly the content data can be modified to encrypyted for s/mime etc.

Nitin,

Thanks for clarification.

For doing PGP encryption of edidata you have to use some PGP software and make use of the EDIForTN package PGP services for delivery.

Actually it worked for me that modifying the contentpart stuff in 6.01 and recognized by TN,this is done longtime back unfortunately i dont have that code for sharing.sorry for it.

Regards,

Nitin

You say that it worked in 4.6 but not in 6. Could it be a map step somewhere that maps from a list to a single value. In 4.6 this would automatically use the first item in the list, but in 6 we have found that it must specifically refer to item [0], or loop over the list. I believe it was a change in some core IS code somewhere. We found that even some built in wM services stopped working because of this change.

Though in the pipeline, the indexing seems to be correct. I tried with an explicit indexing- setting it to zero for the values being set for the Content Part. It still has the same failed result.