Dear All,
I have I have synchronous scenario(ABAP proxy to bank URL , through HTTP post) where I need to apply the digital signature only on the body of the XML payload. This scenario will be implementing in SAP PI 7.4 dual stack, which is in installation process, I am thinking to use ABAP proxy to SOAP/HTTP_AAE .
- I believe this requirement is not possible without java mapping by any adapter alone (SOAP or HTTP_AAE), However I need help from you all expert to please suggest me best possible way by considering the below req. Which adapter shall I user for this? SOAP or HTTP_AAE, bank system is not a webservice
- If Java mapping is mandatory here, please any sample code with detail please. Also, after Processing(digital sig(bodyReqXML)->encode to base64->Zipped it) then send it over a parameter named strXmldata, this parameter will contain the XML. How can I achieve this?
- Below details is from bank system to post on their HTTPS URL.
Posting procees of Bulk Payments (Payroll) Process One: PRMSG
You have to build post command with parameter name strXmldata, that parameter will contain the XML request of Bulk Payments (Payroll) process one.
Pseudocode:
digitalSiganature = get_Digital_Signature( bodyReqXML )
base64DigitalSignature = base64_Encoding (digitalSiganature)
paymentReqXMLfile = buildPayrollXml(bodyReqXML, base64DigitalSignature)
replyXML = HTTPS_Post_ZIPPED_DATA_TO_B2B(“strXmldata=”+ paymentReqXMLfile)
processReplyXMLinCORE-SYSTEM(replyXML)
The following is HTML file content, shows how to post that parameter with the Bulk Payments (Payroll) process one XML request:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> </HEAD> <BODY>
<FORM action=https://<environment-domain/b2b/epayzipped method=post> <INPUT value='<?xml version="1.0"?> <Message> <Header> <Sender>PARTNERO0001</Sender> <Receiver> RYBK</Receiver> <MessageType>PRMSG</MessageType> <MessageDescription>Payroll Message- 200401M</MessageDescription> <TimeStamp>2004-01-17T14:10:54</TimeStamp> </Header> <Body> <PayrollMessage> <PayrollMessageRef>0000000003666236</PayrollMessageRef> <PayrollMessageType>MT100-Payroll</PayrollMessageType> <PayrollTransactionCount>2</ PayrollTransactionCount> <PayrollTransactionAmount>21187.00</ PayrollTransactionAmount> <PayrollTransaction> <SequenceNum>2000542758</SequenceNum> <TransactionData>:20:2000542758 :32A:040119SAR10632,00 :50:PARNER COMPANY1 :52A:RIBLSARI :53B:/041072711001 :57A:SABBSARI :59:/042021147001 EMPLOYEE NAME1 ADDRESS</TransactionData> </PayrollTransaction> <PayrollTransaction> <SequenceNum>2000542759</SequenceNum> <TransactionData>:20:2000542759 :32A:040119SAR10555,00 :50: PARNER COMPANY1 :52A:RIBLSARI :53B:/041072569701 :57A:RIBLSARI :59:/042679747008 EMPLOYEE NAME2 ADDRESS</TransactionData> </PayrollTransaction> </PayrollMessage> </Body> <Signature> <SignatureValue>MIAGCSqGSIb3DQEHAqCAMIIEzgIBATELMAkGBSsOAwIaBQAwCwYJKoZIhvcNAQcB oIIDdjCCA3IwggMgoAMCAQICBwez/AAAAJgwCQYFKw4DAh0FADBkMQswCQYDVQQG EwJTQTEPMA0GA1UECBMGUml5YWRoMRAwDgYDVQQHEwdDZW50cmFsMQ4wDAYDVQQK EwVTQU1CQTENMAsGA1UECxMERUNTRDETMBEGA1UEAxMKUGF0aEZpbmRlcjAeFw0w MzExMDQwODU1NDlaFw0wNDExMDQwODU1NDlaMH0xHDAaBgkqhkiG9w0BCQEWDWVj c2RAZWNzZC5jb20xCzAJBgNVBAYTAnNhMRAwDgYDVQQIEwdjZW50cmFsMQ8wDQYD VQQHEwZyaXlhZGgxDjAMBgNVBAoTBWIyYnN1MQ0wCwYDVQQLEwRlc2NkMQ4wDAYD VQQDEwVzYW1iYTBcMA0GCSqGSIb3DQEBAQUAA0sAMEgCQQDaaHgjoukVEiVCKfbf ZGRC3bByn6Ld8dQ0Fd2Q9A1l6E0QnbkqTZkfzaBPSsyxTBQjyLe/YDYA9XUDzTo+ nESJAgMBAAGjggGgMIIBnDAOBgNVHQ8BAf8EBAMCAPAwEwYDVR0lBAwwCgYIKwYB BQUHAwIwgZ0GA1UdIwSBlTCBkoAU9z0m9EWFWIJcfVcyhX39zfuosm6haKRmMGQx CzAJBgNVBAYTAlNBMQ8wDQYDVQQIEwZSaXlhZGgxEDAOBgNVBAcTB0NlbnRyYWwx DjAMBgNVBAoTBVNBTUJBMQ0wCwYDVQQLEwRFQ1NEMRMwEQYDVQQDEwpQYXRoRmlu ZGVyghDIzNyLUAAAvBHUZjz90w3fMH0GA1UdHwR2MHQwN6A1oDOGMWh0dHA6Ly9X RUJOVFVBVC9DZXJ0U3J2L0NlcnRFbnJvbGwvUGF0aEZpbmRlci5jcmwwOaA3oDWG M2ZpbGU6Ly9cXFdFQk5UVUFUXENlcnRTcnZcQ2VydEVucm9sbFxQYXRoRmluZGVy LmNybDBWBggrBgEFBQcBAQRKMEgwRgYIKwYBBQUHMAKGOmh0dHA6Ly9XRUJOVFVB VC9DZXJ0U3J2L0NlcnRFbnJvbGwvV0VCTlRVQVRfUGF0aEZpbmRlci5jcnQwCQYF Kw4DAh0FAANBAJv+scYQCrBpkYfWnfj//h5x/g2UJaUdGvDz22s/pK41mKQaFEWI mSZslLa00ZSBhgaDxDJXoxXIAb71YbVZ88AxggEzMIIBLwIBATBvMGQxCzAJBgNV BAYTAlNBMQ8wDQYDVQQIEwZSaXlhZGgxEDAOBgNVBAcTB0NlbnRyYWwxDjAMBgNV BAoTBVNBTUJBMQ0wCwYDVQQLEwRFQ1NEMRMwEQYDVQQDEwpQYXRoRmluZGVyAgcH s/wAAACYMAkGBSsOAwIaBQCgXTAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwG CSqGSIb3DQEJBTEPFw0wMzEyMDgwNjAzMDlaMCMGCSqGSIb3DQEJBDEWBBSVFfAn D24bN8jnzAHA2659KlfDczANBgkqhkiG9w0BAQEFAARA1ZWZPCd9wMt7MCQ/Z+ng +e0keJtKvx/avHG+afV3cUv7u+bLjZ7xPCVYZYKFpKPDpP5KbVadsptQlS2dRQnQ PAAAAAA=</SignatureValue> </Signature> </Message>' name=strXmldata> <INPUT type=submit value=Proceed> </FORM>
</BODY> </HTML> |
Figure 11 – Example of a Bulk Payments (Payroll) Process One Post Request
Note:
- This example shows the use of HTML page which can be opened by the Internet browser, to post data, in case you have a program to post requests, you only have to post the XML (in bold), in the parameter named strXmlData.
- Because the request size is big, the data has to be compressed (zipped) before sending.
You can see from the above example, the italic is the URL, and the Bulk Payments (Payroll) file process one xml message in bold passed in the parameter strXmldata.
When you post the above request to the B2B Gateway, the gateway will receive the request analyze it, and answer back in the same session with the Bulk Payments (Payroll) acknowledge.
I am sorry for the big massage, Please suggest me as I am alone PI resource project.
Thanks,
Farhan