tag:blogger.com,1999:blog-34020393.post5871006180745879324..comments2024-03-15T08:31:05.506-07:00Comments on Jim's PeopleSoft Journal: REST-like PeopleSoft ServicesJim Marionhttp://www.blogger.com/profile/12995110203807924786noreply@blogger.comBlogger165125tag:blogger.com,1999:blog-34020393.post-56779622235999397722022-03-03T20:45:01.657-08:002022-03-03T20:45:01.657-08:00@Andy, a timeout is either a network issue or a re...@Andy, a timeout is either a network issue or a really long running OnRequest handler. If the problem were the template or the URL, PeopleSoft would return an error message immediately.Jim Marionhttps://www.blogger.com/profile/12995110203807924786noreply@blogger.comtag:blogger.com,1999:blog-34020393.post-82177753698327298982022-02-28T07:29:44.369-08:002022-02-28T07:29:44.369-08:00Hi Jim,
I have a REST service that is working from...Hi Jim,<br />I have a REST service that is working from a third party application, I can see the test calls coming into the synch services monitor. So I think the REST Base URL and URI templates are set up correctly. eg.<br />[server:port]PSIGW/RESTListeningConnector/DEV/TEST_GET.v1/<br /><br />Template Index 1: EMPLID<br /><br />My endpoint URL in PostMan: [server:port]PSIGW/RESTListeningConnector/DEV/TEST_GET.v1/EMPLID<br /><br />But when I test the service or another service that I've created from PostMan or a similar tool, the request times out. <br /><br />Any ideas on what to check?Andyhttps://www.blogger.com/profile/13110846241603105539noreply@blogger.comtag:blogger.com,1999:blog-34020393.post-2214876231057280442022-01-27T09:22:46.316-08:002022-01-27T09:22:46.316-08:00@Will, first, PeopleSoft doesn't do binary ver...@Will, first, PeopleSoft doesn't do binary very well, so this may be a challenge. Second, take a look at PeopleSoft MTOM.Jim Marionhttps://www.blogger.com/profile/12995110203807924786noreply@blogger.comtag:blogger.com,1999:blog-34020393.post-61634148835297725782021-12-13T08:24:23.677-08:002021-12-13T08:24:23.677-08:00Jim
I Have been playing with Rest for a while...Jim<br /><br /> I Have been playing with Rest for a while... And found the Document concept is a Pain. So I have been using Generic Messages and just Adjusting the Ib adjustments and using PS new JSOn methods Works great.. <br /><br /> But now the third Party want to have us send them Documents (PDF..ect) on a Multi form rest message so we can send the PDF Documents....<br /> I know I can adjust Content Type <br /><br />&info.IBConnectorInfo.AddConnectorProperties("Content-Type", "application/json", %Header);<br /><br />But not sure how the body should be loaded for the Actual Document<br /><br />WWillhttps://www.blogger.com/profile/12798153440031730922noreply@blogger.comtag:blogger.com,1999:blog-34020393.post-53038829575715374982021-11-29T20:27:47.756-08:002021-11-29T20:27:47.756-08:00@Yusuf, it could also be that the data set is so l...@Yusuf, it could also be that the data set is so large in memory that it is crashing the server (running out of memory), and SoapUI is attempting to recover.Jim Marionhttps://www.blogger.com/profile/12995110203807924786noreply@blogger.comtag:blogger.com,1999:blog-34020393.post-17856652530090690812021-11-29T20:25:11.985-08:002021-11-29T20:25:11.985-08:00@Yusuf, that seems very strange. I am suspicious a...@Yusuf, that seems very strange. I am suspicious about SoapUI possibly timing out and trying again? That is a lot of data to send/receive through Integration Broker. Integration Broker is a DOM solution (in-memory). The larger your document, the more it loads into memory. It is not a "stream" solution. For large amounts of data, I think you would be better off with a stream-based solution.Jim Marionhttps://www.blogger.com/profile/12995110203807924786noreply@blogger.comtag:blogger.com,1999:blog-34020393.post-80760034587314186902021-11-29T20:23:11.646-08:002021-11-29T20:23:11.646-08:00@Riya, it sounds like PeopleSoft is the Synchronou...@Riya, it sounds like PeopleSoft is the Synchronous Service provider. Is this REST or SOAP? Either way, if PeopleSoft is the provider, then make sure you are populating the response's document (Response.GetDocument()).Jim Marionhttps://www.blogger.com/profile/12995110203807924786noreply@blogger.comtag:blogger.com,1999:blog-34020393.post-76167896172529696432021-11-29T07:32:23.700-08:002021-11-29T07:32:23.700-08:00@Will, context-specific PeopleCode is one of my gr...@Will, context-specific PeopleCode is one of my greatest frustrations. I am not aware of any way to work around the issue you mentioned.Jim Marionhttps://www.blogger.com/profile/12995110203807924786noreply@blogger.comtag:blogger.com,1999:blog-34020393.post-64155553405020034072021-11-11T08:53:16.327-08:002021-11-11T08:53:16.327-08:00Hi Jim,
We have an REST API which calls the servi...Hi Jim,<br /><br />We have an REST API which calls the service operation using synchronous messaging to fetch the data in JSON format using SOAPUI.<br />When we trigger the API to fetch approx. 25k rows with all columns selected in the criteria field, the API continues to run in SOAP UI for 20 mins with a dedicated transaction ID (Guid) and after that it automatically re-fire with another transaction ID which will take another 20 mins to complete.<br /><br />Eventually we are not getting any data in SOAP UI but could only see 2 transaction ID with DONE status (under monitor synchronous services) which runs 20 mins each for a single API call.<br />Could please help us why the single API call gets re-fire after 20 mins with different transaction ID and don't return any data.<br /><br />Also we tried to fetch only 500 row with all columns selected and API call got completed without any re-fire and able to get JSON response.<br /><br />Thanks!Yusufhttps://www.blogger.com/profile/07544585908963715705noreply@blogger.comtag:blogger.com,1999:blog-34020393.post-24353841381366438432021-11-01T12:54:41.495-07:002021-11-01T12:54:41.495-07:00Jim
I have been playing with rest messages an...Jim<br /><br /> I have been playing with rest messages and found that using Documents is very restricive. So Ended up using generic Measges set as Application/Json and I am able to read and Send JSON Easily....<br /><br /> But having a Small issue.. with CI.. Especially where the PS uses %request to pull info... But thru a message %request is not defined...<br /> <br /> My Question instead of bypassing code based on CI name or something (Touching PS Code) .. Is there a way to create or instantiate %request so I can control instead or at least Bypass the errors Willhttps://www.blogger.com/profile/12798153440031730922noreply@blogger.comtag:blogger.com,1999:blog-34020393.post-55953279080769014342021-10-13T00:35:49.857-07:002021-10-13T00:35:49.857-07:00Hi Jim, I am working on outbound third-party inter...Hi Jim, I am working on outbound third-party interface with one of our PeopleSoft systems. I have set up synchronous service for data transfer. The response message is Document type with response code set up as an element.<br />When I test my service operation, I get GetMessageText: No default message. (0,0) error. Any insight?<br />ThanksRiyahttps://www.blogger.com/profile/01208817345256198239noreply@blogger.comtag:blogger.com,1999:blog-34020393.post-23137402882181898642021-09-01T14:50:15.205-07:002021-09-01T14:50:15.205-07:00@Unknown, it may be possible by using the JSON tab...@Unknown, it may be possible by using the JSON tab of the documents module to show/hide the root node and using compound children. But I would just use JsonObject directlyJim Marionhttps://www.blogger.com/profile/12995110203807924786noreply@blogger.comtag:blogger.com,1999:blog-34020393.post-54762359076274796962021-09-01T14:42:11.335-07:002021-09-01T14:42:11.335-07:00From the -d in the command, I am assuming this is ...From the -d in the command, I am assuming this is a POST. It also looks like URL encoded form data, although that isn't specified. We just showed how to do something different to connect to Twilio in our Integration Day and our Developer Day webinars (2021 editions). Of course, the start is to create the SErvice and Service Operation metadata as a REST service and uncheck the "Is Provider" checkbox. When you call the service, you will need to set the SegmentContenType property if you are using URL Encoded Form Data. Otherwise, the rest is just a matter of setting HTTP Request Headers through IBConnectorInfo.AddConnectorProperties.Jim Marionhttps://www.blogger.com/profile/12995110203807924786noreply@blogger.comtag:blogger.com,1999:blog-34020393.post-81003849654225144612021-08-13T07:58:57.883-07:002021-08-13T07:58:57.883-07:00Hello Jim,
Looking for your input to generate the...Hello Jim,<br /><br />Looking for your input to generate the following output ,I am using PeopleSoft IB message services to get an authentication token from vendor. <br /><br /> $ curl -v https://api.test.com/v3/oauth/Token \<br /> -H "Accept: application/json" \<br /> -H "Accept-Language: en_US" \<br /> -u "{client_id}:{client_secret}" \<br /> -d "grant_type=client_credentials"Anonymoushttps://www.blogger.com/profile/07779909610412980366noreply@blogger.comtag:blogger.com,1999:blog-34020393.post-7801928815165169032021-08-13T07:46:38.017-07:002021-08-13T07:46:38.017-07:00Is it possible to get the following POST structure...Is it possible to get the following POST structure by using PeopleSoft document feature ? I created a dcoument but unable to attached to a service operation beacuse of the child structure and I looked at the lookup view and it is filtering the child dependency documents. Any suggestions ?<br /><br />$ curl --request POST 'api.test.com/v3/subscriber' \<br /> --header 'Content-Type: application/json' \<br /> --header 'Authorization: Bearer {ACCESS_TOKEN}' \<br /> --data-raw '{<br /> "template": {<br /> "version": "3.0",<br /> "data": [<br /> {<br /> "first_name": "Jerry",<br /> "last_name": "Garcia",<br /> "email": "jerry@street.com",<br /> "subscriber_status": {<br /> "id": 4<br /> },<br /> "subscriber_privacy_level": {<br /> "id": 1<br /> }<br /> }<br /> ]<br /> }<br /> }'Anonymoushttps://www.blogger.com/profile/07779909610412980366noreply@blogger.comtag:blogger.com,1999:blog-34020393.post-78246606774659666732021-05-25T09:49:13.509-07:002021-05-25T09:49:13.509-07:00@HGH, moving from Curl to IB is too complicated to...@HGH, moving from Curl to IB is too complicated to answer here. The mechanics are the basics of Integration Broker, so it isn't hard. It is just a lot of steps. Actually, I take that back. It is potentially a one-liner PeopleCode, but generally speaking, it involves creating a service, service operation, possibly Documents and messages, and of course, PeopleCode. But the one-liner would be %IntBroker.ConnectorRequestURL. If you require Authorization Header or POST data, then it is much more effort. We cover this in great detail in our integration tools update 3-day class: https://ibupdate.jsmpros.com/.Jim Marionhttps://www.blogger.com/profile/12995110203807924786noreply@blogger.comtag:blogger.com,1999:blog-34020393.post-65435000714979186332021-05-07T22:55:06.468-07:002021-05-07T22:55:06.468-07:00Hello Jim, I need a help how to get a connection w...Hello Jim, I need a help how to get a connection with 3 rd party with using curl command on peoplecode. I have tried but not have any solution to that. Curl command is working good on command line but I need to execute through peoplecode and get the response. Please provide me some solutions or method to follow to achieveHGHhttps://www.blogger.com/profile/03763790150723686617noreply@blogger.comtag:blogger.com,1999:blog-34020393.post-58794488794163552302020-08-26T00:03:58.283-07:002020-08-26T00:03:58.283-07:00@Srikanth, do you think you are running out of mem...@Srikanth, do you think you are running out of memory when you process large amounts of data? This is very possible. Are you able to increase the amount of available RAM and process larger documents?Jim Marionhttps://www.blogger.com/profile/12995110203807924786noreply@blogger.comtag:blogger.com,1999:blog-34020393.post-42858225924883304052020-07-15T16:40:18.797-07:002020-07-15T16:40:18.797-07:00Hi Jim, we have recently developed PeopleSoft Rest...Hi Jim, we have recently developed PeopleSoft Rest GET API to provide payment details to source system based on requested days. For certain days we have large number of payment details and the rest webservice is failing not able to handle large response data to send. When I chunk the data its working fine. Is there any solution that I can use to prevent the issue?srikanthhttps://www.blogger.com/profile/08445812236908753325noreply@blogger.comtag:blogger.com,1999:blog-34020393.post-29879743679028430182020-04-02T21:57:19.142-07:002020-04-02T21:57:19.142-07:00@Ace, this was such a great question, I decided to...@Ace, this was such a great question, I decided to create a video describing how to create this structure. You may watch it online here: <a href="https://youtu.be/g_rzjzdibgg" rel="nofollow">https://youtu.be/g_rzjzdibgg</a>Jim Marionhttps://www.blogger.com/profile/12995110203807924786noreply@blogger.comtag:blogger.com,1999:blog-34020393.post-18792331183629544082020-03-27T11:26:49.944-07:002020-03-27T11:26:49.944-07:00Hi,
We have designed an Get API where we are prov...Hi,<br /><br />We have designed an Get API where we are providing the client with a list of dates. The current format is shown below:<br /><br />"minimumEffectiveDate": "2018-03-01",<br />"availableDates": [<br />{<br />"date": "2018-03-02"<br />},<br />{<br />"date": "2018-03-03"<br />},<br />{<br />"date": "2018-03-04"<br />},<br />{<br />"date": "2018-03-07"<br />}<br /><br />Client requires the dates to show in the following format:<br /><br />"minimumEffectiveDate": "2018-03-01"<br />"availableDates": [<br />"2018-03-02"<br />"2018-03-03"<br />"2018-03-07"<br />]<br />Any recommendation how this can be achieved? Thanks in advanceAcehttps://www.blogger.com/profile/06958871293933314773noreply@blogger.comtag:blogger.com,1999:blog-34020393.post-14946710266944574192019-08-04T15:07:19.025-07:002019-08-04T15:07:19.025-07:00@BBUNES, Not sure what you mean by non-negative nu...@BBUNES, Not sure what you mean by non-negative numeric integers, But if you want to initialize the null values then use non-rowset message (its a lot easier and flexible) and populate the message with JsonBuilder delivered class. For example:<br /><br />Local JsonBuilder &jbldr = CreateJsonBuilder();<br />&jbldr.AddNullProperty("field_name");<br /><br />Note: We are on PT 8.56.Syed Usmanhttps://www.blogger.com/profile/08701942706506166994noreply@blogger.comtag:blogger.com,1999:blog-34020393.post-72483206284894554282019-06-04T14:50:59.834-07:002019-06-04T14:50:59.834-07:00Hi Jim,
I'm integrating with a 3rd party usin...Hi Jim,<br /><br />I'm integrating with a 3rd party using a JSON REST API. The API is using the Document model to define the message structure. I'm populating the document values via App Engine PC. One requirement is to populate a couple fields on the API with a null. I can populate it with "" if the fields are defined as text, but the fields are defined as non-negative numeric integers. Is there a way to do this?BBUNEShttps://www.blogger.com/profile/05852944082830282005noreply@blogger.comtag:blogger.com,1999:blog-34020393.post-9599284363373080852019-04-25T05:37:11.506-07:002019-04-25T05:37:11.506-07:00Hi,
I have one doubt on REST PATCH method. We do...Hi, <br /> I have one doubt on REST PATCH method. We don't have REST PATCH method in PeopleSoft 8.56<br />Is there any alternate option for the same. Thanks. BShttps://www.blogger.com/profile/06266359272758315571noreply@blogger.comtag:blogger.com,1999:blog-34020393.post-53163723951721629962019-04-07T09:00:03.203-07:002019-04-07T09:00:03.203-07:00@Mark, great question! Yes, it is possible to set ...@Mark, great question! Yes, it is possible to set headers, but I'm not sure about getting the PS_TOKEN.Jim Marionhttps://www.blogger.com/profile/12995110203807924786noreply@blogger.com