Нужно из приложения написанного на ASP с JavaScript вызвать веб метод существующего веб-сервиса .NET возвращающего строку. Подскажите как это сделать, хотелось бы демонстративный пример...?
Re: Как из ASP вызвать метод веб-сервиса написанный в .NET
разве нельзя на asp вызвать это:
---------------------
POST /wsrv1/Service.asmx/HelloWorld HTTP/1.1
Host: localhost
Content-Type: application/x-www-form-urlencoded
Content-Length: length
prm=string
----------------------
???
всю ночь не ем, весь день не сплю — устаю
Re[2]: Как из ASP вызвать метод веб-сервиса написанный в .NE
Здравствуйте, Neco, Вы писали:
N>разве нельзя на asp вызвать это: N>--------------------- N>POST /wsrv1/Service.asmx/HelloWorld HTTP/1.1 N>Host: localhost N>Content-Type: application/x-www-form-urlencoded N>Content-Length: length
N>prm=string N>---------------------- N>???
Поясню задачу... Есть у меня кнопка в ASP проекте и при её нажатии нужно вызывать веб-метод описанный и созданный в другом (.NET) проекте. У веб-метода нет входных параметров и на выходе строка. То, что ты написал я так понимаю это поля объекта какого-то должны быть, просто так ведь в JavaScript этот код не напишешь... Более детальный, развёрнутый пример хотелось бы в стиле для чайников, где вопросов возникнуть не должно в принципе после этого. Причём как вызвать веб-метод и принять результат в переменную. Какие объекты и какой вообще принцип используется для вызова веб-метода из javaScript. Чайник я в JavaScript и ASP. Вроде нашёл, что нужно создавать SOAP сообщение руками и отправлять на веб сервис.. но вот как подробно и понятным полным языком с кодом и коментами такого не нашёл. Буду примного благодарен да и думаю все кто в эту тему заглядывают...
Re[3]: Как из ASP вызвать метод веб-сервиса написанный в .NE
SOAP ромадить не обязательно — можно просто сформировать http POST запрос, к примеру такой как я привёл. И в asp и в js это (я уверен) возможно довольно просто. Создаётся какой-то объект через CreateObject (не помню точно, но в названии присутствовали http и request), и выполняется какой-то из его методов.
вот для примера кусок axd, в котором вызывается веб-метод
как видишь, создаётся объект Microsoft.XMLHTTP. Не знаю, откуда у линуксовой мозиллы Microsoft.XMLHTTP, но наверное там это делается как-то по-другому. Вполне возможно, что у asp есть и собственные — более "нормальные" методы POST запроса.
всю ночь не ем, весь день не сплю — устаю
Re[4]: Как из ASP вызвать метод веб-сервиса написанный в .NE
Здравствуйте, Neco, Вы писали:
N>SOAP ромадить не обязательно — можно просто сформировать http POST запрос, к примеру такой как я привёл. И в asp и в js это (я уверен) возможно довольно просто. Создаётся какой-то объект через CreateObject (не помню точно, но в названии присутствовали http и request), и выполняется какой-то из его методов.
N>вот для примера кусок axd, в котором вызывается веб-метод
N>
N>как видишь, создаётся объект Microsoft.XMLHTTP. Не знаю, откуда у линуксовой мозиллы Microsoft.XMLHTTP, но наверное там это делается как-то по-другому. Вполне возможно, что у asp есть и собственные — более "нормальные" методы POST запроса.
Можно смело считать проблемой опытных пользователей — это проблема донести до неопытных свои знания в таком виде, чтобы тот их понял с первого раза. Где коменты? Из того кода, непоняток для меня куча, вследствии плохого знания JavaScript о чём я уже упоминал.
Вы писали: "И в asp и в js это (я уверен) возможно довольно просто. Создаётся какой-то объект через CreateObject (не помню точно, но в названии присутствовали http и request), и выполняется какой-то из его методов." Такой текст не несёт никакой полезной информации и считать его ответом ну никак нельзя. Я же нуб и что мне от того что это делается довольно прост и с помощью вызова какого-то метода. Мне нужен как нубу текст с поробнывми коментами по коду, где можно було бы увидеть логику всего процесса вызова веб метода и с помощью коментов увидеть как это делаетсяконкретно, вот тогда это можно сичтать полноценным отаветом и за это раздовать благодарности авторам. По коду у меня возниколо масса вопросов... для чего создаётся объект callback, что такое переменная useAsync, errorCallback, eventCallback. Что делает ф-ция WebForm_FillFirstAvailableSlot(__pendingCallbacks, callback), что такое WebForm_CallbackComplete, что такое postData и откуда она вообще в методе send? Зчем содаётся фрэйм на форме? И что такое callBackFrameUrl? Что делается вот сдесь — document.body.appendChild(xmlRequestFrame); Как видите мне непонятен весь текст почти, кроме того, что создали шаблоны HTTP POST запросов в самом начале. Огромнейшая просьбы пишите и раскрывайте проблему от и до исходя из того принципа, что те кто будет это читать чайники с нулевыми знаниями, тогда ваши статьи и книги будут пользоваться спросом. Огромная просьба написать грамотные коменты для каждой строки кода. буду очень благодарен, да и наверно не только я но и все читающие тему.
Re[5]: Как из ASP вызвать метод веб-сервиса написанный в .NE
Друг!
Я тоже очень хреново разбираюсь во всё этом вебе — просто хочу помочь, чем могу.
Наверняка я предлагаю не самый подходящий тебе способ — просто подсмотрел его у мелкомягких.
комменты собственно тоже нужно спрашивать у них — так уж получилось, что они не комментят код в axd (за что им наверняка многие благодарны — кому охота качать ненужный трафик).
но по сути разобраться несложно.
вот этот кусок кода:
try {
xmlRequest = new XMLHttpRequest();
}
catch(e) {
try {
xmlRequest = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e) {
}
}
говорит о том, как создать объект, который будет формировать запрос.
var httpReq = new ActiveXObject("Microsoft.XMLHTTP");
httpReq.open("GET" или "POST", url, false);
httpReq.send(data);
var result = httpReq.responseText;
ну и подготовить XML для отправки и посмотреть что приходит.
Если Веб сервис ваш (или есть возможность) то можете включить поддержку обычных HTTP GET и POST чтобы не мучаться с XML