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 閱讀(846) 評論(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的時(shí)候記得在global configuration里面改一下
          <parameter name="sendMultiRefs" value="false"/>

          ie下的話也有一個(gè)webservice.htc,沒仔細(xì)研究過..

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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 凤城市| 宝鸡市| 汝阳县| 日土县| 青海省| 新蔡县| 鄯善县| 阿鲁科尔沁旗| 安乡县| 西贡区| 宜兴市| 繁昌县| 长葛市| 林芝县| 平昌县| 丰都县| 新龙县| 蓬溪县| 盱眙县| 元朗区| 阳山县| 丰城市| 北京市| 西吉县| 秭归县| 南京市| 图木舒克市| 申扎县| 黑龙江省| 丰镇市| 阿图什市| 丹巴县| 朝阳区| 嵊州市| 巧家县| 栾城县| 武城县| 米易县| 拉萨市| 石门县| 南漳县|