Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.12.2018, 18:56   #1
Ko$
Пользователь
 
Регистрация: 21.12.2010
Сообщений: 91
По умолчанию SOAP WSDL и Авторизация

Добрый день!
Помогите разобраться с авторизацией в SOAP.
Есть WSDL файл в блоке types есть блок следующего содержания:
Код:
      <xsd:element name="CheckStatus">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element name="P_USER" type="xsd:string">
                <xsd:annotation>
                    <xsd:documentation>
                User name
                </xsd:documentation>
                </xsd:annotation></xsd:element>
            <xsd:element name="P_PASSWORD" type="xsd:string">
                <xsd:annotation>
                    <xsd:documentation>
                User password
                </xsd:documentation>
                </xsd:annotation></xsd:element>
            <xsd:element name="P_APPL_NUM" type="xsd:string">
                <xsd:annotation>
                    <xsd:documentation>
                APPL_NUM
                </xsd:documentation>
                </xsd:annotation></xsd:element>
          </xsd:sequence>
          </xsd:complexType>
      </xsd:element>
а так же есть блок:

Код:
  <wsdl:message name="CheckStatusRequest">
    <wsdl:part element="tns:CheckStatus" name="parameters"/>
  </wsdl:message>
т.е. как я понимаю сервер принимает только один параметр т.е. передать\получить я его могу так:
Код:
$client = new SoapClient("https://САЙТ/file.wsdl");
var_dump($client->CheckStatus('0'));
сервер выдает ошибку аутентификации. Я немогу сообразить как мне передать логин и пароль.

Через программу SoapUI открыл wsdl, запрос получился следующего вида и он работает:
Код:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:form="http://САЙТ/Form/">
   <soapenv:Header/>
   <soapenv:Body>
      <form:CheckStatus>
         <P_USER>USER_1879</P_USER>
         <P_PASSWORD>5555</P_PASSWORD>
         <P_APPL_NUM>0</P_APPL_NUM>
      </form:CheckStatus>
   </soapenv:Body>
</soapenv:Envelope>
Как правильно составить запрос на PHP ?
Ko$ вне форума Ответить с цитированием
Старый 04.12.2018, 19:46   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Цитата:
Сообщение от Ko$ Посмотреть сообщение
т.е. как я понимаю сервер принимает только один параметр т.е. передать\получить я его могу так:
А ничего, что параметр типа CheckStatus? Какого вы 0 пихаете то?

Цитата:
Сообщение от Ko$ Посмотреть сообщение
Через программу SoapUI открыл wsdl, запрос получился следующего вида и он работает:
Вот же ж сюрприз...

Цитата:
Сообщение от Ko$ Посмотреть сообщение
Как правильно составить запрос на PHP ?
Отправить правильные значения.
p51x вне форума Ответить с цитированием
Старый 05.12.2018, 17:49   #3
Ko$
Пользователь
 
Регистрация: 21.12.2010
Сообщений: 91
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Вот же ж сюрприз...
яснопонятно
p/s: p51x, сделайте хоть что то полезное, не отвечайте на мои темы, я писал на тематический форум чтобы получить помощь в решении возникшей ситуации с которой я был не в силах разобраться самостоятельно, а не за гнилым тролингом, хотя возможно вы перепутали данный форум с каким-нибудь развлекательным порталом ...

если кому то понадобится решение подобной задачи, то вот так я его решил:

Код:
$client = new SoapClient("https://САЙТ/file.wsdl");

$response = $client->CheckStatus(array(
        "P_USER" => 'USER_1879',
        "P_PASSWORD" => "5555",
        "P_APPL_NUM" => "0"
    ));

var_dump($response);
Ko$ вне форума Ответить с цитированием
Старый 05.12.2018, 17:52   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Как только вы перестанете создавать темы или это появится в правилах. То, что вы не осилили в мое ответе первое предложение
Цитата:
Сообщение от p51x Посмотреть сообщение
А ничего, что параметр типа CheckStatus?
это ваши проблемы... А так да, решили.
p51x вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Веб-сервис SOAP на PHP, WSDL MonyaVitevna PHP 2 21.03.2017 15:21
Ошибка после импорта WSDL (SOAP Почты России) Smagulov85 Работа с сетью в Delphi 7 17.06.2015 14:22
WSDL и SOAP, Отправка запросов к удаленному серверу. Алориан PHP 2 22.06.2009 12:57
soap wsdl nimf Общие вопросы Delphi 0 22.08.2008 16:10
Помогите разобраться со связкой PHP+SOAP+WSDL bobadd PHP 9 03.11.2007 12:58