powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Проблема с запросом к web-сервсису ASP.NET
14 сообщений из 14, страница 1 из 1
Проблема с запросом к web-сервсису ASP.NET
    #38710803
badfilin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет.
Имеется веб-сервис на асп.нет с именем AboutUser
в качестве параметров он ничего не принимает, за исключением того, что для обращения к нему в SOAP обращении нужно передавать заголовок. Ниже soap сообщение, которое генерируется веб-сервисом:
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
<?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:Header>
    <SessionSOAPHeader xmlns="http://tempuri.org/">
      <GUIDSession>string</GUIDSession>
      <GUIDModule>guid</GUIDModule>
    </SessionSOAPHeader>
  </soap:Header>
  <soap:Body>
    <AboutUser xmlns="http://tempuri.org/" />
  </soap:Body>
</soap:Envelope>



обращаюсь к нему с помощью POST запроса средствами jQuery

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
$.ajax({
                type: 'POST',
                crossDomain: true,
                cache: false,
                url: 'http://host.bla/service.asmx',
                data: soapXML,
                contentType: 'text/xml; charset=utf-8', 
                dataType: 'xml', 
                success: OnGetMemberSuccess,
                error: OnGetMemberError
            });


где soapXML собственно вышеуказанное соап сообщение с подставленным значениями в заголовке

Проблема в том, что запрос не удается. Через метод OnGetMemberError вывожу ошибку:
Код: html
1.
TypeError: Cannot read property 'documentElement' of null



Не могу понять в чем проблема? Может кто подскажет?
Хотел через JSON, но не знаю как через него передавать заголовок.

Пробовал обращаться через XMLHttpRequest, так же не получается.
Ошибка возникает про проверки статуса 200.

Может чего нужно добавить в веб-сервисе? Читал много инфы, но ничего не нашел, только добавил к веб-сервису:
Код: c#
1.
[System.Web.Script.Services.ScriptService]


, но результата не дало.

Спасибо.
...
Рейтинг: 0 / 0
Проблема с запросом к web-сервсису ASP.NET
    #38711880
badfilin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вообщем, тут немного поэкспериментировал
json запросы к веб-сервису, которые не принимает никаких значений, а только возвращает информацию работает, НО только в IE (в Опере и Хроме вроде сообщение передает, но принимаемую информацию не отображает)
если хочу сделать запрос к методу с передачей параметра
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
$.ajax({
        type: 'POST',
        crossDomain: true,
        cache: false,
        url: "http://localhost:4712/Service.asmx/aboutWebServices",
        contentType: 'application/json; charset=utf-8',
        dataType: 'json',
        data: '{"full" : true}',
        success: function (response) 
        {
            document.getElementById('name').innerHTML = ' | Удачно: ' + response.d; 
        },
        error: function (request, status, error) {

            document.getElementById('messeges').innerHTML = document.getElementById('messeges').innerHTML + " | Ответ " +
             request.statusText + " статус " + status + " ошибка " + error + "
";
        }
    });


то в IE выводится ошибка
Код: html
1.
2.
3.
Ответ Internal Server Error 
статус error 
ошибка undefined


в других браузерах также не работает

вот SOAP, который предлагается отправлять
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
<?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>
    <aboutWebServices xmlns="http://bla.ru/">
      <full>boolean</full>
    </aboutWebServices>
  </soap:Body>
</soap:Envelope>
...
Рейтинг: 0 / 0
Проблема с запросом к web-сервсису ASP.NET
    #38711882
badfilin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
доп. вопрос: почему не работает в других браузерах, по мимо эксплорера?
...
Рейтинг: 0 / 0
Проблема с запросом к web-сервсису ASP.NET
    #38711918
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
/**
 * Sends AJAX POST request to the server.
 *
 * @param envelope {String} SOAP envelope to send to the server.
 * @param errorCallback {Function}
 * @param successCallback {Function}
 */
function post(envelope, errorCallback, successCallback) {
    $.ajaxSetup({ cache: false });
    $.support.cors = true;
    $.ajax({
        contentType: 'text/xml; charset=utf-8',
        data: envelope,
        dataType: 'xml',
        error: errorCallback,
        success: successCallback,
        type: 'POST',
        url: server });
}
...
Рейтинг: 0 / 0
Проблема с запросом к web-сервсису ASP.NET
    #38712097
