【问题标题】:Get PHP SOAP location and uri from existing wsdl从现有 wsdl 获取 PHP SOAP 位置和 uri
【发布时间】:2016-10-25 13:36:39
【问题描述】:

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

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

但我更喜欢这种方式

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

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

【问题讨论】:

    标签: php soap wsdl salesforce


    【解决方案1】:

    如果您将 WSDL url 粘贴到 Web 浏览器中,这将为您提供一个大型 XML 文档(您可能需要将 ?wsdl 添加到 url),其中包含您要查找的 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
    

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

    【讨论】:

      【解决方案2】:

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-05-20
        • 2018-08-30
        • 2015-07-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多