gpt4 book ai didi

php - SOAP 空信封。如何处理空响应

转载 作者:行者123 更新时间:2023-12-03 08:47:16 25 4
gpt4 key购买 nike

我现在使用 SOAP API 工作了一段时间(在工作项目中自学)。但有一件事一直困扰着我,就是我不知道如何处理一个空的响应。

例如:我调用该服务从 ERP 系统中获取一些文章。输入参数是商品编号或 GTIN。

这是一些示例代码:https://codeshare.io/5e3EYr

例如,如果没有设置 GTIN(只是为了理解),则响应不再是数组(单维或多维)。返回将是一个 SOAP 错误,例如“ fatal error :无法将字符串偏移量用作数组”,因为返回是错误消息。

我希望你能理解我的问题。我已经尝试检查它是否为 is_array,甚至 try catch 字符串。但我总是收到“ fatal error :无法使用字符串偏移量...”消息。

最佳答案

类似的东西(作为我评论的一个例子)

function handleShutdown(){

$lasterror = error_get_last();

if (is_null($lasterror)) {
//normal shutdown
return false;
}

//return error to client as XML, JSON etc.
// $lasterror['message']
// $lasterror['type']
// $lasterror['file']
// $lasterror['line']
}

register_shutdown_function('handleShutdown');

我将由您决定如何格式化错误消息。关闭处理程序甚至可以捕获内存不足错误... :)

显然,在注册之前您无法捕获任何内容,因此请在执行早期进行。

php.net/manual/en/function.register-shutdown-function.php

你可能还想看看
  • 设置错误处理程序
  • 设置异常处理程序

  • 然后你可以拥有错误处理的三重奏。

    您可以使用 set_error_handler 来捕获这些错误,但您希望过滤掉某些真实性的错误(在错误处理程序中),例如 Deprecated 或 Notice 级别的错误。您可以通过对照 error_reporting 检查严重性来做到这一点。你有(按位)这样的水平
    if($severity & error_reporting()) 
    //report on these errors.

    请注意,单个 & 是按位比较,与普通的 AND (&&) 不同

    现在如果您想完全防止错误,我需要查看生成它的代码(包括以某种方式标记的行)。否则,这只是疯狂的猜测。

    在任何情况下,当构建某种缺乏正常 GUI 的服务时,关闭恢复以向客户端发送反馈永远不会有什么坏处,只要确保清理您与客户端共享的任何输出信息即可。这样您就不会“泄露”可能泄露任何可能用于危害您的应用程序的信息的信息。

    干杯。

    关于php - SOAP 空信封。如何处理空响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51197934/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com