IBM webMethods Hybrid Integration

IBM webMethods Hybrid Integration

Join this online group to communicate across IBM product users and experts by sharing advice and best practices with peers and staying up to date regarding product enhancements.


#TechXchangePresenter
 View Only
Expand all | Collapse all

TN Large Document Processing

  • 1.  TN Large Document Processing

    Posted Fri December 23, 2005 06:29 PM

    Appreciate advice here

    I have a B2B application where

    1. File Polling Port retrieves files from a Unix Folder
    2. The File Polling Port processing service (call service A) will
      receive the ffdata object, get the content, then invoke routeXml to
      post the document content to TN
    3. TN, based on sender/receiver/document type, will ‘SYNC’ invoke
      a processing flow service (call service B)
    4. The processing service, will process the content of bizdoc

    My question is

    1. Is there any way to get webMethods TN to pass the bizdoc to the
      processing service B without the content (as Bytes).
      Our issue is some of the input files are large in size (4MB +) and
      TN, when passing the bizdoc to processing service B, is passing the
      content as Bytes. I would like to see whether I can just get TN
      to pass to service B the bizdoc only(without content as bytes), and
      then within service B, retrieve the content part as Streams

    Note: We are not using TN Large Document Processing at all and since
    it is system wide setting. We would like to know whether there is any other solution before we starts TN Large Document Processing and retrofit tons of existing application


    #Integration-Server-and-ESB
    #webMethods
    #B2B-Integration


  • 2.  RE: TN Large Document Processing

    Posted Fri December 23, 2005 10:01 PM

    Hey Stephen,

    Happy Holidays.

    Unfortunately to accomplish what you want you need to have LargeDoc configured. Then TN does not push the entire contents to you. You would then use getContentPartData, followed by streamToString.

    If someone else knows a work around I’m very interested in hearing also.


    #Integration-Server-and-ESB
    #webMethods
    #B2B-Integration


  • 3.  RE: TN Large Document Processing

    Posted Mon December 26, 2005 04:08 AM

    Stephen,

    Normally we try to avoid largeDoc processing as much as possible, but I guess you already know that 8) It kills performance, makes the whole processing logic a bit harder to understand, and lastly requires you to figure out where best to “chop” the document so that you don’t end up with multiple levels of “largeDocs”.

    I’m guessing there’s two alternatives for you, w/o having to change the BigDocThreshold:

    1. persist only the filename into bizDoc, and have your processing service read in the file yourself. Definitely ugly, and you won’t have a record of what exactly you’ve processed in TN.

    2. I’m not sure if this will work, but might worth a try – Construct bizDoc yourself in step 2 (File Polling invoked service). Call wm.tn.doc:createNewEnvelope, and then wm.tn.doc:addContentPart, supplying storageType and storageRef. My thinking is by supplying the storage parameters, TN will treat the document as largeDoc irregardless of the BigDocThreshold. Unfortunately I don’t have time to try this, so I can offer it up as a possibility. 8(

    Lastly, both RosettaNet and EDI (for TN and EDIINT) offer additional services to deal with largeDocs. FYR.


    #B2B-Integration
    #Integration-Server-and-ESB
    #webMethods