Я хочу получить доступ к некоторым данным моего клиента через веб-сервис. Ниже он предоставил мне информацию, чтобы получить эти данные в формате XML.
http://www.clients-domain.com/erpsync/erp_sync.asmx
Пользователь = abcd
Пароль = 1234
Деталь функций:
GetAllItemData — вернет все элементы, выбранные для Интернета, с указанием их цены.
GetItemDataByDate — вернет все элементы, обновленные между определенной датой.
GetAllItemStock — вернет обновленный запас всех товаров для сайта
GetStockByItem — Вернет запас одного элемента.
Этот веб-сервис находится на сервере под управлением Windows.
Я не знаю, как позвонить выше URL в PHP, чтобы получить эти данные.
Он сказал мне, что возвращаемое значение этого веб-сервиса будет в формате XML.
И это SOAP 1.1
Любая помощь оценена
Так как он заявил SOAP просто продлить мыльный клиент
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));
Мыло клиент класса
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));
}
}
Других решений пока нет …