<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 15,comments - 29,trackbacks - 0
    Axis框架來自 Apache 開放源代碼組織,它是基于JAVA語言的最新的 SOAP 規范(SOAP 1.2)和 SOAP with Attachments 規范(來自 Apache Group )的開放源代碼實現。下面是它的核心引擎的體系結構圖:



    下面以 http://www.webxml.com.cn/webservices/DomesticAirline.asmx?Wsdl  航班查詢服務為例來分析開發客戶端的步驟。
    1.首先從http://ws.apache.org/axis/index.html上下載axis的程序包。

    2.運行cmd,進入下載包解壓后的目錄,運行   Java -Djava.ext.dirs=lib org.apache.axis.wsdl.WSDL2Java -p client  http://www.webxml.com.cn/webservices/DomesticAirline.asmx?Wsdl  
    (其中-p是生成代碼的包名,根據需要設置)
     然后把生成的代碼拷貝到項目里面。

    3.拷貝axis里面的包到工程里面。

    4.客戶端代碼。

    public List<TicketInfo> getDomesticAirlinesTime(String startCity, String lastCity, String theDate) throws RemoteException, ServiceException {
            DomesticAirline service 
    = new DomesticAirlineLocator();
            GetDomesticAirlinesTimeResponseGetDomesticAirlinesTimeResult airlines;

            airlines 
    = service.getDomesticAirlineSoap12().getDomesticAirlinesTime(startCity, lastCity,theDate, null);
        
            MessageElement[] FOCElement 
    = airlines.get_any();
            List FOCElementHead 
    = FOCElement[0].getChildren();//消息頭,DataSet對象    
            List FOCElementBody = FOCElement[1].getChildren();//消息體信息,DataSet對象  

            String nn 
    = FOCElementBody.get(0).toString();//消息體的字符串形式     
            
            

            SAXReader reader 
    = new SAXReader();
            Document document 
    = null;

            
    try {
                document 
    = document = DocumentHelper.parseText(nn);
            }
     catch (Exception e) {
                
    // TODO Auto-generated catch block
                System.out.println(e.toString());
            }

            
            
            Element root 
    = (Element)document.getRootElement(); // 得到根元素    

            List
    <TicketInfo> ticketInfoList = new ArrayList<TicketInfo>();
            
    for (Object e : root.elements())
            
    {
                TicketInfo ticketInfo 
    = new TicketInfo();
                Element element 
    = (Element) e;
                ticketInfo.setAirlineCompany(element.elementText(
    "Company"));
                ticketInfo.setFlightNumber(element.elementText(
    "AirlineCode"));
                ticketInfo.setStartAirport(element.elementText(
    "StartDrome"));
                ticketInfo.setEndAirport(element.elementText(
    "ArriveDrome"));
                ticketInfo.setAirCraftType(element.elementText(
    "Mode"));
                SimpleDateFormat  myFmt
    =new   SimpleDateFormat("HH:mm");     
                
    try {
                    ticketInfo.setStartTime(myFmt.parse(element.elementText(
    "StartTime")));
                    ticketInfo.setEndTime(myFmt.parse(element.elementText(
    "ArriveTime")));
                }
     catch (ParseException e1) {
                    
    // TODO Auto-generated catch block
                    e1.printStackTrace();
                }

                
                ticketInfoList.add(ticketInfo);
            }

            
            
    return ticketInfoList;
        }

        
    }

    本來客戶端代碼應該是比較簡單的,但是這個例子的webservice服務端是用.net寫的,查詢后返回DataSet類型,java沒有對應的類型,所以只能把返回后的結果用xml來解析,然后在放入java的數據對象里面。
    posted on 2008-12-04 10:04 流腥魚 閱讀(2871) 評論(0)  編輯  收藏 所屬分類: 編程教程java

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


    網站導航:
     
    主站蜘蛛池模板: 亚洲人成人伊人成综合网无码| 亚洲国语精品自产拍在线观看| 国产成人精品日本亚洲专区6| 永久在线观看免费视频| 国产国拍亚洲精品福利| 日韩精品无码永久免费网站| 又黄又爽的视频免费看| 日韩a毛片免费观看| 亚洲伊人久久成综合人影院| 一个人看的www免费高清 | a拍拍男女免费看全片| 亚洲伦另类中文字幕| 91视频免费网址| 国产成人精品日本亚洲直接| 成年女人免费视频播放77777| 亚洲大尺度无码无码专线一区| ww4545四虎永久免费地址| 亚洲色图.com| 一二三四免费观看在线电影 | 99热在线观看免费| 亚洲第一页中文字幕| 暖暖日本免费在线视频 | 亚洲综合精品香蕉久久网| a毛片免费观看完整| 中文字幕亚洲综合久久| 国内精品乱码卡1卡2卡3免费| 亚洲精品天堂成人片AV在线播放| 免费日韩在线视频| 中文无码成人免费视频在线观看| 亚洲免费视频网站| 免费的一级黄色片| 国产免费伦精品一区二区三区| 久久精品亚洲一区二区| 在线看片无码永久免费视频 | 久草福利资源网站免费| 亚洲一区二区三区国产精品无码 | 在线播放高清国语自产拍免费| 欧洲乱码伦视频免费国产 | 理论片在线观看免费| 亚洲人成电影亚洲人成9999网| 精品久久久久久久免费人妻 |