Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

Ответ
 
Опции темы
Старый 04.12.2018, 19:56   #1
Ko$
Форумчанин
 
Регистрация: 21.12.2010
Сообщений: 91
Репутация: 1
По умолчанию 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, 20:46   #2
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 12,747
Репутация: 2126
По умолчанию

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

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

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

Цитата:
Сообщение от 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, 18:52   #4
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 12,747
Репутация: 2126
По умолчанию

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

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Веб-сервис SOAP на PHP, WSDL MonyaVitevna PHP 2 21.03.2017 16:21
Ошибка после импорта WSDL (SOAP Почты России) Smagulov85 Работа с сетью в Delphi 7 17.06.2015 15: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 13:58


15:54.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru