ФорумПрограммированиеPHP для идиотов → SOAP хелп

SOAP хелп

  • ХАПАЧ

    Сообщения: 44 Репутация: N Группа: Кто попало

    Spritz Апрель 14, 2008, 2:31 п.п.

    Есть сервис на который надо отправлять запрос и получать ответ,может кто сталкивался с подобным!Админ прислал такое письмо

    Здравствуйте, Антон.

    Адрес нашего Веб-сервиса: http://mt.proma.ru:9987/IshopPR/service.asmx

    Файл service.asmx состоит из одной строки. Вот её содержимое:

    <%@ WebService Language="C#" CodeBehind="~/App_Code/Service.cs" Class="Service" %>

    Исходники сервиса я Вам пересылал.

    Сервисы обмениваются документами в формате DataSet, описанными в System.Data и структурой OrderDs, описанной в orderds.xsd, присланным вместе с исходниками. Кроме того, в параметрах методов встречаются данные в форматах System.DateTime, System.bool, Systrm.string.

    Для работы без использования .NET FrameWork для доступа к веб-сервису нужно иметь последние версии клиента SOAP и MSXML.



    Дайте плиз совет как и что
  • ХАПАЧ

    Сообщения: 44 Репутация: N Группа: Кто попало

    Spritz Апрель 14, 2008, 2:33 п.п., спустя 1 минуту 53 секунды

    Весь отстой который он прислал http://proma.ru.j191.mt.ru/1.rar
  • ХАПАЧ

    Сообщения: 44 Репутация: N Группа: Кто попало

    Spritz Апрель 14, 2008, 3:22 п.п., спустя 49 минут 22 секунды

    добавив ?wdsl к названию сервера получил wdsl документ обращаюсь к его методам но они ни чего не возвращают

    $client = new SoapClient("http://mt.proma.ru:9987/IshopPR/service.asmx?wsdl");


    $result = $client->Test('20');
    echo $result;


    ПИСЕЦ
  • md5

    Сообщения: 11960 Репутация: N Группа: в ухо

    Spritz Апрель 14, 2008, 4:48 п.п., спустя 1 час 26 минут 7 секунд

    какой такой тест?
    какой ПИСЕЦ?
    все умрут, а я изумруд
  • md5

    Сообщения: 11960 Репутация: N Группа: в ухо

    Spritz Апрель 14, 2008, 4:51 п.п., спустя 3 минуты 4 секунды

    http://pyha.ru/forum/topic/425.0
    вот я начинал писать фак, до серверной части не дошел, но клиентская там есть.
    если тебе надо вызывать remote procedure типа Test — это делается:
    $response = $client->__soapCall("Test", $args);
    все умрут, а я изумруд
  • ХАПАЧ

    Сообщения: 44 Репутация: N Группа: Кто попало

    Spritz Апрель 14, 2008, 6:14 п.п., спустя 1 час 22 минуты 53 секунды


    http://pyha.ru/forum/topic/425.0
    вот я начинал писать фак, до серверной части не дошел, но клиентская там есть.
    если тебе надо вызывать remote procedure типа Test — это делается:
    $response = $client->__soapCall("Test", $args);



    В wdsl файле описан такой метод


    <s:element name="PlaceOrder">

    <s:complexType>

    <s:sequence>

    <s:element minOccurs="0" maxOccurs="1" name="orderDataset">

    <s:complexType>

    <s:sequence>
    <s:any namespace="http://tempuri.org/OrderDS.xsd"/>
    </s:sequence>
    </s:complexType>
    </s:element>
    </s:sequence>
    </s:complexType>
    </s:element>


    Я так понимаю как должна выглядеть переменная описано в файле OrderDs.xsd ,как только вызываю метод Test то все круто если другой например orderDataset скрипт падает кстати md5 способ $result = $client->Test('20'); - работает
  • md5

    Сообщения: 11960 Репутация: N Группа: в ухо

    Spritz Апрель 14, 2008, 7:48 п.п., спустя 1 час 34 минуты 9 секунд

    тебе какое задание дали?
    какую процедуру надо выполнить и какие параметры передать?
    все умрут, а я изумруд
  • md5

    Сообщения: 11960 Репутация: N Группа: в ухо

    Spritz Апрель 15, 2008, 10:47 д.п., спустя 14 часов 58 минут 45 секунд

    а какие параметры надо передать?
    тебе надо делать так как написано в факе

    $response = $client->__soapCall("PlaceOrder", $args);

    где $args — массив аргументов (параметров), которые те надо передать
    все умрут, а я изумруд

Пожалуйста, авторизуйтесь, чтобы написать комментарий!