![]() |
|
Модераторы: gambit |
![]()
|
|
| PiyodaiSiyo |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 112 Регистрация: 31.12.2009 Репутация: нет Всего: 2 |
Привет с j2me и android форумов!
Вероятнее всего мне следует обратится сюда. Так уж получилось что я поверхностно знаком с SOAP. Мне нужно взаимодействие телефона с .net сервером. ГДЕ ОШИБКА В ЗАПРОСЕ? (служба aspx) НАШ ЗАПРОС: <SOAP-ENV:Envelope xmlns:SOAP-ENC="http://www.w3.org/2001/12/soap-encoding" xmlns:SOAP-ENV="http://www.w3.org/2001/12/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://www.w3.org/2001/12/soap-encoding"> <Login xmlns="http://tempuri.org/" id="o0" SOAP-ENC:root="1"> <userName xmlns="" xsi:type="xsd:intSport">test</userName> <password xmlns="" xsi:type="xsd:intSport">test</password> <version xmlns="" xsi:type="xsd:decimal">1.011</version> <intSport xmlns="" xsi:type="xsd:unsignedByte">1</intSport> <sessionID xmlns="" xsi:type="xsd:guid"> </sessionID> <gameTitle xmlns="" xsi:type="xsd:intSport">spartak-dinamo</gameTitle> <scores xmlns="" xsi:type="xsd:base64Binary">1234</scores> </Login> </SOAP-ENV:Body> </SOAP-ENV:Envelope> И ОТВЕТ СЕРВЕРА <?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><soap:Fault><faultcode>soap:Client</faultcode><faultstring>System.Web.Services.Protocols.SoapException: Сервер не распознал значение заголовка HTTP SOAPAction: . в System.Web.Services.Protocols.Soap11ServerProtocolHelper.RouteRequest() в System.Web.Services.Protocols.SoapServerProtocol.RouteRequest(SoapServerMessage message) в System.Web.Services.Protocols.SoapServerProtocol.Initialize() в System.Web.Services.Protocols.ServerProtocol.SetContext(Type type, HttpContext context, HttpRequest request, HttpResponse response) в System.Web.Services.Protocols.ServerProtocolFactory.Create(Type type, HttpContext context, HttpRequest request, HttpResponse response, Boolean& abortProcessing)</faultstring><detail /></soap:Fault></soap:Body></soap:Envelope> непонятно чего неправильного в заголовке? и вообще что есть заголовок в SOAP сообщении. Добавлено через 2 минуты и 53 секунды ну или предположения..... |
|||
|
||||
| jonie |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 3 Всего: 118 |
ну вы не заполняете SOAPAction в HTTP заголовке (он у вас вообще не приведен). Подробнее в описании SOAP: http://www.w3.org/TR/2000/NOTE-SOAP-20000508/#_Toc478383528
Попросту надо HTTP (!) заголовок. HTTP, напомню, к XML (что вы привели) никакого отношения не имеет. -------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
| PiyodaiSiyo |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 112 Регистрация: 31.12.2009 Репутация: нет Всего: 2 |
в яблочко! Правда поскольку долго никто не отвечал сам докопался.Ну все равно сп...
просьба модератору поставить "+" jonie А может ли кто сказать в методе лог ин резалт должна показаться не 7ка а 4ка 1 нет такого пользователя 2 неправильный пароль 3 не залогинен (это код ошибки не для этого метода) 4 нет привязанных к вам игр 5 неизвестная ошибка 6 уже залогинен 7 старая версия клиента в ответе <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http:// www.w3.org/2001/XMLSchema"><soap:Body><LoginResponse xmlns="http://tempuri.org/"><LoginResult>7</LoginResult><intSport>0</intSport><sessionID>00000000-0000-0000-0000-000000000000</sessionID></LoginResponse></soap:Body></soap:Envelope> а вот пример возможного запроса и ответа скопированный из той самой службы SOAP 1.2 В следующем примере показаны запрос и ответ SOAP 1,2. Вместо элементов-заполнителей следует подставить фактические значения. POST /blabla/WebServiceComment.asmx HTTP/1.1 Host: blabla.org.uz Content-Type: application/soap+xml; charset=utf-8 Content-Length: length <?xml version="1.0" encoding="utf-8"?> <soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope"> <soap12:Body> <Login xmlns="http://tempuri.org/"> <userName>string</userName> <password>string</password> <version>decimal</version> <intSport>unsignedByte</intSport> <sessionID>guid</sessionID> <gameTitle>string</gameTitle> <scores>base64Binary</scores> </Login> </soap12:Body> </soap12:Envelope> HTTP/1.1 200 OK Content-Type: application/soap+xml; charset=utf-8 Content-Length: length <?xml version="1.0" encoding="utf-8"?> <soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope"> <soap12:Body> <LoginResponse xmlns="http://tempuri.org/"> <LoginResult>unsignedByte</LoginResult> <intSport>unsignedByte</intSport> <sessionID>guid</sessionID> <gameTitle>string</gameTitle> <scores>base64Binary</scores> </LoginResponse> </soap12:Body> </soap12:Envelope> версия 1.011 самая свежая . О какой устаревшей версии идет речь? |
|||
|
||||
| PiyodaiSiyo |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 112 Регистрация: 31.12.2009 Репутация: нет Всего: 2 |
Пардон....
В xml что под словами " в ответе" используется версия соап 1.0 или 1.1 если поместить 1.2 выдает следующее: <?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Header><soap12:Upgrade xmlns:soap12="http://www.w3.org/2003/05/soap-envelope"><soap12:SupportedEnvelope qname="soap:Envelope" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" /><soap12:SupportedEnvelope qname="soap12:Envelope" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope" /></soap12:Upgrade></soap:Header><soap:Body><soap:Fault><faultcode>soap:VersionMismatch</faultcode><faultstring>System.Web.Services.Protocols.SoapException:Возможно несоответствие версии SOAP: непредвиденное пространство имен конверта http://www.w3.org/2001/12/soap-envelope.Ожидается http://schemas.xmlsoap.org/soap/envelope/. РІ System.Web.Services.Protocols.SoapServerProtocol.CheckHelperVersion() РІ System.Web.Services.Protocols.SoapServerProtocol.ReadParameters() РІ System.Web.Services.Protocols.WebServiceHandler.CoreProcessRequest()</faultstring><detail /></soap:Fault></soap:Body></soap:Envelope> А вот кстати пример из их доков для соап 1.1 В следующем примере показаны запрос и ответ SOAP 1.1. Вместо элементов-заполнителей следует подставить фактические значения. POST /blabla/WebServiceComment.asmx HTTP/1.1 Host: blabla.org.uz Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: "http://tempuri.org/Login" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <Login xmlns="http://tempuri.org/"> <userName>string</userName> <password>string</password> <version>decimal</version> <intSport>unsignedByte</intSport> <sessionID>guid</sessionID> <gameTitle>string</gameTitle> <scores>base64Binary</scores> </Login> </soap:Body> </soap:Envelope> HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: length <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <LoginResponse xmlns="http://tempuri.org/"> <LoginResult>unsignedByte</LoginResult> <intSport>unsignedByte</intSport> <sessionID>guid</sessionID> <gameTitle>string</gameTitle> <scores>base64Binary</scores> </LoginResponse> </soap:Body> </soap:Envelope> если соап 1.1 и 1.0 устарела тогда почему она в примерах ? |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Разработка под ASP.NET | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |