Volání WS z Javascriptu
Při práci na současném projektu jsem se dostal k problematice, se kterou jsem dříve nepřišel do styku. Potřeboval jsem z prohlížeče(activex) natahovat xml data ze serveru. Na serv. existuje příslušná webová služba, teď už schází jen ji zavolat. Zásadní roli v celém řešení hraje soubor webservice.htc, který v sobě zapouzdřuje funkčnost volání webových služeb. V prohlížeči by nebylo praktické používat synchronní přístup, takže veškerá volání ws tímto způsobem probíhají asynchronně.
Nejdříve je nutné ve stránce definovat element s chováním webservice:
<div id="service" style="BEHAVIOR: url(webservice.htc)"></div>
Poté při načtení stránky se služba inicializuje a naváže na danou url:
service.useService("/service/olap.asmx?WSDL","olap");
Nyní už se můžou volat jednotlivé metody ws. Pro asynchronní volání je nejdříve nutno vytvořit callback fci:
function GetDataResult(result)
{
alert(result.value);
}
A nakonec jednoduše zavolat požadovanou metodu:
var iCallID = service.olap.callService(GetDataResult, 'GetDataWS', param1, param2);