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的時候記得在global configuration里面改一下
          <parameter name="sendMultiRefs" value="false"/>

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

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


          網站導航:
           
          主站蜘蛛池模板: 普洱| 定西市| 仲巴县| 昌邑市| 即墨市| 讷河市| 兴义市| 洪江市| 双柏县| 怀仁县| 上栗县| 漯河市| 阳西县| 大足县| 赤壁市| 龙胜| 山阴县| 灵丘县| 彰化县| 汾阳市| 三原县| 泗水县| 北宁市| 贡嘎县| 宣恩县| 阜平县| 福海县| 德格县| 厦门市| 兴文县| 胶州市| 邢台市| 雷山县| 苗栗县| 兴国县| 株洲县| 屏东市| 彰化县| 黔东| 珲春市| 福建省|