我正在使用SoapClient来处理Web服务,该服务产生一系列anyTypes。我试图在响应上使用simplexml_load_string(可能是错误的)并且它失败导致simplexml_load_string没有被设置。
除此之外,我调用Web服务的PHP代码:(这里没问题)
$client->InvokeWorkflow( $params );
然后我将回复视为$ response:
$ response = $ client-> __ getLastResponse();
当我得到var_dump $ response时,我得到:
string(1404) "XmlOut<Organisations xmlns="http://www.XXXXXXXX.net/Schemas/Provision/Organisations.xsd"><Organisation xmlns="http://www.XXXXXXXX.net/Schemas/Provision/Organisations.xsd"><DomainName>XXXXXXXXX.co.za</DomainName><Action>Suspend</Action><ActionType>Organisation</ActionType><InternalReference>1234</InternalReference><StatusInfo><Status>Error</Status><Error><Field> (Validate 1.0.0.0): DomainName</Field><ErrorMessage>The domain is already suspended</ErrorMessage></Error></StatusInfo></Organisation></Organisations>statustruestatusMessagetaskStartIda0c5ce73-1915-4695-a50c-f05b431f8a14"
您会注意到XmlOut后跟XML字符串,后跟一些以statustruestatusMessage开头的文本。
该响应实际上是一组anyTypes。第一个是“XmlOut”,第二个是所有XML查找字符串,后跟“status”,“true”,“statusMessage”,“”,“taskStartId”,“0c5ce73-1915-4695-a50c-f05b431f8a14”< / p>
我正在尝试获取以下值:
答案 0 :(得分:0)
假设您使用的是PHP的SoapClient类,则不需要/不能将响应加载为字符串。
只需使用$ response变量即可。它已经是一个PHP对象了。
试
var_dump($response);