正在为远程Web服务加载本地WSDL


Loading Local WSDL For Remote Webservice

我试图连接的组织询问我是否可以在执行他们的功能之前从本地资源加载他们的WSDL。我尝试了很多选项,但我一直无法连接到主机错误。这是我的逻辑

 $sc = new SoapClient("http://localhost.com/wsdl.xml", array());

我也试过:

 $sc = new SoapClient("http://localhost.com/wsdl.xml, array ( "encoding"=>"ISO-8859-1",
        "stream_context" => stream_context_create($opts),
        "trace"=>1,
        "location"=>'http://remoteurl.com/wsdl',
        "exceptions"=>TRUE,
        "connection_timeout"=>20000 ));

如果我只是使用remoteurl.com/wsdl,它就可以工作了。有什么想法吗?

只需将完整的wsdl文件(包括引用的xsd(如果使用))保存到本地驱动器(或网络共享),并将url路径前缀从'http://..."到"file://..local-wsdl-path-here'