Как получить доступ к веб-сервису Windows в Stack Overflow

Я хочу получить доступ к некоторым данным моего клиента через веб-сервис. Ниже он предоставил мне информацию, чтобы получить эти данные в формате XML.

http://www.clients-domain.com/erpsync/erp_sync.asmx

Пользователь = abcd

Пароль = 1234

Деталь функций:

GetAllItemData — вернет все элементы, выбранные для Интернета, с указанием их цены.

GetItemDataByDate — вернет все элементы, обновленные между определенной датой.

GetAllItemStock — вернет обновленный запас всех товаров для сайта

GetStockByItem — Вернет запас одного элемента.

Этот веб-сервис находится на сервере под управлением Windows.

Я не знаю, как позвонить выше URL в PHP, чтобы получить эти данные.
Он сказал мне, что возвращаемое значение этого веб-сервиса будет в формате XML.

И это SOAP 1.1

Любая помощь оценена

0

Решение

Так как он заявил 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));
}
}
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]