【问题标题】:Error while using SOAP API of cybersource使用网络资源的 SOAP API 时出错
【发布时间】:2013-02-20 21:54:47
【问题描述】:

我正在尝试使用基于 SOAP 的 Cyber​​source 支付网关服务。目前我正在尝试使用 Cyber​​source 提供的测试环境来测试示例测试信用卡交易。

  1. 使用 WSDL 在 SOAP UI 中创建了一个项目:https://ics2wstest.ic3.com/commerce/1.x/transactionProcessor/CyberSourceTransaction_1.80.wsdl

  2. SOAP UI 生成了测试方法 runTransaction。

  3. 我将 Cyber​​source 文档中提供的相同 SOAP 消息复制到 SOAP UI 中作为 SOAP 消息,如下所示。

  4. 当我发送此请求时,我收到以下错误:

如果有人以前曾从事过此工作或遇到过此问题,请提供指点。谢谢!

内存

回应:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <soap:Body>
      <soap:Fault xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/04/secext" xmlns:c="urn:schemas-cybersource-com:transaction-data-1.0">
         <faultcode>soap:Client</faultcode>
         <faultstring>Element ():requestMessage not supported.</faultstring>
      </soap:Fault>
   </soap:Body>
</soap:Envelope>

SOAP 消息:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
   <soapenv:Header>
      <wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/ wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
         <wsse:UsernameToken>
            <wsse:Username>username</wsse:Username>
            <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wssusername-token-profile-1.0#PasswordText">TQc3LSaKfGWfgccqYX3mGhXfhBqnjyVzf5g1aeP3mDPFoMlFDfyKrKnhrqt2bHm3QeXTF1l+Aku/v4sFwIctcGtMNkwZDTMjxAAvuqnmedTa/Q9YxCS8OlhdYWOpJOAQGdyvT6bb0496RuzWN07kQZsPExY8BQDBpll6jpLvdQ6qbBK7MFSnO/2YbFaAaZIaFd+EGqePJXN/mDVp4/eYM8WgyUUN/IqsqeGuq3ZsebdB5dMXWX4CS7+/iwXAhy1wa0w2TBkNMyPEAC+6qeZ51Nr9D1jEJLw6WF1hY6kk4BAZ3K9PptvTj3pG7NY3TuRBmw8TFjwFAMGmWXqOku91Dg==</wsse:Password>
         </wsse:UsernameToken>
      </wsse:Security>
   </soapenv:Header>
   <soapenv:Body>
      <urn:requestMessage xmlns="urn:schemas-cybersource-com:transaction-data-1.80">
         <urn:merchantID>username</urn:merchantID>
         <urn:merchantReferenceCode>MRC-123</urn:merchantReferenceCode>
         <urn:billTo>
            <urn:firstName>John</urn:firstName>
            <urn:lastName>Doe</urn:lastName>
            <urn:street1>1295 Charleston Road</urn:street1>
            <urn:city>Mountain View</urn:city>
            <urn:state>CA</urn:state>
            <urn:postalCode>94043</urn:postalCode>
            <urn:country>US</urn:country>
            <urn:email>null@cybersource.com</urn:email>
         </urn:billTo>
         <urn:item id="0">
            <urn:unitPrice>5.00</urn:unitPrice>
            <urn:quantity>1</urn:quantity>
         </urn:item>
         <urn:item id="1">
            <urn:unitPrice>10.00</urn:unitPrice>
            <urn:quantity>2</urn:quantity>
         </urn:item>
         <urn:purchaseTotals>
            <urn:currency>USD</urn:currency>
         </urn:purchaseTotals>
         <urn:card>
            <urn:accountNumber>4111111111111111</urn:accountNumber>
            <urn:expirationMonth>11</urn:expirationMonth>
            <urn:expirationYear>2020</urn:expirationYear>
         </urn:card>
         <urn:ccAuthService run="true"/>
      </urn:requestMessage>
   </soapenv:Body>
</soapenv:Envelope> 

【问题讨论】:

  • 我也遇到了同样的问题,请问您有解决办法吗?
  • 标题非常有用!谢谢!
  • 我遇到了同样的问题。 wsse 命名空间的 url 有一个额外的 ' '(空格),它不应该出现在 XML 的第 3 行。 URL 应该是:docs.oasis-open.org/wss/2004/01/…,在 /wss/ ...docs.oasis-open.org/wss/...之前没有空格。

标签: payment-gateway soapui


【解决方案1】:

检查服务器上的时间。我最近遇到了完全相同的问题,结果发现服务器时间关闭了 15 分钟。

【讨论】:

    【解决方案2】:

    我遇到了同样的消息。

    不幸的是,确切的错误可能是什么尚无定论,但我发现我的错误是由于安全标头格式错误造成的。 (这从错误消息中不是很直观。)

    我没有立即看到您的 Security 标头有任何问题,但您可能会仔细检查您的命名空间。

    【讨论】:

      【解决方案3】:

      您是添加为服务参考还是Web 参考,应该添加为Web 参考。此外,您还需要安装 Microsoft 的 WSE 3.0 服务才能获得 TransactionProcessorWse

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-01-13
        • 2016-09-16
        • 2021-07-17
        • 2019-09-04
        • 2011-04-09
        • 1970-01-01
        • 2019-03-03
        • 1970-01-01
        相关资源
        最近更新 更多