0

この Web サービスがあります:
https://pgws.bpm.bankmellat.ir/pgwchannel/services/pgw?wsdl

Web サービスにはbpPayRequest、Web サービス プロバイダーが以下のように定義した 10 個のパラメーターを受け取るメソッドがあります。

bpPayRequest(long terminalID, string username, string password, long orderID, long amount, string localDate, string localTime, string additionalData, string callbackURL, long payerID)

私はASP Classicを使用していますが、これは私のコードです:

<%
RedirectURL = "http://" & Request.ServerVariables("SERVER_NAME") & "/Frontend/epayverify_l2.asp"

set oSOAPay = Server.CreateObject("MSSOAP.SoapClient30")
oSOAPay.ClientProperty("ServerHTTPRequest") = True
on error resume next
oSOAPay.mssoapinit(webServiceAddr)
oSOAPay.ConnectorProperty("UseSSL") = False 
if err.number <> 0 Then
    if DebugMode Then
        rwbr err.description
        response.end
    Else
        epayAction = false
        this_error = "banknotresponse"
        Exit for
    End if
End if
on error goto 0

result = oSOAPay.bpPayRequest(_
    CLng(str_terminal), _
    CStr(M_ID), _
    "password", _
    CLng(int_orderID), _
    CLng(Amount), _
    "20130610", _
    "102030", _
    "", _
    CStr(RedirectURL), _
    0)
%>

そして、これはresult = oSOAPay.bpPayRequest値を持つパラメータです:

oSOAPay.bpPayRequest( 709499, "11111", "password", 2, 1000, "20130610", "102030", "", "http://mitranik.com/Frontend/epayverify_l2.asp", 0 )

問題は、このコードを実行すると、このエラーが発生することです。

Client:Incorrect number of parameters supplied for SOAP request HRESULT=0x80070057: The parameter is incorrect. - Client:Unspecified client error. HRESULT=0x80070057: The parameter is incorrect.

私はここで何かを逃していますか?

4

1 に答える 1

1

Web メソッドは 9 つのパラメーターを想定しています。

  1. 長い端末 ID
  2. 文字列ユーザー名
  3. 文字列パスワード
  4. ロングオーダーID
  5. 高額
  6. 文字列 localDate
  7. 文字列 localTime
  8. 文字列 callbackURL
  9. 支払者 ID が長い

ただし、それを消費するときは、10 個のパラメーターを与えます。

  1. CLng(str_terminal)
  2. CStr(M_ID)
  3. "パスワード"
  4. CLng(int_orderID)
  5. CLng(金額)
  6. 「20130610」
  7. 「102030」
  8. ""
  9. CStr(リダイレクト URL)
  10. 0

パラメータ #8 (空の文字列が修正されています) が原因です。それを取り除くだけです。

result = oSOAPay.bpPayRequest(_
    CLng(str_terminal), _
    CStr(M_ID), _
    "password", _
    CLng(int_orderID), _
    CLng(Amount), _
    "20130610", _
    "102030", _
    CStr(RedirectURL), _
    0)
于 2013-06-11T11:39:39.137 に答える