<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 規(guī)范(SOAP 1.2)和 SOAP with Attachments 規(guī)范(來自 Apache Group )的開放源代碼實現(xiàn)。下面是它的核心引擎的體系結(jié)構(gòu)圖:



    下面以 http://www.webxml.com.cn/webservices/DomesticAirline.asmx?Wsdl  航班查詢服務為例來分析開發(fā)客戶端的步驟。
    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是生成代碼的包名,根據(jù)需要設(shè)置)
     然后把生成的代碼拷貝到項目里面。

    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沒有對應的類型,所以只能把返回后的結(jié)果用xml來解析,然后在放入java的數(shù)據(jù)對象里面。
    posted on 2008-12-04 10:04 流腥魚 閱讀(2865) 評論(0)  編輯  收藏 所屬分類: 編程教程java

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


    網(wǎng)站導航:
     
    主站蜘蛛池模板: 4399好看日本在线电影免费| a级午夜毛片免费一区二区| 四虎在线免费视频| 亚洲爆乳无码一区二区三区| 99久久国产精品免费一区二区| 亚洲男人的天堂www| 欧洲人免费视频网站在线| 亚洲av丰满熟妇在线播放| 99久久99久久免费精品小说| 亚洲精品国产福利片| 国产91免费在线观看| 伊人久久亚洲综合影院首页| 日韩精品视频免费在线观看| 成人精品综合免费视频| 亚洲日韩欧洲乱码AV夜夜摸 | 猫咪免费观看人成网站在线| 免费一级毛片不卡不收费| yy一级毛片免费视频| 国产精品亚洲一区二区三区在线| 亚洲成人免费在线| 亚洲一卡2卡4卡5卡6卡在线99| 暖暖在线日本免费中文| 国产精品免费久久久久久久久| 亚洲电影一区二区| 日韩视频免费一区二区三区| 国产精品免费观看视频| 亚洲国产成人精品久久| 国产精品极品美女免费观看| eeuss免费影院| 亚洲午夜精品在线| 亚洲高清偷拍一区二区三区| 久久久免费的精品| 亚洲 日韩 色 图网站| 久久久久噜噜噜亚洲熟女综合| 永久在线免费观看| 美女黄网站人色视频免费| 亚洲AV无码成人精品区蜜桃| 免费看无码自慰一区二区| 丝瓜app免费下载网址进入ios| 亚洲天堂2017无码中文| 久久久久亚洲AV成人网人人网站|