4 Replies Latest reply: Mar 14, 2013 12:14 PM by Gaétan Berthold RSS

    IDS - Returning the output as part of the MSMQ message

    Gaétan Berthold
      Hi,

      We are currently using IDS to connect to a Documaker archive. IDS returns the PDF output embedded in the MSMQ message and that works fine, using the ReqType:PRTWEB.

      I'm trying to setup IDS to run Documaker and return the PDF output, using the ReqType:RPD and it doesn't work. Gendata is executed and the PDF file is created, no errors, except that the MSMQ message does not contain the PDF. What am I doing wrong?

      <section name="ReqType:*PRTWEB*">
           <entry name="function">atcw32-&gt;ATCLogTransaction</entry>
           <entry name="function">atcw32-&gt;ATCLoadAttachment</entry>
           <entry name="function">dprw32-&gt;DPRSetConfig</entry>
           <entry name="function">dprw32-&gt;DPRTermDB</entry>
           <entry name="function">dprw32-&gt;DPRInitLby</entry>
           <entry name="function">atcw32-&gt;ATCUnloadAttachment</entry>
           *<entry name="function">atcw32-&gt;ATCSendFile,PRINTFILE,PRINTFILE,Binary</entry>*
           <entry name="function">dprw32-&gt;DPRRetrieveFormset</entry>
           <entry name="function">dprw32-&gt;DPRPrint</entry>
           <entry name="function">dprw32-&gt;DPRProcessTemplates</entry>
           <!-- -->
      </section>

      <section name="ReqType:*RPD*">
           <entry name="function">atcw32-&gt;ATCLogTransaction</entry>
           <entry name="function">atcw32-&gt;ATCLoadAttachment</entry>
           <entry name="function">atcw32-&gt;ATCUnloadAttachment</entry>
           *<entry name="function">atcw32-&gt;ATCSendFile,PRINTFILE,PRINTFILE,Binary</entry>*
           <entry name="function">dprw32-&gt;DPRSetConfig</entry>
           <entry name="function">rpdw32-&gt;RPDCheckRPRun</entry>
           <entry name="function">rpdw32-&gt;RPDCreateJob</entry>
           <entry name="function">rpdw32-&gt;RPDProcessJob</entry>
           <!-- -->
      </section>

      I've tried moving the call up or down in the list of function calls, no change in the results.

      Thanks,

      Gaétan
        • 1. Re: IDS - Returning the output as part of the MSMQ message
          calittle - oracle
          Gaétan,

          Have you looked at the response message to see what variable contains the path/filename of PDF? If that variable isn't PRINTFILE, then the ATCSendFile isn't going to work. Generally the RPDPrint rule is going to generate an entirely different set of attachment variables based on print batch names, like this:

          <VAR NAME="PRINTER1">/path/to/file.pdf</VAR>

          -Andy
          • 2. Re: IDS - Returning the output as part of the MSMQ message
            Gaétan Berthold
            Hi Andy,

            Here is the content of the message I send using dsitestw:

            CONFIG=DGAG_VERS_C100_BordereauNum
            ReqType=RPD
            ShowErrors=No
            Extrfile=\\Ntdonl5\DocumakerDataDiv\Intg\Impr_332\Input\extrfile_modele.xml
            PRTTYPE=PDF
            Printbatches1=\\Ntdonl5\DocumakerDataDiv\Intg\Impr_332\Data\client.PDF

            Here is the content of the message I get back from IDS after it runs Gendata successfully:
            Content-Type: text/xml
            Content-Transfer-Encoding: 8bit

            <?xml version="1.0" encoding="UTF-8"?>
            <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
            <SOAP-ENV:Body>
            <DSIMSG VERSION="100.022.0">
            <CTLBLOCK>
            <UNIQUE_ID>4A4CC47E-0FE5-51B7-2EC3-5C1C370</UNIQUE_ID>
            <REQTYPE>RPD</REQTYPE>
            </CTLBLOCK>
            <MSGVARS>
            <VAR NAME="Client_OUTPUT">PRINTER_DEFAULT</VAR>
            <VAR NAME="DbLogFile">\\Ntdonl5\DocumakerDataDiv\Intg\Impr_332\Data\19EEE853-3CCB-6744-9C16-5F1618BCE03F-0-IDS-1-BLP.dat</VAR>
            <VAR NAME="DEFAULT">\\ntdonl5\DocumakerDataDiv\Intg\Impr_332\DATA\DEFAULT.BCH</VAR>
            <VAR NAME="ErrFile">\\Ntdonl5\DocumakerDataDiv\Intg\Impr_332\Data\555FB2A3-58F0-01A9-A157-19F5CB103BC8-0-IDS-1-BLP.dat</VAR>
            <VAR NAME="IDSGUID">118DEF88-4AF2-F32C-9497-C9766DD31EBA</VAR>
            <VAR NAME="IDSHOSTNAME">NTDOCUMIDSD01</VAR>
            <VAR NAME="LogFile">\\Ntdonl5\DocumakerDataDiv\Intg\Impr_332\Data\6DD484C0-1091-C755-5D72-E9B0A9363951-0-IDS-1-BLP.dat</VAR>
            <VAR NAME="MsgFile">\\Ntdonl5\DocumakerDataDiv\Intg\Impr_332\Data\7745D74B-5C70-EFE0-5E60-2567620A6AED-0-IDS-1-BLP.dat</VAR>
            <VAR NAME="NaFile">\\Ntdonl5\DocumakerDataDiv\Intg\Impr_332\Data\FA6177E7-45D1-9473-AEC8-E91B9A1E6D4A-0-IDS-1-BLP.dat</VAR>
            <VAR NAME="NewTrn">\\Ntdonl5\DocumakerDataDiv\Intg\Impr_332\Data\8D7AC1BB-C81C-BB01-079B-3236031D2318-0-IDS-1-BLP.dat</VAR>
            <VAR NAME="PolFile">\\Ntdonl5\DocumakerDataDiv\Intg\Impr_332\Data\A37E9F8D-DC11-5801-5367-DAD5751B3330-0-IDS-1-BLP.dat</VAR>
            <VAR NAME="Printer_DEFAULT">\\Ntdonl5\DocumakerDataDiv\Intg\Impr_332\Data\client.PDF</VAR>
            <VAR NAME="PRINTER_DEFAULTCODE">001</VAR>
            <VAR NAME="PRINTER_DEFAULTDESC">Client Copy</VAR>
            <VAR NAME="PRINTER_DEFAULTRECIP">Client</VAR>
            <VAR NAME="RECIP1CODE">001</VAR>
            <VAR NAME="RECIP1DESC">Client Copy</VAR>
            <VAR NAME="RECIP1PRINTER">PRINTER_DEFAULT</VAR>
            <VAR NAME="RECIP1RECIP">Client</VAR>
            <VAR NAME="RESULTS">SUCCESS</VAR>
            <VAR NAME="RPRESULTS">4</VAR>
            <VAR NAME="SERVERTIMESPENT">0.172</VAR>
            <VAR NAME="XMLOUTPUT">\\Ntdonl5\DocumakerDataDiv\Intg\Impr_332\Data\67D84090-C020-B715-DA71-032C65A4BBAD-0-IDS-1-BLP.dat</VAR>
            </MSGVARS>
            </DSIMSG>
            </SOAP-ENV:Body>
            </SOAP-ENV:Envelope>

            I have tried using Client_OUTPUT, PRINTER_DEFAUL, even Printbatches1 form the message file, it doesn't work, meaning that Gendata runs OK, the file is just not embedded in the MSMQ message.

            Thanks

            Gaétan
            • 3. Re: IDS - Returning the output as part of the MSMQ message
              calittle - oracle
              You'll want this in your docserv.xml:

              <section name="ReqType:RPD">
              <entry name="function">atcw32->ATCLogTransaction</entry>
              <entry name="function">atcw32->ATCLoadAttachment</entry>
              <entry name="function">atcw32->ATCUnloadAttachment</entry>
              <entry name="function">atcw32->ATCSendFile,Printer_DEFAULT,Printer_DEFAULT,Binary</entry>
              <entry name="function">dprw32->DPRSetConfig</entry>
              <entry name="function">rpdw32->RPDCheckRPRun</entry>
              <entry name="function">rpdw32->RPDCreateJob</entry>
              <entry name="function">rpdw32->RPDProcessJob</entry>
              </section>

              Then on the client side you'll need to get the file from the attachment variable Printer_DEFAULT. When you test this, take a look at the send.msg and make sure that it has a binary attachment. You can add this to your INI (DAP.INI or the config INI) to get some additional debug details logged.

              <attachments>
              Debug = Yes
              • 4. Re: IDS - Returning the output as part of the MSMQ message
                Gaétan Berthold
                Yes !!!

                Thanks Andy, it now works fine!

                Gaétan