posts - 7, comments - 1, trackbacks - 0, articles - 0

          Mozilla web service proxy~~ (for all Gecko-based browser)

          Posted on 2006-07-11 12:13 Jedi 閱讀(854) 評論(0)  編輯  收藏 所屬分類: JavaScript
          var ?proxy = ? null ;
          ? function??getTest()??//?test?by?the?way?amazon?uses
          {
          ????
          if?(!proxy)?{
          ????????
          var?listener?=?{?
          ????????
          //?gets?called?once?the?proxy?has?been?instantiated
          ????????????onLoad:?function?(aProxy)?
          ????????????
          {
          ????????????????proxy?
          =?aProxy;
          ????????????????proxy.setListener(listener);
          ????????????????requestTest();
          ????????????}
          ,
          ????????
          //?gets?called?if?an?error?occurs
          ????????????onError:?function?(aError)?
          ????????????
          {
          ????????????????alert(aError);
          ????????????}
          ,
          ????????
          //?callback?function?is?hardcoded?to?{methodname}Callback?in?1.4beta
          ????????????getInstanceByIDCallback?:?function?(aresult)?
          ????????????
          {
          ????????????????alert(
          "enter?callback");??????????????
          ????????????????
          //alert("a="+aresult.a+",?b="+aresult.b);
          ????????????}

          ????????}
          ;
          ????????createProxy(listener);
          ????}

          ????
          else?{
          ????????requestTest(
          );
          ????}

          }

          function?createProxy(aCreationListener)?
          {
          ????
          try?{
          ????????
          var?factory?=?new?WebServiceProxyFactory();
          ????????factory.createProxyAsync("...wsdl location...."
          ,?"binding name",?"",?true,?aCreationListener);
          ????}

          ????
          catch?(ex)?{
          ????????alert(
          "test?"+?ex);
          ????}

          }


          function??requestTest()?
          {
          ????
          if?(proxy)?{
          ????????netscape.security.PrivilegeManager.enablePrivilege(
          "UniversalBrowserRead");
          ????????
          ????????
          /*
          ????????//?if?complex?object?is?the?parameter
          ????????var?KeywordSearchRequest?=?new?Object();????????
          ????????KeywordSearchRequest.page="1";
          ????????KeywordSearchRequest.mode="books";
          ????????KeywordSearchRequest.tag="webservices-20";
          ????????KeywordSearchRequest.type="lite";
          ????????KeywordSearchRequest.devtag="D2Z2KU2NWTOHI";
          ????????KeywordSearchRequest.format="xml";
          ????????KeywordSearchRequest.version="1.0";
          ????????
          */

          ????????proxy.getInstanceByID(
          "id.....");
          ????????alert(
          "call?complete!");
          ????}

          ????
          else?{
          ????????alert(
          "Error:?Proxy?set?up?not?complete!");
          ????}

          }

          用起來還是很簡單,唯一要注意的是用Axis生成Web Service的時候記得在global configuration里面改一下
          <parameter name="sendMultiRefs" value="false"/>

          ie下的話也有一個webservice.htc,沒仔細研究過..

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 吉隆县| 噶尔县| 阳江市| 瓦房店市| 红河县| 寿光市| 汕头市| 维西| 西丰县| 崇礼县| 含山县| 德安县| 内江市| 江油市| 临沂市| 剑阁县| 团风县| 鲁山县| 七台河市| 玉山县| 西青区| 丁青县| 高要市| 龙海市| 临泽县| 邻水| 香河县| 简阳市| 武川县| 南川市| 盘山县| 万盛区| 内丘县| 凤山县| 泽普县| 岢岚县| 弥勒县| 宝兴县| 阆中市| 康乐县| 澄城县|