Brian Hawi
Brian Hawi

Reputation: 21

Getting a soap request using java and web services

I'm working with an organization's payment API. The API automatically posts a soap request to our server when a customer makes payment, like so

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:c2b="http://cps.huawei.com/cpsinterface/c2bpayment">
       <soapenv:Header/>
       <soapenv:Body>
          <c2b:C2BPaymentConfirmationRequest>
             <TransactionType>PayBill</TransactionType>
             <TransID>1234560000007031</TransID>
             <TransTime>20140227082020</TransTime>
             <TransAmount>123.00</TransAmount>
             <BusinessShortCode>12345</BusinessShortCode>
             <BillRefNumber>TX1001</BillRefNumber>
             <InvoiceNumber></InvoiceNumber>
             <OrgAccountBalance>12345.00</OrgAccountBalance>
             <ThirdPartyTransID></ThirdPartyTransID>
             <MSISDN>254722703614</MSISDN>
             <KYCInfo>
                <KYCName>[Personal Details][First Name]</KYCName>
                <KYCValue>Hoiyor</KYCValue>
             </KYCInfo>
          </c2b:C2BPaymentConfirmationRequest>
       </soapenv:Body>
    </soapenv:Envelope>

And I give a soap response.

My question is

Should I use SAAJ to create a soap client only to receive the soap request and post the details to my database then generate a soap response? Is the an example like this?

OR

Should I generate code to simply receive xml data, read the contents and generate a soap response?

I am abit confused on which is the best method. Forgive my ignorance.

Upvotes: 0

Views: 102

Answers (1)

v.ladynev
v.ladynev

Reputation: 19966

Should I use SAAJ to create a soap client only to receive the soap request and post the details to my database then generate a soap response?

If you receive requests — it is a server not a client.

My advice is to use spring-ws with JAXB — it is pretty simply. If you have a chance don't use JEE stuff don't use it, because of implementation of JEE can varies between applications server. For an example old versions of WebSphere have some problems with JEE implementation.

Should I generate code to simply receive xml data, read the contents and generate a soap response?

It is a very bad idea.

Upvotes: 1

Related Questions