6 Replies Latest reply: Jun 13, 2012 8:47 AM by Jim.Marion-Oracle RSS

    Integration Broker message behavior - where did my CRLF go?

    923136
      Hi,

      We're currently setting up integration with a third party - non PS application. Everything has been set up, only problem is the message file format. carriage returns (CR) are removed from the output message when third party receives it. I have read somewhere (forgot where) that PS removes the CR when it goes out of its system.

      Can anyone confirm this? and are there any way of working around this without additional configuration on the thirparty side?

      We're on PT8.51, async connection and is using httptarget connectors (instead of as2 target connection).

      thanks in advance.

      Edited by: user8020796 on Jun 3, 2012 8:30 PM
        • 1. Re: Integration Broker message behavior - where did my CRLF go?
          HakanBiroglu
          PeopleSoft indeed doesn't use CR's in message, because they are not needed for the proper handling of XML. CR in XML is just formatting the layout for the user to make reading easier. XML without CR's have the same content as XML with CR's, so they do not add any functionality, besides take up space and make the XML in file size larger.

          Why else would PeopleCode have a the following method for a message:
          Local XmlDoc &inXMLDoc;
          Local string &outStr;
          
          &inXMLDoc = CreateXmlDoc("<?xml version='1.0'?><PSMessage/>");
          &outStr = &inXMLDoc.GenFormattedXmlString();
          Also see following section in PeopleBooks, where you can add CR's for the AS2 Connector

          AS2PROPERTY
          EnableCRLF
          *(Optional.) PeopleSoft Integration Broker automatically removes carriage returns in messages and retains line feeds.*
          Use this property to specify whether to add a carriage return (CR) back to the end of a line feed (LF). Options are:
          Y. Adds CR to LF. (Default.)
          N. No CR added to LF.

          PeopleBooks > Enterprise PeopleTools 8.51 PeopleBook: Integration Broker Administration > Using Listening Connectors and Target Connectors >Using the AS2 Target Connector
          • 2. Re: Integration Broker message behavior - where did my CRLF go?
            923136
            Hey Hakan, thank you for your response.

            We're also looking into using the AS2 connector but is a bit hesitant because of the major configuration changes we would need. Would you know if there are additional peoplecode that needs to be written in order for as2 connector to be used? our applicatoin engine is currently configured to use specific queues and service operations that were designed with httptarget connector in mind. not sure how big of a change needs to be done to convert using as2 connector.
            • 3. Re: Integration Broker message behavior - where did my CRLF go?
              HakanBiroglu
              In fact the PeopleCode for AS2 connector is not that different from the PeopleCode for HTTP connectors, although you have to make some prerequisite adjustments to your integrationGateway.properties file.

              See for an example of PeopleCode on AS2
              PeopleBooks > PeopleTools 8.52: PeopleSoft Integration Broker Administration > Using the Delivered Listening Connectors and Target Connectors > Example 5: Using the AS2 Connectors
              • 4. Re: Integration Broker message behavior - where did my CRLF go?
                923136
                would it be possible NOT to use MDN for AS2?

                There is an option there to use "none" for MDN in MDNType, but pbooks said that the sender "must" request for an MDN.

                Edited by: user8020796 on Jun 5, 2012 1:37 AM
                • 5. Re: Integration Broker message behavior - where did my CRLF go?
                  923136
                  OK so we got around this CRLF issue by encoding the message in base64 before wrapping it with xml. this way the format stays intact as it goes out peoplesoft. no need to change the connectors to as2.
                  • 6. Re: Integration Broker message behavior - where did my CRLF go?
                    Jim.Marion-Oracle
                    I believe IB only removes CRLF from non-CDATA nodes. Instead of bloating your file in b64, did you try wrapping content nodes that are supposed to contain CRLF in CDATA sections?