当有XML内容时,PHP SoapClient显示空值

时间:2017-06-05 06:59:51

标签: php xml soap-client

我正在尝试获取某个作业的所有属性(GetAllProperties)(inJobID)。所有简单的字符串和数字都会正确显示,但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) "" }

1 个答案:

答案 0 :(得分:1)

echo htmlspecialchars(print_r ($Props-> GetAllPropertiesResult, 1));