如何访问PHP中的Windows Web服务
我想通过Web服务访问我的一些客户端数据。他向我提供了以下信息以XML格式获取这些数据。如何访问PHP中的Windows Web服务
http://www.clients-domain.com/erpsync/erp_sync.asmx
用户= ABCD
密码= 1234
详细功能:
GetAllItemData - 将返回其价格
GetItemDataByDate选择网页的所有物品, - 将返回在特定日期
0之间更新的所有项目GetAllItemStock - 将返回所有项目的网站更新库存
GetStockByItem - 将返回单个项目的股票。
此Web服务位于基于Windows的服务器上。
我不知道如何在PHP中调用以上URL来获取此数据。 他告诉我这个Web服务的返回值是XML格式。
而且它是SOAP 1.1
任何帮助appriciated
因为他说SOAP简单延长soap client
1日建立到SOAP
$soapCon = new Utils_SoapClient("http://www.clients-domain.com/erpsync/erp_sync.asmx", array());
$soapCon->setCredentialsHeader(User, Password);
连接创建一个结构来通过变量
$struct = new stdClass();
$struct->item1 = $item1;
个
通话功能客户端为您提供了传递的参数/变量
GetAllItemData - 将返回其价格
$result = $soapCon->GetAllItemData(new SoapVar($struct, SOAP_ENC_OBJECT));
GetItemDataByDate选择网络中的所有项目, - 将返回一间更新的所有物品具体日期
$result = $soapCon->GetItemDataByDate(new SoapVar($struct, SOAP_ENC_OBJECT));
GetAllItemStock - 将返回更新的所有库存物品的网站
$result = $soapCon->GetAllItemStock(new SoapVar($struct, SOAP_ENC_OBJECT));
GetStockByItem - 将返回单个物品的库存。
$result = $soapCon->GetStockByItem(new SoapVar($struct, SOAP_ENC_OBJECT));
SOAP客户端类
class Utils_SoapClient extends SoapClient {
protected $_targetNamespace;
public function __construct($wsdl, $options){
parent::__construct($wsdl, $options);
// detect target namespace
$xml = simplexml_load_file($wsdl);
$this->_targetNamespace = (string) $xml['targetNamespace'];
}
public function setCredentialsHeader($login, $password) {
$header = new SoapHeader($this->_targetNamespace,
'CredentialsSoapHeader',
new SoapVar(
array(
'Login' => $login,
'Password' => $password,
),
SOAP_ENC_OBJECT,
'CredentialsSoapHeader',
$this->_targetNamespace
)
);
$this->__setSoapHeaders(array($header));
}
}
那么,我将使用此用户名和密码? – 2014-11-21 19:10:12
看看文档@SadaqatGhafoor – 2014-11-21 19:12:33
谢谢大卫。我如何使用这些功能?像GetAllItemData? – 2014-11-21 19:32:50
'的file_get_contents()'将是一个简单的开始。 'cURL'也是另一种解决方案。或者,也许它是您需要使用的“SOAP”。 – Ohgodwhy 2014-11-21 19:05:25
使用[cURL](http://php.net/manual/en/book.curl.php) – 2014-11-21 19:05:32