posts - 32, comments - 153, trackbacks - 0, articles - 0
            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          Web Service學(xué)習(xí)日記-11月30日-訪問(wèn)Amazon

          Posted on 2006-11-30 23:32 Zou Ang 閱讀(770) 評(píng)論(1)  編輯  收藏 所屬分類(lèi):
          今天在學(xué)習(xí)Web Service的時(shí)候得知Amazon提供了一個(gè)搜索的Web Service,于是考慮寫(xiě)一個(gè)方法訪問(wèn)一下看看..
          Amazon Web Service 的WSDL: http://soap.amazon.com/schemas2/AmazonWebServices.wsdl
          得到了WSDL以后,在命令行執(zhí)行:
          java org.apache.axis.wsdl.WSDL2Java http://soap.amazon.com/schemas2/AmazonWebServices.wsdl
          就會(huì)在%AXIS_HOME%目錄下生成一個(gè)包結(jié)構(gòu):com.amazon.soap.*;里面有很多包,不過(guò)如果看了上面那個(gè)wsdl的話應(yīng)該知道主要的類(lèi)是
          AmazonSearchService和AmazonSearchPort,前面是服務(wù),后面是調(diào)用方法的對(duì)象..

          AmazonSearchService:
          public?interface?AmazonSearchService?extends?javax.xml.rpc.Service?{
          ????
          public?java.lang.String?getAmazonSearchPortAddress();

          ????
          public?com.amazon.soap.AmazonSearchPort?getAmazonSearchPort()?throws?javax.xml.rpc.ServiceException;

          ????
          public?com.amazon.soap.AmazonSearchPort?getAmazonSearchPort(java.net.URL?portAddress)?throws?javax.xml.rpc.ServiceException;
          }

          AmazonSearchPort:
          package?com.amazon.soap;

          public?interface?AmazonSearchPort?extends?java.rmi.Remote?{
          ????
          public?com.amazon.soap.ProductInfo?keywordSearchRequest(com.amazon.soap.KeywordRequest?keywordSearchRequest)?throws?java.rmi.RemoteException;
          ????
          public?com.amazon.soap.ProductInfo?powerSearchRequest(com.amazon.soap.PowerRequest?powerSearchRequest)?throws?java.rmi.RemoteException;
          ????
          public?com.amazon.soap.ProductInfo?browseNodeSearchRequest(com.amazon.soap.BrowseNodeRequest?browseNodeSearchRequest)?throws?java.rmi.RemoteException;
          ????
          public?com.amazon.soap.ProductInfo?asinSearchRequest(com.amazon.soap.AsinRequest?asinSearchRequest)?throws?java.rmi.RemoteException;
          ????
          public?com.amazon.soap.ProductLine[]?blendedSearchRequest(com.amazon.soap.BlendedRequest?blendedSearchRequest)?throws?java.rmi.RemoteException;
          ????
          public?com.amazon.soap.ProductInfo?upcSearchRequest(com.amazon.soap.UpcRequest?upcSearchRequest)?throws?java.rmi.RemoteException;
          ????
          public?com.amazon.soap.ProductInfo?authorSearchRequest(com.amazon.soap.AuthorRequest?authorSearchRequest)?throws?java.rmi.RemoteException;
          ????
          public?com.amazon.soap.ProductInfo?artistSearchRequest(com.amazon.soap.ArtistRequest?artistSearchRequest)?throws?java.rmi.RemoteException;
          ????
          public?com.amazon.soap.ProductInfo?actorSearchRequest(com.amazon.soap.ActorRequest?actorSearchRequest)?throws?java.rmi.RemoteException;
          ????
          public?com.amazon.soap.ProductInfo?manufacturerSearchRequest(com.amazon.soap.ManufacturerRequest?manufacturerSearchRequest)?throws?java.rmi.RemoteException;
          ????
          public?com.amazon.soap.ProductInfo?directorSearchRequest(com.amazon.soap.DirectorRequest?directorSearchRequest)?throws?java.rmi.RemoteException;
          ????
          public?com.amazon.soap.ProductInfo?listManiaSearchRequest(com.amazon.soap.ListManiaRequest?listManiaSearchRequest)?throws?java.rmi.RemoteException;
          ????
          public?com.amazon.soap.ProductInfo?wishlistSearchRequest(com.amazon.soap.WishlistRequest?wishlistSearchRequest)?throws?java.rmi.RemoteException;
          ????
          public?com.amazon.soap.ListingProductDetails?exchangeSearchRequest(com.amazon.soap.ExchangeRequest?exchangeSearchRequest)?throws?java.rmi.RemoteException;
          ????
          public?com.amazon.soap.MarketplaceSearch?marketplaceSearchRequest(com.amazon.soap.MarketplaceRequest?marketplaceSearchRequest)?throws?java.rmi.RemoteException;
          ????
          public?com.amazon.soap.SellerProfile?sellerProfileSearchRequest(com.amazon.soap.SellerProfileRequest?sellerProfileSearchRequest)?throws?java.rmi.RemoteException;
          ????
          public?com.amazon.soap.SellerSearch?sellerSearchRequest(com.amazon.soap.SellerRequest?sellerSearchRequest)?throws?java.rmi.RemoteException;
          ????
          public?com.amazon.soap.ProductInfo?similaritySearchRequest(com.amazon.soap.SimilarityRequest?similaritySearchRequest)?throws?java.rmi.RemoteException;
          ????
          public?com.amazon.soap.ShoppingCart?getShoppingCartRequest(com.amazon.soap.GetShoppingCartRequest?getShoppingCartRequest)?throws?java.rmi.RemoteException;
          ????
          public?com.amazon.soap.ShoppingCart?clearShoppingCartRequest(com.amazon.soap.ClearShoppingCartRequest?clearShoppingCartRequest)?throws?java.rmi.RemoteException;
          ????
          public?com.amazon.soap.ShoppingCart?addShoppingCartItemsRequest(com.amazon.soap.AddShoppingCartItemsRequest?addShoppingCartItemsRequest)?throws?java.rmi.RemoteException;
          ????
          public?com.amazon.soap.ShoppingCart?removeShoppingCartItemsRequest(com.amazon.soap.RemoveShoppingCartItemsRequest?removeShoppingCartItemsRequest)?throws?java.rmi.RemoteException;
          ????
          public?com.amazon.soap.ShoppingCart?modifyShoppingCartItemsRequest(com.amazon.soap.ModifyShoppingCartItemsRequest?modifyShoppingCartItemsRequest)?throws?java.rmi.RemoteException;
          }


          我打算調(diào)用keywordSearchRequest這個(gè)方法,這個(gè)方法有一個(gè)keywordRequest參數(shù),返回一個(gè)ProductInfo對(duì)象
          public?com.amazon.soap.ProductInfo?keywordSearchRequest(com.amazon.soap.KeywordRequest?keywordSearchRequest)?throws?java.rmi.RemoteException;
          下面是調(diào)用Web Service的類(lèi):
          /**
          ?*?org.zsu.zouang
          ?*?2006-11-30
          ?
          */

          package?org.zsu.zouang;

          import?java.rmi.RemoteException;

          import?javax.xml.rpc.ServiceException;

          import?com.amazon.soap.AmazonSearchPort;
          import?com.amazon.soap.AmazonSearchServiceLocator;
          import?com.amazon.soap.Details;
          import?com.amazon.soap.KeywordRequest;
          import?com.amazon.soap.ProductInfo;

          /**
          ?*?2006-11-30
          ?*?
          @author?Zou?Ang
          ?*?Contact?<a?href?="mailto:richardeee@gmail.com">Zou?Ang</a>
          ?
          */

          public?class?MyAmazonClient?{

          ????
          /**
          ?????*?
          @param?args
          ?????
          */

          ????
          public?static?void?main(String[]?args)?{
          ????????KeywordRequest?keyword?
          =?new?KeywordRequest();
          ????????keyword.setKeyword(
          "Java");
          ????????keyword.setMode(
          "books");
          ????????keyword.setTag(
          "D3HW0PG66IPLAM");
          ????????keyword.setDevtag(
          "D3HW0PG66IPLAM");
          ????????keyword.setPage(
          "1");
          ????????keyword.setType(
          "heavy");
          ????????keyword.setSort(
          null);
          ????????keyword.setVariations(
          null);
          ????????keyword.setLocale(
          null);
          ????????
          //?TODO?Auto-generated?method?stub
          ????????try?{
          ????????????AmazonSearchPort?port?
          =?new?AmazonSearchServiceLocator().getAmazonSearchPort();
          ????????????ProductInfo?info?
          =?port.keywordSearchRequest(keyword);
          ????????????System.out.println(
          "Number?of?Results?:"?+?info.getTotalResults());
          ????????????Details[]?details?
          =?info.getDetails();
          ????????????
          for(Details?d?:?details){
          ????????????????System.out.println(
          "ISBN?:"?+?d.getIsbn()?+?"?Name:"?+?d.getProductName());
          ????????????}

          ????????}
          ?catch?(RemoteException?e)?{
          ????????????
          //?TODO?Auto-generated?catch?block
          ????????????e.printStackTrace();
          ????????}
          ?catch?(ServiceException?e)?{
          ????????????
          //?TODO?Auto-generated?catch?block
          ????????????e.printStackTrace();
          ????????}

          ????}

          }
          返回的結(jié)果:
          -?Unable?to?find?required?classes?(javax.activation.DataHandler?and?javax.mail.internet.MimeMultipart).?Attachment?support?is?disabled.
          Number?of?Results?:
          5161
          ISBN?:
          0072253606?Name:SCJP?Sun?Certified?Programmer?for?Java?5?Study?Guide?(Exam?310-055)?(Certification?Press?Study?Guides)
          ISBN?:
          0596007124?Name:Head?First?Design?Patterns?(Head?First)
          ISBN?:
          0553803905?Name:Ship?of?Ghosts:?The?Story?of?the?USS?Houston,?FDR's?Legendary?Lost?Cruiser,?and?the?Epic?Saga?of?Her?Survivors
          ISBN?:0596009410?Name:Mac?OS?X?Tiger:?Missing?Manual
          ISBN?:
          0596101996?Name:JavaScript:?The?Definitive?Guide
          ISBN?:
          0131483986?Name:Java?How?to?Program?(6th?Edition)?(How?to?Program?(Deitel))
          ISBN?:
          0596009208?Name:Head?First?Java,?2nd?Edition
          ISBN?:
          1591968097?Name:What?is?WebSphere??Java,?J2EE,?Portal?and?Beyond!?(Demystifying?IBM's?Middle?Tier?Technology,?Vol.?1)
          ISBN?:0596005407?Name:Head?First?Servlets?and?JSP:?Passing?the?Sun?Certified?Web?Component?Developer?Exam?(SCWCD)
          ISBN?:
          1932394613?Name:Ajax?in?Action

          下一步可能打算寫(xiě)個(gè)GUI的Amazon搜索客戶(hù)端

          評(píng)論

          # re: Web Service學(xué)習(xí)日記-11月30日-訪問(wèn)Amazon[未登錄](méi)  回復(fù)  更多評(píng)論   

          2007-04-22 22:54 by tony
          想問(wèn)調(diào)用amazon web服務(wù)如何在ide里面部署?
          主站蜘蛛池模板: 胶州市| 海晏县| 囊谦县| 涡阳县| 天长市| 光山县| 墨玉县| 金秀| 佳木斯市| 资兴市| 汉中市| 刚察县| 卢氏县| 祁东县| 天台县| 隆化县| 西吉县| 耿马| 丰顺县| 泉州市| 阿克苏市| 个旧市| 东台市| 赫章县| 虹口区| 宁德市| 绩溪县| 烟台市| 崇仁县| 瑞丽市| 麦盖提县| 专栏| 山阴县| 民县| 城口县| 鹤壁市| 南昌县| 南靖县| 永定县| 托克逊县| 喜德县|