Quantcast
Channel: SCN : Unanswered Discussions - Process Integration (PI) & SOA Middleware
Viewing all articles
Browse latest Browse all 6719

apply digital signature only on the body of the XML message

$
0
0

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 .

 

  1. 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
  2. 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?
  3. 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


Viewing all articles
Browse latest Browse all 6719

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>