从现有的wsdl获取PHP SOAP位置和uri

时间:2016-10-25 13:36:39

标签: php soap wsdl salesforce

我必须使用现有WSDL中的哪些属性才能在非wsdl模式下获得相同的功能?我想在PHP中使用非wsdl SoapClient但我无法获得正确的配置。我想使用Salesforce SOAP API但我不想存储wsdl文件localy。我创建了那个wsdl文件,当我像这样使用它时它可以工作

$soap = new \SoapClient("enterprise.wsdl.xml"); 

但我更喜欢这种方式

$soap = new \SoapClient(null, [
     "location" => "#SomeValueThatICanFindInTheActualWSDL#",
     "uri" => "#SomeOtherValueThatICanFindInTheActualWSDL#",
]);

我应该使用哪个wsdl属性作为位置和uri?

2 个答案:

答案 0 :(得分:0)

如果将WSDL URL粘贴到Web浏览器中,这将为您提供一个大型XML文档(您可能需要在URL中添加?wsdl),其中包含您要查找的2个变量。

要找到位置,请搜索以下节点:

<wsdl:import namespace="http://www.[some namespaceurl]" location="https://[the location url you want]" /> 

对于URI,通常只需删除URL上的文件名和/或文件夹结构即可。例如,如果您的服务是:

https://somedomain.com/folder1/folder2/somefile.svc?wsdl

然后URI可能是:

https://somedomain.com/folder1/folder2

https://somedomain.com/folder1

https://somedomain.com

您只需要反复试验,直到找到可行的方法。希望这会有所帮助。

答案 1 :(得分:-1)