【发布时间】:2017-04-24 23:14:30
【问题描述】:
我要开始说我对此一无所知。几天来我一直在研究代码,但我对 SOAP 提要束手无策。我查看了文档和视频以及其他堆栈溢出问题,但没有基本的了解,我只是没有拿起任何东西。
我有一份来自一家公司的文件,我正试图从中获取他们的提要,我希望将这些信息放入数据库中。他们给了我一些示例数据和 php 代码让我开始,但我无法让它工作。
<?php
require_once('../lib/nusoap.php'); // includes nusoap class
// Create object
$client = new nusoap_client('https://services.ironsolutions.com/SearchDataService/SearchDataService.asmx?wsdl', true);
$client->setHeaders("<AuthHeader><Email>webservice@ironsolutions.com</UserName><Password>IRON123</Password></AuthHeader>");
// Call method -- for all equip use null instead of Array(...)
$result = $client->call('GetInventoryList', Array('type' => "TR", 'make' => "CIH"));
if ($client->fault) { // fault if any
echo 'Fault'; print_r($result);
} else {
// Check for errors
$err = $client->getError();
if ($err) { // Display the error
echo 'Error' . $err ; }
else { // Display the result echo 'Result';
print_r($result); }
}
?>
现在我确实注意到在 AuthHeader 中它有一个电子邮件打开和一个用户名关闭,我不确定它实际上应该是哪个。无论我做什么,我的屏幕都显示为空白,因此很难排除故障。
这是获取信息的方式吗?有没有更简单的方法?这里发生了什么,只返回一个空白页?任何信息都会有所帮助。
【问题讨论】:
-
如果您在浏览器 (
https://services.ironsolutions.com/SearchDataService/SearchDataService.asmx?wsdl) 中将 URL 发送到 WSDL 文件,您可以看到消息定义。<AuthHeader>元素需要一个<Email>元素(不是<UserName>。您是否确认您实际上可以在 PHP 之外调用该服务?我会先这样做 - 获取 SoapUI 或 PostMan 插件Chrome 并查看您是否可以调用该 URL 上的服务。
标签: php xml database soap nusoap