'&' in Integration broker message

We are currently sending information from a third party system to PeopleSoft financials using Integration Broker and I have run into somewhat of an issue. The message from the outgoing system has a field called 'DESCRIPTION'. One of our messages recently failed because the message contained the following value for the description 'substations & switch yards'.
(Colon will be used instead of semicolon as the terminator for the escape sequence to keep the browser from unescaping the escape sequence.....)
The description looks like : <DESCRIPTION>substations &amp: switchyards </DESCRIPTION>
As I would expect the '&' symbol is escaped in the output.
The problem is PeopleSoft does not seem to be handling this correctly. When the message arrives PeopleSoft turns it into the following:
<?xml version="1.0"?>
<AsyncRequest>
<data PsNonXml="Yes">
<![CDATA[.........<DESCRIPTION>substations & switchyards </DESCRIPTION>
]]>
</data>
</AsyncRequest>
It appears to unescape the &amp: appropriately but then does not treat the resulting xml as valid. It says it is non PS xml.
If in the stylesheet I say <xsl:value-of select="//DESCRIPTION" disable-output-escaping="yes"/>
Then the message is successfully processed, meaning it is recognized as valid PeopleSoft xml but the description is truncated to become
<DESCRIPTION>substations </DESCRIPTION>
It appears the parser cannot parse the '&' symbol if it is not escaped.
I was hoping someone could verify that this is in fact the case and suggest a workaround if it is. In my opinion it is not the behavior that would be desired. It should handle the parsing of the &amp: correctly and treat the resulting xml as valid PS xml.
In our case there is a premium on the number of characters that can be sent therefore doing something like translating the '&' to the word 'and' in the stylesheet is not the ideal solution. It would also be possible to disallow the '&' from being entered in the description field of the source system but this is not ideal either given the same constraint as above.
I believe somewhere I read a suggestion to move the data to an attribute but I don't think this is a viable solution either. I would assume since something like CopyRowset and CopytRowsetDelta "copies all data from the source rowset to the like-named fields in the message object executing the method" that it would not transfer the description from the message to the record if it were in an attribute as opposed to text as a child of the element. Assuming it would even be valid according to the xsd to begin with.
Ryan

Hi Jim,
If I capture the output generated by the third party system, transform it locally using the xsl the resulting xml is in fact well formed. Also as long as the description does not contain any special characters the result of the transformed message from the third party system is successfully processed by PS. This leads me to believe it is a direct a result of the special characters and not the format of the message after being transformed. Given that we are using Oracle's SOA Suite I am also able to capture the payload after it is transformed and prior to being routed to PS and this confirms the local test as well. The '&' is properly escaped and should be handled not as a special character but as simple character data.
The structured vs. unstructured is an interesting idea. Hadn't thought of it but will let you and the community how it goes if I go that route.
I may take your advice and go home for the weekend :)
Thanks for the insight.
Ryan

