0

嗨,我从 eway 令牌支付 api 集成中收到此错误。

SoapFault 异常:[HTTP] 错误请求

当我运行以下代码时,肥皂中的函数

var_dump($client->__getFunctions());

和功能列表是

array
  0 => string 'CreateCustomerResponse CreateCustomer(CreateCustomer $parameters)' (length=65)
  1 => string 'UpdateCustomerResponse UpdateCustomer(UpdateCustomer $parameters)' (length=65)
  2 => string 'QueryCustomerResponse QueryCustomer(QueryCustomer $parameters)' (length=62)
  3 => string 'QueryCustomerByReferenceResponse QueryCustomerByReference(QueryCustomerByReference $parameters)' (length=95)
  4 => string 'ProcessPaymentResponse ProcessPayment(ProcessPayment $parameters)' (length=65)
  5 => string 'ProcessPaymentWithCVNResponse ProcessPaymentWithCVN(ProcessPaymentWithCVN $parameters)' (length=86)
  6 => string 'ProcessPaymentWithBeagleResponse ProcessPaymentWithBeagle(ProcessPaymentWithBeagle $parameters)' (length=95)
  7 => string 'QueryPaymentResponse QueryPayment(QueryPayment $parameters)' (length=59)
  8 => string 'CreateCustomerResponse CreateCustomer(CreateCustomer $parameters)' (length=65)
  9 => string 'UpdateCustomerResponse UpdateCustomer(UpdateCustomer $parameters)' (length=65)
  10 => string 'QueryCustomerResponse QueryCustomer(QueryCustomer $parameters)' (length=62)
  11 => string 'QueryCustomerByReferenceResponse QueryCustomerByReference(QueryCustomerByReference $parameters)' (length=95)
  12 => string 'ProcessPaymentResponse ProcessPayment(ProcessPayment $parameters)' (length=65)
  13 => string 'ProcessPaymentWithCVNResponse ProcessPaymentWithCVN(ProcessPaymentWithCVN $parameters)' (length=86)
  14 => string 'ProcessPaymentWithBeagleResponse ProcessPaymentWithBeagle(ProcessPaymentWithBeagle $parameters)' (length=95)
  15 => string 'QueryPaymentResponse QueryPayment(QueryPayment $parameters)' (length=59)

当我像这样调用函数时

$client->CreateCustomer($customerinfo);

然后它给我错误 SoapFault 异常:[HTTP] 错误请求。

$customerinfo 是所有数据的数组。

4

1 回答 1

1

这可能与您在$parameters数组中传递的数据有关。确保您的数据是SOAP合规的,并且您的请求也是如此。HTTP 400发生,当 SOAP 处理器无法理解请求时。

编码在数据发送和接收中起主要作用。如果有效负载具有非 SOAP 编码部分,则可能会导致这种情况。如果您可以记录请求,CreateCustomer()则可以验证请求。

根据上面所说的进行故障排除,希望您能解决问题。如果您可以更清晰和详细地发布您的问题,这也会很有帮助

于 2012-07-09T09:50:01.237 回答