badfilin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вообщем всё заработало, проблема была в namespace=" http://tempuri.org"
установил значение своего ресурса и всё заработало, единственное только в IE (по всей видимости из за того что XML (который приходит в ответе) парсить умеет только он)
если кто знает как сделать чтобы заработало в других браузерах буду очень рад узнать как
...
Рейтинг: 0 / 0
Проблема с запросом к web-сервсису ASP.NET
    #38712294
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
badfilinвообщем всё заработало, проблема была в namespace=" http://tempuri.org" Внимательнее надо быть.
В документации, что генерируется сервисом, указывается какой должен быть указан namespace SOAP-конверте.

badfilinустановил значение своего ресурса и всё заработало, единственное только в IE (по всей видимости из за того что XML (который приходит в ответе) парсить умеет только он)
если кто знает как сделать чтобы заработало в других браузерах буду очень рад узнать какЧто заработало-то? Разбирайте ответ самостоятельно. jQuery прекрасно работает с XML.
...
Рейтинг: 0 / 0
Проблема с запросом к web-сервсису ASP.NET
    #38712404
badfilin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
суть в том, что в ИЕ запрос отправляется и приходит ответ, который я могу обработать
в других браузерах: Опера, Хром, ФФ вылезает ошибка

Код: html
1.
 Ответ error статус error ошибка


(метод вывода ошибки выше)

и еще обратил внимание во всех браузерах по какой то причине не работает
document.getElementById("el1") - пишет что нет такого элемента, где el1 это элемент <textarea>,
с <div> таких проблем не наблюдается
PS: в ИЕ 6 работал (сейчас стоит ИЕ 8)
...
Рейтинг: 0 / 0
Проблема с запросом к web-сервсису ASP.NET
    #38712420
badfilin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вопрос о проблеме с getElementById снимается
не увидел, что textarea вместо Id имеет Name

с остальным разбираюсь
...
Рейтинг: 0 / 0
Проблема с запросом к web-сервсису ASP.NET
    #38712446
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
badfilinсуть в том, что в ИЕ запрос отправляется и приходит ответ, который я могу обработать
в других браузерах: Опера, Хром, ФФ вылезает ошибкаМой код работает не только в IE: 16394789 . Проверено
...
Рейтинг: 0 / 0
Проблема с запросом к web-сервсису ASP.NET
    #38712454
badfilin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а чем мой отличается?
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
    $.ajaxSetup({ cache: false });
    $.support.cors = true;
    // выполнение запроса
    $.ajax({
        type: 'POST',
        url: url,
        contentType: 'text/xml; charset=utf-8', 
        dataType: 'text',
        data: soapAboutUser, 
        success: function (data, textStatus, jqXHR) 
        {
            document.getElementById('n1').value += "    " + $(data).find("AboutUserResult").find("Login").text() +
             " " + textStatus;
        },
        error: function (request, status, error) {

            document.getElementById('messeges').innerHTML += " | Ответ " + 
             request.statusText + ", статус " + status + ", ошибка " + error + "
";
        }
    });
...
Рейтинг: 0 / 0
Проблема с запросом к web-сервсису ASP.NET
    #38712498
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
badfilinа чем мой отличается?У меня
Код: javascript
1.
dataType: 'xml'
...
Рейтинг: 0 / 0
Проблема с запросом к web-сервсису ASP.NET
    #38712696
badfilin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ничего не изменилось
...
Рейтинг: 0 / 0
Проблема с запросом к web-сервсису ASP.NET
    #38712701
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну что тут скажешь. Chrome + Developer Tools и Fiddler в руки и отлаживаться, отлаживаться.
У меня лично всё работает.

Access-Control-Allow-заголовки в конфиге на сервере прописаны?
...
Рейтинг: 0 / 0
Проблема с запросом к web-сервсису ASP.NET
    #38712735
badfilin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
да проблема была в заголовках. добавил и заработало.
спасибо!
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Проблема с запросом к web-сервсису ASP.NET
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]