Similar Messages

  • Integration broker node authentication question

    I want to create a User ID that can authenticate an IB Node but cannot log into PeopleSoft through the PIA like normal users. How do I go about doing this? Is is jus a ol issue?

    Hi,
    The Document ID 785863.1 from Oracle Support, contains the following information:
    I. In general, regardless of where the User ID is being used (a-d), the required permissions for a User ID to run Integration Broker messaging all PeopleTools 8.40-8.52 releases include full access to all methods of any Component Interface objects that may be accessed in the PeopleCode that is run during the asynchronous or synchronous messaging events (that is, from the Subscription or OnRequest PeopleCode in PT 8.40-8.47, and from Messaging Handlers PeopleCode in PT 8.48-8.52).
    PeopleTools 8.48 and later releases (to the date, 8.48-8.52), have an extra requirement, access to each particular Service Operation that is to be invoked by that User ID.
    II. On the other hand, there is a very important distinction between behavior of the PeopleTools version spans 8.40-8.47 and 8.48-8.51 regarding which User ID is used in which situation:
    a. In PeopleTools 8.40-8.47, the UserID that runs Integration Broker messaging code is predefined globally:
    For synchronous requests it is the User ID specified in the Jolt connection for that node in gateway properties.
    For asynchronous requests it is the User ID that starts (boots up) and runs the application server domain of the receiving system.
    b. In PeopleTools 8.48 and later, the User ID that runs Integration Broker messaging code will be one of:
    If available, the User ID that initiated (sent) the message: that User ID is usually passed along with the message data.
    Note that the same User ID must also exist and have the appropriate permissions in the receiving system.
    If no User ID was passed with the message, then by default the receiving system will use the Default User ID from the definition of the sending node as indicated with the message data.
    If neither user ID nor sending node was indicated, then by default the receiving system will use the Default User ID from the ANONYMOUS node definition in that system.
    Regards,

  • Integration Broker Application Messages Issue

    Hi Gurus,
    We are having an issue with the Integration Broker Application Messages.
    Here's the issue, when we run Dynrole it process Application Messages. All messages go to Done status, but checking the instance, the Footer comes first, where the header should comes first. This issue happens from time to time, we only run 8 application messages at a time (header and footer included). BTW, failover is enabled on our server.
    We are trying to find a solution on this, please help us.
    Thanks,
    Red

    Hi,
    Did it resolved? If yes, please share here if possible.
    Cheers,
    Elvis.

  • How to Send a .txt file through FTPTARGET connector of Integration Broker

    Hi,
    Is it possible to send a .txt file(infact anyfile other than xml format) to a host server using FTP Target connector of Integration Broker. If so can someone explain the steps to achieve it.
    Regards,
    Uday

    Yes, you can do that. I've done exactly that couple years ago.
    If I remember currently, below is a high level of how I did it.
    Read the file you want to send into the buffer using GetString function like:
    +/*A single string containing the entire contents of the file including line terminator.+
    +     After this method completes successfully, the temp file is deleted.*/+
    +&FileData = &FiletoRead.GetString();+
    The function deletes the file so I had to create a temp copy of what i want to send and read that copy instead of the original file. Also, IB will have issues if you are trying to send an empty file. so i did a basic check, if the file is empty then put something in it.
    rem -- IB message will fail if we are trying to send an empty file;
    If None(&FileData) Or
    +&FileData = "" Or+
    +&FileData = " " Then+
    MessageBox(0, "", 0, 0, ("File " | &sTargetFileName | " is empty."));
    +&FileData = "No Data Found!";+
    End-If;
    Next, you need to load the file data that are now in &FileData to IB:
    +&MSG = CreateMessage(@&sServiceOperation);+
    +/* Generate the XML doc. */+
    +&dFtp = CreateXmlDoc("");+
    rem -- &bReturn = &dFtp.LoadIBContent("Some text inside of a file to send through IB!");
    +&bReturn = &dFtp.LoadIBContent(&FileData);+
    Then put XML into the message and publish it:
    +/*put the XML in the message*/+
    +&MSG.SetXmlDoc(&dFtp);+
    +%IntBroker.Publish(&MSG);+
    You might need to load some IBConnectorInfo and override them using your PC. I had to do that to get the password for the FTP transmission encrypted:
    /* Encrypt the password */
    &pscipher = CreateJavaObject("com.peoplesoft.pt.integrationgateway.common.EncryptPassword");
    &encPassword = &pscipher.encryptPassword(&sPassword);
    &pscipher = Null;
    Good luck and hope this helps.

  • PeopleSoft Integration Broker from FSCM9 [PT8.48] to CRM9 [PT8.49]

    Dear Team,
    We are trying to integrate between Finance 9 with PT 8.48 to CRM9 with PT 8.49 using Integration Broker. We followed the following steps
    1. Configured the "LOCAL" Gateway which was successfully pinging in both the instances finance9 and crm9 and the domain status is active in both the
    instances. We are using "PSFTTARGET co"nnector
    2. Configured the default local node PSFT_EP in FSCM9 and PSFT_CR in CRM9 instances and successfully pinging the node.
    3. For remote node, we are using PSFT_CR node in FSCM9 portal and PSFT_EP in CRM9 portal which are failing to ping.
    4. Defined custom Message,custom queue, custom Services, custom Service operations, custom routing in FSCM9 portal.
    5. We defined custom fields, custom records, custom pages, custom components, custom menu and successfully registed with the portal with Public access
    in FSCM9 portal.
    6. Now we are trying to add new values or add new record in the newly customized page in FSCM9 and trying to get the same record values in CRM9 database
    using Integration broker with above integration configuration.
    Can you please help with appropriate screenshots for the integrations between FSCM9 and CRM9
    Require Screenshots for
    1. How to configure the remote nodes.
    2. How to configure Routings
    3. How to configure Queue
    4. How to assign custom message into custom message channel
    5. What to configure in the PSAAPSRV.cfg and PSAAPSRV.ubx ?
    6. What are the configurations required in "Main Menu > PeopleTools >Integration Broker > Configuration > Service configuration"

    Hi,
    Pls ensure you have the following in place...
    1. All nodes being used for Integration should be defined on the Single Sign On Page in both the env's.
    2. The passwords on all the 4 nodes should be same.
    3. The external Alias of the Sv Ops in question should be identical.
    4. Ensure that the User ID's initiating the request should be defined in the Target env along with access to that Sv Op and have the PeopleSoft User role.
    What is the error message you are getting when you try pinging the nodes?
    Also, the Sv Ops should be granted access preferably to the PL that the Role PeopleSoft User uses (PTPT1000). In case you have custom security in place then kindly refer to your security matrix to identify the correct PL...
    Would also like to point out that in most of the Async Integrations its advisable to use existing queues, unless you have very specific purpose to use your custom queue.
    Thanks!
    Prashant

  • Vendors in Integration Broker

    Peopletools 8.49.05
    HCM 9.0 and Fins 9.0
    In Integration Broker, we have a service operation vendor_sync set up between fins and hcm. All Vendor transactions are showing up as moving successully from fins to hcm. All vendors, however, are not required to go to HCM and they are not showing up in the HCM database (which is fine) -- but -- my question is : Why do all vendors have to go through IB if only those for HCM are required?
    Edited by: chiqid on Oct 29, 2009 6:19 AM
    Edited by: chiqid on Oct 29, 2009 8:12 AM

    Hi Jim,
    If I capture the output generated by the third party system, transform it locally using the xsl the resulting xml is in fact well formed. Also as long as the description does not contain any special characters the result of the transformed message from the third party system is successfully processed by PS. This leads me to believe it is a direct a result of the special characters and not the format of the message after being transformed. Given that we are using Oracle's SOA Suite I am also able to capture the payload after it is transformed and prior to being routed to PS and this confirms the local test as well. The '&' is properly escaped and should be handled not as a special character but as simple character data.
    The structured vs. unstructured is an interesting idea. Hadn't thought of it but will let you and the community how it goes if I go that route.
    I may take your advice and go home for the weekend :)
    Thanks for the insight.
    Ryan

  • Issue synchronizing with Integration Broker

    I need some guidance in troubleshooting XenApp integration with VMware Workspace 2.1. It seems like I have successfully installed and configured the Integration broker.
    I followed the steps from the installation guide.
    Verify PowerShell remoting.
    This sample command string applies to Citrix Server Farm 6.5.
    Get-XAApplication -ComputerName CITRIX SERVER NAME
    -> Works!
    Type http://hostname /IB/API/RestServiceImpl.svc/ibhealthcheck to verify that the Integration Broker Web application is running.
    The expected output displays.
    All ok
    Type https://hostname /IB/API/RestServiceImpl.svc/ibhealthcheck to verify that the Integration Broker Web application is running.
    The expected output displays.
    All ok
    _> Works!
    But then I added the Integration broker to the workspace portal and when I press "Sync Now" I get the message:
    Calculating sync actions.
    This takes a long time. When I look at the troubleshooting tab I see the following error:
    Failed Sync Action: Could not pull objects from Integration Broker.
    I use a self signed certificate on the Integration Broker. Any tips on how to troubleshoot, what to check?
    I'm using Windows 2012R2 with IIS 8.5. I'm not sure if that is supported.

    The IB healthcheck results seem ok indicating that the IB has been installed properly.
    We need to check if the IB is able to communicate with the XenFarm server properly and able to fetch the resources and entitlements.
    Please refer to the  Workspace Documentation - Setting Up Resources in VMware Workspace Portal > Troubleshooting Workspace Resource Configuration ->
    Citrix-Published Resources Are Not Available in Workspace.
    Please follow instructions here to check if the IB is able to contact the xen farm server. Please send us the IB and connector logs when the failure happens.

  • Integration Broker Setup Problem

    I'm trying to setup Integration Broker/AppMessaging between portal and finance databases. I'm able to set up the default local nodes in both Portal and Finance and am able to ping them correctly. I'm also able to configure the Remote Finance node in Portal and ping that correctly as well. However when I try to ping the Remote Portal node in Finance I get an error UserName not defined in database UserName not defined in database. (158,55) .
    Not sure what I'm doing wrong. The username and password are correct and exist in Portal. Anyone have any idea what I might be doing wrong?
    Also another thing which is kind of strange. If when I ping the remote Node in Portal I change the UserID to an ID I know does not exist in Portal I get a different error message. I also get the same error message if I change the password to something that's incorrect (*the error is username and password incorrect*). If both UserID and PWD are correct I get the UserName not defined in database error.
    Thanks for all help in advance!!
    Edited by: Dosteov on Sep 23, 2009 12:55 PM

    Dosteov wrote:
    Hey Jim. Both our local gateways have the same URL (/PSIGW/PeopleSoftListeningConnector). I'm not a system admin but I think the same WebServer is hosting both gateways. I think all the listening/target connectors are written in Java right? So I assume they each will have their own Listening/Target objects instantiated on the same WebServer.
    We opened up a case with Oracle and they just got back to me yesterday and told me the same thing. To point both gateways to the higher PT version.Frankly speaking, I'm surprise, unless I misunderstand something.
    1. it is not secure to share same webserver
    2. I've never had to do that for cross-version messaging to make it working (unless this is specific of your both PT version)
    Nicolas.

  • Peoplesoft Integration broker - Inbound File Loader Utility

    hi,
    I have a question on peoplesoft integration broker nbound file loader utility. When we use this utility to load the third party file into the peoplesoft tables, is there any business logic control and validation executed? if not, for which purpose this functionality (inbound file loader utility) is used?
    thank you for your help

    I am using PeopleTools > Integration Broker > File Utilities > Inbound File Processing. Is this a deprecated or outdated process?
    I have configured the process you mention the same as the one I have previously used and I am receiving a similar error, "Class Record: assumed property AUDIT_ACTN is not a valid field name". If it is like the other code, it is failing on the "Record(2)" method when updating the message. I changed this to PSCAMA in the other peoplecode to get it to work.

  • Integration broker

    Hi,
    We are running on CRM 8.9 PT8.49 on AIX.
    issue is IB- asynchronus outbound oneway message is stuck in working status,It ie. due to this all the other messages are queue in New status. In operation instace it going done , but in pubclication contract it is stucked in working. I am able to ping the remote node.
    we are having separate appserver domain for IB, 8 publication,and subcription handler services are running,including four psappsrv.
    I just restarted pubsub services, queues. and message is also active. this is what i found in logs for this queue
    PSPUBDSP_dflt.356556 (6) [03/06/13 00:00:03](3) (PublishSubscribe): PublicationContractDispatcher::SynchronizeQueue(): The synchronization timest
    amp for queue 'SGB_PAR_EVENTNOTIFICATIONS_MCH' was updated since the last synchronization, but no updated publication contracts were found.
    can anyone help to find the issue here

    I do not have a direct answer for you, but start here
    E-IB: Troubleshooting Subscription Contract Stuck in Status WORKING [ID 1156984.1]
    Sorry this doc is for Subscription not Publication.
    But maybe this workaround will help
    E-IB: Publication Contracts Stay in Working Status After Tools Upgrade [ID 1368868.1]
    E-IB: PeopleTools 8.48+ Integration Broker Troubleshooting Tips [ID 650476.1]
    Edited by: Hakan Biroglu on Mar 6, 2013 8:43 AM

  • Integrated Configuration - Message in error shown in SXI_MONITOR?

    Hi,
    We have some messages in error for an integrated configuration (PI 7.1 EHP1)
    Those message are shown in SXI_MONITOR. (SXMB_MONI)
    Is this a normal behavior..?
    We did just deploy the new ICO, could this be a cache issue?
    Regards,
    Martin

    It was my comprenhension that Integrated Configuration message, successfull or in error, would be shown only in RWB.
    Since we do see some error message in SXMB_MONI that are from an Integrated Configuration, I was confused.
    I will try clearing the cache and see if we still see message in the abap stack.

  • Integration Broker - Red Paper

    Hi,
    I'm looking for the Red paper on the Integration broker basics which I had seen elsewhere. I'm not able to find it in Peoplesoft Customer connection login. Could any direct me with the proper link to that red paper?

    I think you might mean this one...
    http://thinktibits.blogspot.com/2008/04/peoplesoft-integration-broker.html
    I'm not really really sure if this is an "official" red paper but you may find it useful.

  • Integration Broker Issue

    Hello Gurus,
    We are having strage issue with Integration Broker. When we include proxy server settings in Integration Broker properties file we are unable to ping certain nodes but when we remove Proxy server details we are able to ping nodes. We are on 8.49.08 tools.
    I would really appreciate if some one could reply on this issue.
    Thanks

    The authorization comments above are good, but they assume that the target site requires authentication. Are you able to connect to the target URL from your browser without typing a username and password? If so, then you don't need to add the authorization header.
    If you can't ping, then you have a connectivity issue. Log into your app server, open a shell prompt and type telnet <servername> <port> where <servername> is the name of your web server and <port> is the HTTP port your server is listening on (80 if no port specified in the URL). If you need a proxy server, then you can test connectivity by setting your app server's web browser proxy server to the same one listed in integrationGateway.properties and then test the URL from the app server's web browser (if it is a linux or other command line/headless app server, then try export http_proxy=http://your.proxy.server and then wget http://the.url.that/is/failing.
    Turning up the log fence in integrationGateway.properties may provide additional information as well. When set to 5, you will get information in your errorLog.html and msgLog.html file.
    For hands on help, you can open a case with Oracle Support.

  • Integration Broker : Sending peoplesoft Data into JMS queues using  IB

    Hi All,
    I am working on integration of peoplesoft and SOA middleware. I am basically SOA middleware developer. So not much aware at peoplesoft side.
    My requirement is that need to extract information from peoplesoft and send it to third party systems(through JMS queues) and also i explored that Integration broker is going to help in such cases.
    Could you please answer my some of the questions.
    1)How can i extract information of peoplesoft. lets say i need to extract customer data from peoplesoft.
    2) steps to send above extracted customer info to third party system using integration broker.
    It would be sending information to JMS topics.
    So please let me know how we can handle JMS queues in peoplesoft.
    Please refer the related documents for outbound interface strategies.
    Thanks inadvance.
    Edited by: PraveenT2 on Jun 3, 2009 4:06 AM

    Mike,
    Biztalk do have Peoplesoft Adapter. Just configure it and use appropriate Component Interface to push or pull the data.
    Thanks,

  • Unable to set Integration Broker Queue to Run

    We are on PT 8.54 and HCM 9.2
    I am trying to set the queue EOEN_MSG_CHNL queue to 'Run', but it is immediately resetting back to pause state. What could be the issue for it not running ?? I do not see this issue with the other queues.

    Can try checking if there is anything stuck in the Transaction Retry Queue?
    Main Menu > PeopleTools > Integration Broker > Service Operations Monitor > Monitoring > Asynchronous Services > Publication Contracts (Tab) > "Transaction Retry Queue" Hyperlink

Maybe you are looking for