Информация для входа в SOAP Providr?

Я провел несколько тестов с Providr.io. Я могу получить информацию с сайта, но когда я использую сгенерированный Providr пакет локально, я получаю ошибку «999».

Информация для входа (учетные данные) отсутствует в запросе, в каком файле мне вводить логин и пароль?

Мой код (с использованием файла tutorial.php):

require_once __DIR__ . '/vendor/autoload.php';
/**
 * Minimal options
 */
$options = array(
    \WsdlToPhp\PackageBase\AbstractSoapClientBase::WSDL_URL => 'http://www.gls-group.eu/276-I-PORTAL-WEBSERVICE/services/ParcelShopSearch/wsdl/2010_01_ParcelShopSearch.wsdl',
    \WsdlToPhp\PackageBase\AbstractSoapClientBase::WSDL_TRACE => true,
    \WsdlToPhp\PackageBase\AbstractSoapClientBase::WSDL_CLASSMAP => ClassMap::get(),
    \WsdlToPhp\PackageBase\AbstractSoapClientBase::WSDL_LOGIN => 'mylog',
    \WsdlToPhp\PackageBase\AbstractSoapClientBase::WSDL_PASSWORD => 'mypass',
);


$id = "2500686161";
/**
 * Samples for Get ServiceType
 */
$get = new \ServiceType\Get($options);
/**
 * Sample call for GetParcelShopById operation/method
 */
if ($get->GetParcelShopById(new \StructType\GetParcelShopByIdRequestType($id)) !== false) {
    print_r($get->getResult());
} else {
    print_r($get->getLastError());
}

Что я получаю из браузера:

  StructType\GetParcelShopByIdResponseType Object ( [ExitCode] => StructType\GLSExitCode Object ( [ErrorCode] => 999 [ErrorDscr] => ) [ParcelShop] => StructType\GLSParcelShop Object ( [ParcelShopId] => [Address] => StructType\GLSAddress Object ( [Name1] => [Street1] => [ZipCode] => [City] => [Country] => [Name2] => [Name3] => [ContactName] => [BlockNo1] => [Street2] => [BlockNo2] => [Province] => ) [Phone] => StructType\GLSPhonenumber Object ( [Country] => [Region] => [Contact] => [Extension] => ) [Mobile] => StructType\GLSPhonenumber Object ( [Country] => [Region] => [Contact] => [Extension] => ) [Fax] => StructType\GLSPhonenumber Object ( [Country] => [Region] => [Contact] => [Extension] => ) [Email] => [URL] => [GLSCoordinates] => StructType\GLSCoordinates Object ( [Latitude] => 0 [Longitude] => 0 ) [GLSWorkingDay] => ) ) 

Я что-то забыл?

Пожалуйста, разместите свой вопрос на английском языке.

user9420984 15.06.2018 13:28
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
1
135
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Вы должны использовать генератор WSDL для php, который генерирует PHP SDK, чтобы легко использовать SOAP WS.

Взгляните на проект PackageGenerator. Он генерирует классы структур, используемые для создания запроса, и классы служб для отправки запроса.

Тогда обработка ответа упрощается, поскольку вы имеете дело только с известными классами объектов, созданными генератором, удачи,

Ответ принят как подходящий

Я нашел решение:

/**
 * Sample call for GetParcelShopById operation/method
 */
if ($get->GetParcelShopById(new \StructType\GetParcelShopByIdRequestType("*ID*", new \StructType\GLSUserCredentials($userName = "*MyUserName*", $password = '*MyPassword*'))) !== false) {
    print_r($get->getResult());    
} else {
    print_r($get->getLastError());

}

значение нам нужно заменить на вашу личную информацию

Другие вопросы по теме