【问题标题】:PHP SoapClient showing empty values when there is XML content当有 XML 内容时,PHP SoapClient 显示空值
【发布时间】:2017-06-05 06:59:50
【问题描述】:

我正在尝试获取某个工作 (inJobID) 的所有属性 (GetAllProperties)。所有简单的字符串和数字都正确显示,但只是省略了 XML 实体,就好像它们不存在一样。

当回显“$jobObj->__getLastResponse()”时,XML 就在那里,但由于某种原因,它在尝试检索它时消失了。

代码很基础:

$params->inUsername ='TheUser';
$params->inPassword ='ThePassword';
$params->inJobID = 184;
$jobObj = new SoapClient('http://SERVERNAME/job_ssp.asmx?wsdl', array('trace' => 1));

$Props = $jobObj->GetAllProperties($params);
print_r ($Props-> GetAllPropertiesResult);

这是一个输出示例:

stdClass Object
(
    [GetAllPropertiesResult] => stdClass Object
        (
            [Property] => Array
                (
                    [0] => stdClass Object
                        (
                            [m_Name] => jobID
                            [m_Value] => 184
                        )

                    [2] => stdClass Object
                        (
                            [m_Name] => userID
                            [m_Value] => 2
                        )

                    [21] => stdClass Object
                        (
                            [m_Name] => jobParams
                            [m_Value] => 
                        )
                )
        )
)

jobParams 始终显示为空。

它是这样开始的: <?xml version='1.0' encoding='utf-16'?>

我可能在这里缺少一些非常基本的东西,但现在我完全感到困惑。

请帮忙?

补充: 当使用var_dump 时,它显示该字符串中有 3,579 个字符,但仍然没有显示它们:

[21]=> object(stdClass)#29 (2) { ["m_Name"]=> string(9) "jobParams" ["m_Value"]=> string(3579) "" }

【问题讨论】:

    标签: php xml soap-client


    【解决方案1】:
    echo htmlspecialchars(print_r ($Props-> GetAllPropertiesResult, 1));
    

    【讨论】:

    • 漂亮!为了正确显示内容,我对其进行了一些更改:echo '<pre>'.htmlspecialchars(print_r ($Props-> GetAllPropertiesResult, 1)).'</pre>';
    猜你喜欢
    • 2012-08-16
    • 2014-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-23
    相关资源
    最近更新 更多