Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flex (http://www.flasher.ru/forum/forumdisplay.php?f=84)
-   -   Передача параметров WebService (http://www.flasher.ru/forum/showthread.php?t=152705)

alatar 24.03.2011 00:55

Цитата:

а в атрибуты к parametres идут свойства agent password? или как то по другому они?
атрибуты вообще не используются.

Haiat 24.03.2011 13:05

а куда вставляются тут данные для авторизации?

alatar 24.03.2011 13:12

Код:

<parametres>
    <authContext>
            <agent>**</agent>
                <locale>**</locale>
                ...
        </authContext>
    <airlines>
        <airline>**</airline>
        ...
    </airlines>
    <route>**</route>
    ...
</parametres>


Haiat 28.03.2011 16:46

делаю следующий запрос:
Код AS3:

var operation:AbstractOperation  = webService.getOperation("searchFlights");
                                var arguments:XML =
 
 
                                <parametres>
  <authContext>
      <agent>skybutik</agent>
      <password>12</password>
      <salesPoint>SKY-BUTIK</salesPoint>
      <locale>en</locale>
  </authContext>
 
  <route>
      <segment>
              <date>2011-03-28</date>
                  <locationBegin><name>Москва</name></locationBegin>
                  <locationEnd><name>Лондон</name></locationEnd>
          </segment>
  </route>
  <adults>2</adults>
  <children>2</children>
  <infants>2</infants>
  <serviceClass>ECONOMY</serviceClass>
  <directOnly>true</directOnly>
  <mixedVendors>false</mixedVendors>
 
 
  </parametres>;

дает следующие ошибки

Код:

(mx.messaging.messages::ErrorMessage)#0
  body = "<?xml version='1.0' encoding='UTF-8'?><S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Body><ns2:Fault xmlns:ns2="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns3="http://www.w3.org/2003/05/soap-envelope"><faultcode>ns2:Client</faultcode><faultstring>Cannot find dispatch method for {}parametres</faultstring></ns2:Fault></S:Body></S:Envelope>"
  clientId = "DirectHTTPChannel0"
  correlationId = "923D92DA-EC81-3299-AB93-FC454A37CB54"
  destination = ""
  extendedData = (null)
  faultCode = "Server.Error.Request"
  faultDetail = "Error: [IOErrorEvent type="ioError" bubbles=false cancelable=false eventPhase=2 text="Error #2032: Ошибка потока. URL: http://alliance.gridnine.com:9090/alliance/ws"]. URL: http://alliance.gridnine.com:9090/alliance/ws"
  faultString = "HTTP request error"
  headers = (Object)#1
    DSStatusCode = 500
  messageId = "41C45829-0273-6AFA-2926-FC454A859351"
  rootCause = (flash.events::IOErrorEvent)#2
    bubbles = false
    cancelable = false
    currentTarget = (flash.net::URLLoader)#3
      bytesLoaded = 365
      bytesTotal = 0
      data = "<?xml version='1.0' encoding='UTF-8'?><S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Body><ns2:Fault xmlns:ns2="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns3="http://www.w3.org/2003/05/soap-envelope"><faultcode>ns2:Client</faultcode><faultstring>Cannot find dispatch method for {}parametres</faultstring></ns2:Fault></S:Body></S:Envelope>"
      dataFormat = "text"
    errorID = 0
    eventPhase = 2
    target = (flash.net::URLLoader)#3
    text = "Error #2032: Ошибка потока. URL: http://alliance.gridnine.com:9090/alliance/ws"
    type = "ioError"
  timestamp = 0

мне говорят что мой не запрос не соответствует стандарту SOAP. и из этой ошибки (это же как бы ответ сервер) я понимаю что нужно добавить в начало
Код:

<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Body>
и в конец соответсвенно </S:Body></S:Envelope>

выдает почти такую же ошибку

Код:

ERROR!!!!!!! (mx.messaging.messages::ErrorMessage)#0
  body = "<?xml version='1.0' encoding='UTF-8'?><S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Body><ns2:Fault xmlns:ns2="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns3="http://www.w3.org/2003/05/soap-envelope"><faultcode>ns2:Client</faultcode><faultstring>Cannot find dispatch method for {http://schemas.xmlsoap.org/soap/envelope/}Envelope</faultstring></ns2:Fault></S:Body></S:Envelope>"
  clientId = "DirectHTTPChannel0"
  correlationId = "E2844987-E7E1-A161-B56A-FC47EB1F2902"
  destination = ""
  extendedData = (null)
  faultCode = "Server.Error.Request"
  faultDetail = "Error: [IOErrorEvent type="ioError" bubbles=false cancelable=false eventPhase=2 text="Error #2032: Ошибка потока. URL: http://alliance.gridnine.com:9090/alliance/ws"]. URL: http://alliance.gridnine.com:9090/alliance/ws"
  faultString = "HTTP request error"
  headers = (Object)#1
    DSStatusCode = 500
  messageId = "2C4B56BB-72F9-1AC6-7685-FC47EB63BAA8"
  rootCause = (flash.events::IOErrorEvent)#2
    bubbles = false
    cancelable = false
    currentTarget = (flash.net::URLLoader)#3
      bytesLoaded = 404
      bytesTotal = 0
      data = "<?xml version='1.0' encoding='UTF-8'?><S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Body><ns2:Fault xmlns:ns2="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns3="http://www.w3.org/2003/05/soap-envelope"><faultcode>ns2:Client</faultcode><faultstring>Cannot find dispatch method for {http://schemas.xmlsoap.org/soap/envelope/}Envelope</faultstring></ns2:Fault></S:Body></S:Envelope>"
      dataFormat = "text"
    errorID = 0
    eventPhase = 2
    target = (flash.net::URLLoader)#3
    text = "Error #2032: Ошибка потока. URL: http://alliance.gridnine.com:9090/alliance/ws"
    type = "ioError"
  timestamp = 0
  timeToLive = 0

что значит Cannot find dispatch method for {http://schemas.xmlsoap.org/soap/envelope/} ?

правильно ли я оформляю запрос через SOAP - и нужно ли передавать тег <?xml....?>, если да то как правильно его вписать? flex на синтаксис ругается

Спасибо) думаю буквально это последние вопросы, и я разберусь с этим

alatar 28.03.2011 16:58

Цитата:

мне говорят что мой не запрос не соответствует стандарту SOAP. и из этой ошибки (это же как бы ответ сервер) я понимаю что нужно добавить в начало
Вам говорят, что не получилось соедениться с сервером.
Цитата:

text = "Error #2032: Ошибка потока. URL: http://alliance.gridnine.com:9090/alliance/ws"
Цитата:

и нужно ли передавать тег <?xml....?>
Не нужно.

Haiat 28.03.2011 17:02

я имел ввиду, что программисты со стороны клиента говорят что не по стандарту SOAP. ))

а то что не может соедениться с сервером я понимаю. вот в чем только дело? раз он возвращает что то значит соеденяется же, но неправильно (что то не так с запросом наверно). вот я и хочу понять в чем дело.

а что значит Cannot find dispatch method for {http://schemas.xmlsoap.org/soap/envelope/} ?

ведь по ссылке нормально проходит, как я понял всегда это добавляют, это же схема. почему он её как метод интересно воспринимает

alatar 28.03.2011 18:18

Цитата:

а то что не может соедениться с сервером я понимаю. вот в чем только дело? раз он возвращает что то значит соеденяется же, но неправильно (что то не так с запросом наверно). вот я и хочу понять в чем дело.
Еще раз и медленно. Плеер не смог соедениться с сервером и вернул стандартную ошибку. До синтаксиса дело вообще не дошло.

wvxvw 28.03.2011 22:21

Не, не совсем... достучатся вы до сервера достучались, но сервер вернул статус 500 - это значит "внутренняя ошибка сервера". Как правило виноват сервер в таком случае, в любом случае в продакшне такого быть не должно. Ну а во время тестов это значит что вы как-то не так обратились, сервер такого ожидал.

Как проще всего проверить. Попросите у разработчиков серверной части образец запроса, как они думают, что он должен приходить. Поставьте какой-нибудь firebug / httpfox / wireshark или любой другой анализатор траффика (сниффер), и посмотрите, что вы отправляете. Сравните с образцом. Так сразу будет понятно, что вы делаете не так.

Haiat 29.03.2011 13:13

Да я уже запросил от них пример запроса, просто ребята долгие очень, пока отвечают сам пытаюсь разобраться.


Запрос я свой выше писал, а встал вопрос - как сделать запрос полностью на XML, то есть как и метод передать с помощью XML?

alatar 29.03.2011 14:20

Цитата:

Запрос я свой выше писал, а встал вопрос - как сделать запрос полностью на XML, то есть как и метод передать с помощью XML?
У тебя правильный зарос. Просто исправь parametres на parameters.


Часовой пояс GMT +4, время: 19:06.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.