0

SOAP for ipayment(ドイツ)を使用して支払いシステムを作成しようとしていますが、そのドキュメントには、次のSOAPリクエストを使用すると、2番目のコード例に示す応答が返される可能性があると記載されています。

<?xml version="1.0" encoding="ISO-8859-1"?> 
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" 
 xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
 <SOAP-ENV:Body> 
  <capture> 
    <accountData> 
     <accountId>99999</accountId> 
     <trxuserId>99999</trxuserId> 
     <trxpassword>0</trxpassword> 
     <adminactionpassword> 
       5cfgRT34xsdedtFLdfHxj7tfwx24fe</adminactionpassword> 
    </accountData> 
    <origTrxNumber>1-25949395</origTrxNumber> 
    <transactionData> 
     <trxAmount>119</trxAmount> 
     <trxCurrency>EUR</trxCurrency> 
    </transactionData> 
  </capture> 
 </SOAP-ENV:Body> 
</SOAP-ENV:Envelope>

そしてサーバーからの応答例は

<?xml version="1.0" encoding="ISO-8859-1"?> 
<SOAP-ENV:Envelope 
 xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" 
 xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
 <SOAP-ENV:Body> 
  <ns1:captureResponse 
    xmlns:ns1="https://ipayment.de/service_v3/binding"> 
    <ipaymentReturn> 
     <status>SUCCESS</status> 
     <successDetails> 
      <retTransDate>25.07.08</retTransDate> 
      <retTransTime>17:08:08</retTransTime> 
      <retTrxNumber>1-25949407</retTrxNumber> 
      <retAuthCode></retAuthCode> 
     </successDetails> 
     <addressData> 
      <addrStreet>Ernst-Frey-Str. 9</addrStreet> 
      <addrCity>Karlsruhe</addrCity> 
      <addrZip>76135</addrZip> 
      <addrCountry>DE</addrCountry> 
     </addressData> 
     <addresscheckResult>UNCHECKED</addresscheckResult> 
     <paymentMethod>VisaCard</paymentMethod> 
     <trxPaymentDataCountry>US</trxPaymentDataCountry> 
    </ipaymentReturn> 
  </ns1:captureResponse> 
 </SOAP-ENV:Body> 
</SOAP-ENV:Envelope>

しかし、grailsで示されているように、リクエストを作成する方法がわかりません。Spring WSプラグインを使おうとしていますが、ドキュメントのサンプルコードはまったく役に立ちません。いくつかの例やアイデアの出典を知っていますか?WSDLスキーマはhttps://ipayment.de/service/3.0/?wsdlにあり ます。ありがとうございます。

4

2 に答える 2

2

WSへの認証にCookieが必要ない場合(そしてCookieは必要ありません:-))、groovy-wsliteはSOAPリクエストの作成に使用するのに適したライブラリです。

もう1つの方法は、HTTPBuilderを使用することです。これにより、ツアーの正確なリクエストを作成し、必要に応じてCookieを処理できます(wsliteを使用してこれを行うことができますが、もう少し作業が必要です)

于 2012-07-06T13:38:54.883 に答える
0

スクリプトを作成している場合は、groovyから直接curl(使用可能な場合)を使用することをお勧めします。それはかなり強力で、扱いやすく、ワンライナーでそれを行うことができます。

例: "curl -d \" $ {payload} \ "-H \" Content-Type:text / xml \ "$ {wsUrl}"。execute.textペイロードがリクエスト(soap-envelopeを含む)の場合。

于 2012-07-09T12:12:38.890 に答える