gpt4 book ai didi

PHP Xpath : How to get the action URL from any method on a WSDL?

转载 作者:行者123 更新时间:2023-12-03 17:20:29 24 4
gpt4 key购买 nike

我正在尝试仅使用所需的操作(和 wsdl)从任意 WSDL 中恢复操作 URL:

$method = "consultarProcesso";
$wsdl = "https://webserverseguro.tjrj.jus.br/MNI/Servico.svc?wsdl";
$xmlWSDL = new SimpleXMLElement(file_get_contents($wsdl));
$xpath = "//*[local-name()='operation'][@name='$method']";
$result = $xmlWSDL->xpath($xpath);
var_dump($result[0]);

问题是我不知道如何从 $result[0] 获取节点值以在此示例中恢复所需的值:
http://www.cnj.jus.br/servico-intercomunicacao-2.2.2/consultarProcesso

我能做些什么来实现这一目标?

最佳答案

有几种方法可以找到 input感兴趣的元素直接使用xpath .您可以使用 local-name()就像你现在一样:

$xpath = "//*[local-name()='operation'][@name='$method']/*[local-name()='input']";

或者直接在 xpath 中指定命名空间:
$xpath = "//wsdl:operation[@name='$method']/wsdl:input";

一旦你有了想要的元素,你可以通过它的命名空间属性查看 Action。 :
$result = $xmlWSDL->xpath($xpath)[0];
$namespaces = $result->getNameSpaces();
foreach ($namespaces as $ns) {
if (isset($result->attributes($ns)['Action'])) $url = (string)$result->attributes($ns)['Action'];
}
echo $url;

输出:
http://www.cnj.jus.br/servico-intercomunicacao-2.2.2/consultarProcesso

Demo on 3v4l.org

关于PHP Xpath : How to get the action URL from any method on a WSDL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59096847/

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