当在堆栈溢出时搜索XMLSQLQuery时,会找到0结果。所以我真的希望有人可以提供帮助。
我有一个支持XMLXPathQuery 的WSDL文件的链接(我在使用WSDL文件方面没有经验,之前从未完成过XMLSQLQuery,只有标准的PHP soapclient标准SOAP调用)
我还有一个用户名,密码和数据库名称。
理论上我可以运行如下所示的xmlsqlquery:"select lastname from users where statusflag = 1 for xml auto"
但是我如何连接(使用用户名,密码和dbname)这个支持XMLSQLQuery的WSDL文件以及如何在PHP中运行查询。
答案 0 :(得分:0)
好吧,对于其他任何人来说,看起来WSDL文件的主要调用函数如下:
<s:element name="StringXPathQuery">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="XPathExpression" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="Username" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="Password" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="DBName" type="s:string"/>
</s:sequence>
</s:complexType>
</s:element>
(正确定位不像这里)
因此可以在PHP中使用SoapClient。但这些字段不在WSDL文件中,因此可以猜测或尝试获取有关该字段的文档。
示例:
$client = new SoapClient("some wsdl url");
$user = $client->StringXPathQuery(array(
'XPathExpression' => 'user[@lastname="Hans"]',
'Username' => 'some username',
'Password' => 'some password',
'DBName' => 'some db name'
));