Professional Documents
Culture Documents
Consume Third Party Rest Based Webservice Push Data From Ps to Third Party
Consume Third Party Rest Based Webservice Push Data From Ps to Third Party
Before starting please connect with DBA to set integration configuration on the Instance.
Ask Third party for Sample Jason Payload and EndPoint to Consume in PS, Sample given below.
[{
"batchseq": "01",
"batchsession": "2020-2021",
"catalognbr": "5001DCS",
"classnumber": "1002",
"descr": "General Grace Marks",
"descrshort": "CM",
"gradebookstatgingid": "0",
"lamtype": "GEN GRACE",
"lamweight": "20",
"marksouof": "20",
"sequenceno": "2",
"ssrcomponent": "LEC",
"term": "2001"
}]
Sample End Point provided by Third party - http://100.26.586.136:81/mg/api/gradebook/addGradebookData
Gradebook is servname and addGradebookData is methodname .
Last two parameters are servername and methodname of End point, please verify it with third party.
Connect with DBA and confirm that this URL is running successfully in PS server.
Test this End Point by testing tool like SOAP or POSTMAN.
Below is the Image of SOAPUI.
Click on Rest , paste the URL (end point) and click on OK.
Click on Request 1 on Left side, select Method as POST, select Media type (application/jason), insert Jason
body with tag value and click run button .
Verify with Third Party data pushed in their environment or not and proceed further in case successful transaction.
1. CREATE REQUEST DOCUMENT AND ADD ELEMENTS BY CLICKING ON THEN CLICK ON EACH ELEMENT TO
SET LENGTH AND TYPE:
Navigation - Main Menu > PeopleTools > Document > Document Builder
Enter Package name, Document name and version then click on Add button.
Enter Two element methodname and servname as string type and set length according to URL.
2. CREATE REQUEST MESSAGE AS DOCUMENT TYPE:
Navigation - Main Menu > PeopleTools > Integration Broker > Integration Setup > Messages
Enter Service Name and click check box Rest Service then Add.
Enter Service Operation Name, Rest Method as POST and uncheck Is Provider Checkbox then Add.
Enter URL till port (http://100.26.586.136:81) in REST Base URL and pass rest part in
(/mg/api/{servname}/{methodname}) in URI.
Pass Request message in Document Templete
Pass Non Rowset message created above in Request Message.
Select application/jaon in Content-Type.
5. CREATE SQL TO GENERATE JASON REQUEST BODY (JASON FORMAT) TO PUSH DATA TO THIRD PARTY AS SAMPLE
PROVIDED:
Request Jason created by SQL should be in same format provided by Third Party.
[{
"batchseq": "01",
"batchsession": "2020-2021",
"catalognbr": "5001DCS",
"classnumber": "1002",
"descr": "General Grace Marks",
"descrshort": "CM",
"gradebookstatgingid": "0",
"lamtype": "GEN GRACE",
"lamweight": "20",
"marksouof": "20",
"sequenceno": "2",
"ssrcomponent": "LEC",
"term": "2001"
}, {
"batchseq": "01",
"batchsession": "2020-2021",
"catalognbr": "5001DCS",
"classnumber": "1002",
"descr": "End Semester Examination",
"descrshort": "End Sem",
"gradebookstatgingid": "0",
"lamtype": "END SEM",
"lamweight": "60",
"marksouof": "60",
"sequenceno": "3",
"ssrcomponent": "LEC",
"term": "2001"
}]
6. PEOPLECODE TO EXECUTE SQL AND HIT END POINT THROUGH SERVICE OPERATION:
try
&RESP = %IntBroker.SyncRequest(&MSG);
catch Exception &ex
MessageBox(0, "", 0, 0, "error: " | &ex.ToString());
end-try;
If None(&ex) Then
MessageBox(0, "", 0, 0, "Response: " | &RESP.GenXMLString());
Local JsonParser &parser1 = CreateJsonParser();
Local boolean &status1 = &parser1.Parse(&RESP.GenXMLString());
Local JsonObject &jObj = &parser1.GetRootObject();
Local JsonArray &rootArray;
&rootArray = &jObj.GetJsonArray("");
&REC = CreateRecord(Record.SRM_ERP_GRD_TB);
&REC.NUM1.Value = &jsonArray_num [&i];
&REC.SESSION_YEAR.VALUE = &jsonArray_year [&i];
&REC.STRM.VALUE = &strm;
&REC.CLASS_NBR.VALUE =&class_nbr;
&REC.SSR_COMPONENT.VALUE = &jsonArray_ssrcmp [&i];
&REC.CATALOG_NBR.VALUE = &jsonArray_catalog [&i];
&REC.DESCRSHORT.VALUE = &jsonArray_descrshort [&i];
&REC.DESCR.VALUE = &jsonArray_descr [&i];
&REC.LAM_TYPE.VALUE = &jsonArray_lamtype [&i];
&REC.LAM_WEIGHT.VALUE = &jsonArray_lamwt [&i];
&REC.MARK_OUT_OF.VALUE = &jsonArray_markoutof [&i];
&REC.SEQUENCE_NBR.VALUE = &jsonArray_seq [&i];
&REC.NUMBER10.VALUE = &jsonArray_id [&i];
&REC.DESCRLONG.VALUE = &RESP.GenxmlString();
&REC.Insert();
End-For;
End-If;
End-If;
Select a Permission list, Add service name by clicking on and click edit then give full access to that service