webMethods

webMethods

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.

 View Only
Expand all | Collapse all

Catch RNIF ACK

  • 1.  Catch RNIF ACK

    Posted Wed May 21, 2008 02:56 PM

    We do not have the RN package from Wm but we don’t see why we need it. We send a MIME order to a customer they send a RNIF ACK back through a reverse invoke server. When I use getTransportInfo() all of the HTTP header information is there with a content of 7055, but there is no content anywhere? I figured this would also catch the content? If not how do I get the content out?

    Thanks!:eek:


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


  • 2.  RE: Catch RNIF ACK

    Posted Wed May 21, 2008 03:05 PM

    getTransportInfo() will not extract the content…Basically when the document hits your service the pipeline should have some document(node) or bytes or contentStream and you need to extract the data from it.

    What you have in the pipeline bizdoc??

    Can you elaborate on your process flow?

    HTH,
    RMg


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


  • 3.  RE: Catch RNIF ACK

    Posted Wed May 21, 2008 03:10 PM

    I have the receiving service with a object called node as input. The first step is getTransportInfo(), then I run a save to pipeline to see what is there. This is what I get.

    [SIZE=2][COLOR=#008080]

    <?[/color][/size][SIZE=2][COLOR=#3f7f7f]xml [/color][/size][SIZE=2][COLOR=#7f007f]version[/color][/size][SIZE=2]=[/size][SIZE=2][COLOR=#2a00ff]"1.0" [/color][/size][SIZE=2][COLOR=#7f007f]encoding[/color][/size][SIZE=2]=[/size][SIZE=2][COLOR=#2a00ff]"UTF-8"[/color][/size][SIZE=2][COLOR=#008080]?>

    [/color][/size][SIZE=2]

    [/size][SIZE=2][COLOR=#008080]

    <[/color][/size]IDataXMLCoder version=“1.0”[SIZE=2][COLOR=#008080]>

    [/color][/size][SIZE=2]

    [/size]<record javaclass=“com.wm.data.ISMemDataImpl”[SIZE=2][COLOR=#008080]>

    [/color][/size][SIZE=2]

    [/size]<value name=“fileName”>\usadanws80\d$\Share\PIDX\in\Chevron\test\PipeLine\receiveChevronXMLTest.xml</value[SIZE=2][COLOR=#008080]>

    [/color][/size][SIZE=2]

    [/size]<record name=“transport” javaclass=“com.wm.data.ISMemDataImpl”[SIZE=2][COLOR=#008080]>

    [/color][/size][SIZE=2]

    [/size]<record name=“http” javaclass=“com.wm.data.ISMemDataImpl”[SIZE=2][COLOR=#008080]>

    [/color][/size][SIZE=2]

    [/size]<value name=“requestUrl”>/invoke/PxPIDX.incoming:receiveChevronXMLTest</value[SIZE=2][COLOR=#008080]>

    [/color][/size][SIZE=2]

    [/size]<value name=“query”></value[SIZE=2][COLOR=#008080]>

    [/color][/size][SIZE=2]

    [/size]<record name=“requestHdrs” javaclass=“com.wm.data.ISMemDataImpl”[SIZE=2][COLOR=#008080]>

    [/color][/size][SIZE=2]

    [/size]<value name=“x-RN-Response-Type”>async</value[SIZE=2][COLOR=#008080]>

    [/color][/size][SIZE=2]

    [/size]<value name=“MIME-Version”>1.0</value[SIZE=2][COLOR=#008080]>

    [/color][/size][SIZE=2]

    [/size]<value name=“Date”>19 May 2008 09:56:52 GMT</value[SIZE=2][COLOR=#008080]>

    [/color][/size][SIZE=2]

    [/size]<value name=“User-Agent”>TIB-BusinessConnect-RosettaNet/2.0</value[SIZE=2][COLOR=#008080]>

    [/color][/size][SIZE=2]

    [/size]<value name=“Accept”>/</value[SIZE=2][COLOR=#008080]>

    [/color][/size][SIZE=2]

    [/size]<value name=“Host”>********</value[SIZE=2][COLOR=#008080]>

    [/color][/size][SIZE=2]

    [/size]<value name=“Content-type”>multipart/related; type=“multipart/related”; boundary=“_cBpddwd-OvB5-39mWzzyZr-zzw”</value[SIZE=2][COLOR=#008080]>

    [/color][/size][SIZE=2]

    [/size]<value name=“x-RN-Version”>RosettaNet/V02.00</value[SIZE=2][COLOR=#008080]>

    [/color][/size][SIZE=2]

    [/size]<value name=“Content-Length”>7055</value[SIZE=2][COLOR=#008080]>

    [/color][/size][SIZE=2]

    [/size]</record[SIZE=2][COLOR=#008080]>

    [/color][/size][SIZE=2]

    [/size]</record[SIZE=2][COLOR=#008080]>

    [/color][/size][SIZE=2]

    [/size]<value name=“protocol”>REVINVOKE</value[SIZE=2][COLOR=#008080]>

    [/color][/size][SIZE=2]

    [/size]</record[SIZE=2][COLOR=#008080]>

    [/color][/size][SIZE=2]

    [/size]</record>
    </
    IDataXMLCoder>


    Im not sure what I have to do to catch the content piece?

    [SIZE=2][COLOR=#008080]Thanks for your help!

    [/COLOR][/size]


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


  • 4.  RE: Catch RNIF ACK

    Posted Wed May 21, 2008 03:15 PM

    If you see the “node” then use xmlNodeToDocument service in the beginning step and map the service input node to it and the output Document will have the content (IDATA)

    HTH,
    RMG


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


  • 5.  RE: Catch RNIF ACK

    Posted Wed May 21, 2008 03:32 PM

    There isnt’ a node though it seems. My receiving service has a “node” as input assuming it will get caught.

    I have the following logic in my service.

    SEQ (SUCCESS)
    SEQ(FAILURE)
    xmlNodeToDocument with the input node mapped in
    getTransportInfo()
    savePipeLineFile
    SEQ(DONE)
    getLastError()
    savePipeLineFile
    smtp

    It doesn’t error out because I never get an email so it runs through the code ok. But the save pipeline file still has no IDATA in it? I’ve pasted the pipeline again…

    <?xml version="1.0" encoding="UTF-8"?> \\usadanws80\d$\Share\PIDX\in\Chevron\test\PipeLine\receiveChevronXMLTest.xml /invoke/PxPIDX.incoming:receiveChevronXMLTest async 1.0 21 May 2008 08:58:17 GMT TIB-BusinessConnect-RosettaNet/2.0 */* ************** multipart/related; type="multipart/related"; boundary="73e-rO3-0wHRaU39ouzzyZr-zzw" RosettaNet/V02.00 7055 REVINVOKE

    Thanks again for any assistance.


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


  • 6.  RE: Catch RNIF ACK

    Posted Wed May 21, 2008 03:56 PM

    See you cannot depend on the savePipeline…So step thru the flow and see the output of xmlNodeToDocument (document IDATA) has the content in the pipeline.

    Put the code this way

    savePipeLineToFile
    restorePipeLineToFile(disable)
    xmlNodeToDocument (with the input node mapped in)
    getTransportInfo()

    and then disable savepipeline and enable the restorePipeline and step thru the flow to see the output of node to document service for debugging.

    Are you able to see the content at this point??

    Is your flowservice invoked directly when you receive the RNIFAck from http??

    HTH,
    RMG


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


  • 7.  RE: Catch RNIF ACK

    Posted Wed May 21, 2008 04:01 PM

    You can’t save an object like that in the pipeline. When you write out savePipeline it doesn’t save the object because its a reference to an object in memory. I did what you said and here is the pipeline after the savePipeline.

    <?xml version="1.0" encoding="UTF-8"?> \\usadanws80\d$\Share\PIDX\in\Chevron\test\PipeLine\receiveChevronXMLTest.xml

    The reference to the object is not there. This is soooo annyoing…


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


  • 8.  RE: Catch RNIF ACK

    Posted Wed May 21, 2008 04:04 PM

    For XCBL we have a nother customer sending us an acknowlegement perfectly fine. We use the logic stated below. We have the node object as the service input, then when I run xmlNodeToDocument there is data there. It just seems we can’t get the RNIF data.


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


  • 9.  RE: Catch RNIF ACK

    Posted Wed May 21, 2008 04:13 PM

    Yes objects/streams connot be saved…you can track with getTransportInfo but since this is RNIF data it behaves differently as it is multipart related (application/Rosettanet)

    To extract the RNIF data you need to have WmRosettanet or PIDX Adapter and its services to extract the RNIF headers/payload (ServiceContent)

    XCBL is differrent from RNIF PIP (RA-ReceiptAcknowledgment) or PIDX that you are receiving.but both are XML standards.

    HTH,
    RMG


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


  • 10.  RE: Catch RNIF ACK

    Posted Thu December 18, 2014 02:20 AM

    Hi All,

    We are also trying to receive RNIF ack from a customer in the same approach described in the above post. But we could not figure out how to catch the content. Let us know if you have identified the way to get the content.

    Thanks in advance.


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


  • 11.  RE: Catch RNIF ACK

    Posted Mon January 12, 2015 12:17 PM

    Try using pub.flow:tracePipeline at the same point as you have savePipelineToFile.

    My guess is that the input is going into your service as a stream, and savePipelineToFile doesn’t capture streams. tracePipeline will write the names of all the pipeline variables to your server log, which will allow you to see what’s in the pipeline that savePipelineToFile isn’t capturing.


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


  • 12.  RE: Catch RNIF ACK

    Posted Mon January 12, 2015 12:46 PM

    I agree with Eric and trace the pipeline for the best results and peek the vars.


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