0

我正在尝试对 eXist 数据库键入一个简单的访问代码,但是 php 对 wsdl 感到疯狂:

php 代码听起来像这样: $db = new eXist();

在 eXist 类中,默认为 $user="guest", $password="guest", $wsdl="http://localhost:8080/exist/services/Query?wsdl"

好吧,php 没有正确获取 wsdl:SoapFault 异常:[WSDL] SOAP-ERROR:解析 WSDL:无法从 '[http]localhost:8080/exist/services/Query?wsdl' 加载:加载失败D:\facultate\WorkspaceTw\test\include\eXist.php:66 中的外部实体“[http]localhost:8080/exist/services/Query?wsdl” 堆栈跟踪:#0 D:\facultate\WorkspaceTw\test\include \eXist.php(66): SoapClient->SoapClient('[http]localhos...') #1 D:\facultate\WorkspaceTw\test\index.php(6): eXist->__construct() #2 {主要的}

存在数据库中的 API 应该将 wsdl 放在某个地方,以便可以找到这个根,但在计算机中找不到任何 wsdl。

请帮忙,我是使用 SOAP 的新手。

更新

谢谢你这么快回答。不,当我转到 URI 时它什么也没有显示,同时在计算机中找到了 wsdl,但仍然无法理解为什么它没有连接到它。

有关更多详细信息,我可以这样说:我正在使用 PHP 5.4 处理本地 apache 服务器,并且我想附加一个名为 eXist-db 的 XML 本机数据库。为了连接到数据库,我得到了一个在 SOAP 上工作的 php 库,以通过这个 WSDL 连接到已安装的存在数据库包。似乎无法识别 WSDL,也不知道为什么。不明白如何强制建立链接。

4

1 回答 1

1

尝试 localhost:8080/exist/services/Query?wsdl 在浏览器窗口中粘贴,看看您正在运行的任何服务器实际上是否具有可访问的 wsdls。

如果它有效,它应该返回一个 XML 文档。让我们知道当您尝试这样做时会发生什么,我们可以从那里得到它。

于 2013-06-04T01:09:06.330 回答