免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
通過(guò)Web Service實(shí)現(xiàn)Java與.net互聯(lián)

通過(guò)Web Service實(shí)現(xiàn)Java.net互聯(lián)

        (將.net程序封裝成為Web Service,通過(guò)Java程序進(jìn)行調(diào)用)

Web Service概述

什么是Web Service

       Web Service是能夠基于網(wǎng)絡(luò),尤其是基于萬(wàn)維網(wǎng)(World Wide Web)直接調(diào)用的能夠處理離散任務(wù)或連續(xù)任務(wù)的軟件模型。目前較為流行的應(yīng)用是,由一家公司對(duì)其專(zhuān)有數(shù)據(jù)進(jìn)行封裝,提供Web Service,然后其它公司就可以通過(guò)Internet來(lái)動(dòng)態(tài)使用這些在線服務(wù)。這為未來(lái)全球的電子商務(wù)發(fā)展提供了新的標(biāo)準(zhǔn)和架構(gòu)。

Web Service架構(gòu)

Web Service是獨(dú)立的、模塊化的應(yīng)用,能夠通過(guò)因特網(wǎng)來(lái)描述、發(fā)布、定位以及調(diào)用。在Web Service的體系架構(gòu)中包括三個(gè)角色:服務(wù)提供者(Service Provider)、服務(wù)請(qǐng)求者(Service Requestor)、服務(wù)注冊(cè)器(Service Registry)。角色間主要有三個(gè)操作:發(fā)布(Publish)、查找(Find)、綁定(Bind)。

下圖清楚的描述了三種角色,以及角色之間的作用關(guān)系。


Web Service協(xié)議標(biāo)準(zhǔn)

簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議(SOAP

       SOAPSimple Object Access Protocol的縮寫(xiě),是一種基于XML的不依賴(lài)傳輸協(xié)議的表示層協(xié)議,用來(lái)在分散或分布式的應(yīng)用程序之間方便地以對(duì)象的形式交換數(shù)據(jù)。在SOAP的下層,可以是HTTP/HTTP,也可以是SMTP/POP3,還可以是為一些應(yīng)用而專(zhuān)門(mén)設(shè)計(jì)的特殊的通信協(xié)議。

       SOAP包括三個(gè)主要部分:

²        SOAP封裝結(jié)構(gòu):定義了一個(gè)整體框架,以表示消息中包含什么內(nèi)容,誰(shuí)來(lái)處理這些內(nèi)容以及這些內(nèi)容是可選的或是必需的。

²        SOAP編碼規(guī)則:定義了用以交換應(yīng)用程序定義的數(shù)據(jù)類(lèi)型的實(shí)例的一系列機(jī)制。

²        SOAP RPC表示:定義了一個(gè)用來(lái)表示遠(yuǎn)程過(guò)程調(diào)用和應(yīng)答的協(xié)定。

Web Service描述語(yǔ)言(WSDL

       WSDLWeb Service Description Language的縮寫(xiě),該語(yǔ)言將網(wǎng)絡(luò)服務(wù)定義成一個(gè)能交換消息的通信端點(diǎn)集,為分布式系統(tǒng)提供了幫助文檔,同時(shí)也可作為自動(dòng)實(shí)現(xiàn)應(yīng)用間通信的解決方案。

統(tǒng)一描述、發(fā)現(xiàn)和集成協(xié)議(UDDI

       UDDI是一套基于Web的、分布式的、為Web Service提供的、信息注冊(cè)中心的實(shí)現(xiàn)標(biāo)準(zhǔn)規(guī)范,同時(shí)也包含一組使企業(yè)能將自身提供的Web Service注冊(cè),以使別的企業(yè)能夠發(fā)現(xiàn)的訪問(wèn)協(xié)議的實(shí)現(xiàn)標(biāo)準(zhǔn)。

通過(guò)Java調(diào)用Web Service

       在這里我們通過(guò).net實(shí)現(xiàn)了一個(gè)Web Service,它提供了這樣的功能,將輸入的兩個(gè)數(shù)相加,返回結(jié)果。

示例Web Service提供的功能

       該示例Web Service提供了兩個(gè)整數(shù)相加的功能,使用C#來(lái)實(shí)現(xiàn)Web Service,可以通過(guò)java/math.asmx?wsdl">http://10.16.92.29/java/math.asmx?wsdl訪問(wèn)Web Service描述文件,其對(duì)應(yīng)的WSDL描述如下所示:


通過(guò)JBuilder9調(diào)用該Web Service

建立一個(gè)新項(xiàng)目TestWebService

       新建一項(xiàng)目,指定項(xiàng)目名稱(chēng)“TestWebService”,及所在目錄,其它全部按缺省設(shè)置。


URL中導(dǎo)入Web Service

通過(guò)快捷方式“CTRL+N”,打開(kāi)新建窗口,選擇“Web Services”項(xiàng),然后選擇“Import a Web Service”,單擊“OK”。


       輸入WSDL文件地址:java/math.asmx?wsdl">http://10.16.92.29/java/math.asmx?wsdl,然后單擊“Next”。


這一步中,所有的選項(xiàng)按缺省設(shè)置就可以了。然后單擊"Next"。 

       這一步中,您可以隨意指定包名,如果將“Package options”中的復(fù)選框選中的話。生成的所有類(lèi)將使用同樣的包名。然后還可以選擇“SOAP”協(xié)議類(lèi)型,在此我們選擇SOAP1.2協(xié)議,其它的設(shè)置就按缺省設(shè)置就可以了,單擊“Next”按鈕。


       在確認(rèn)窗口中,單擊“Finish”完成導(dǎo)入工作。


       導(dǎo)入成功后,JBuilder9會(huì)自動(dòng)生成如下文件,如下所示。


自動(dòng)生成文件的作用

Ø         Service1.java

該類(lèi)定義了所需要的接口

Ø         Service1Locator.java

該類(lèi)實(shí)現(xiàn)了Service1接口,主要用于定位WSDL文件

Ø         Service1Soap.java

該類(lèi)定義了Web Service提供的接口方法

Ø         Service1SoapImpl.java

該類(lèi)實(shí)現(xiàn)了Service1Soap接口

Ø         Service1SoapStub.java

該類(lèi)實(shí)現(xiàn)了Service1Soap接口,用于實(shí)現(xiàn)Web Service調(diào)用。

Ø         Service1TestCase.java

JBuilder自動(dòng)生成的單元測(cè)試類(lèi)

編寫(xiě)測(cè)試代碼

package org.tempuri;

office:office" /> 

import java.util.*;

 

/**

 * 測(cè)試程序

 * <p>Title: 通過(guò)客戶端來(lái)測(cè)試Web Service</p>

 * <p>Description: 通過(guò)客戶端來(lái)測(cè)試Web Service</p>

 * <p>Copyright: Copyright (c) 2004</p>

 * <p>Company: Tiger</p>

 * @author SucreTiger

 * @version 1.0

 */

public class Test

{

    public static void main(String[] agrs)

    {

        long startW = Calendar.getInstance().getTime().getTime();

        for (int i = 0; i < 3; i++) {

            try {

                //定位WSDL文件的位置

                Service1Locator sl = new Service1Locator();

                //獲得Web Service的引用

                Service1Soap ss = (Service1Soap) sl.getService1Soap();

                //通過(guò)記錄開(kāi)始和結(jié)束的時(shí)間,來(lái)測(cè)試Web服務(wù)調(diào)用所花費(fèi)的時(shí)間

                long start = Calendar.getInstance().getTime().getTime();

                System.out.println("開(kāi)始時(shí)間 : " + start);

                //調(diào)用Web Service提供的功能方法

                int result = ss.add(100, 99);

                System.out.println("返回結(jié)果: " + result);

                long end = Calendar.getInstance().getTime().getTime();

                System.out.println("結(jié)束時(shí)間: " + end);

                System.out.println("時(shí)間消費(fèi): " + (end - start));

            }

            catch (Exception ex) {

                ex.printStackTrace();

            }

        }

    }

}

查看測(cè)試結(jié)果

D:\JBuilder9\jdk1.4\bin\javaw-classpath"D:\Projects\TestWebService\classes;D:\JBuilder9\thirdparty\junit3.8\junit.jar;D:\JBuilder9\lib\unittest.jar;D:\JBuilder9\lib\saaj.jar;D:\JBuilder9\lib\jaxrpc.jar;D:\JBuilder9\lib\axis.jar;D:\JBuilder9\lib\wsdl4j.jar;D:\JBuilder9\lib\log4j-office:smarttags"/>

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
中文java技術(shù)網(wǎng)::Web Service學(xué)習(xí)筆記之----JAX-RPC
通過(guò)Web Service調(diào)用Google SOAP Search API
EJB 筆記 -Chapter04 Web Service
XFire:輕松簡(jiǎn)單地開(kāi)發(fā)Web Services
利用CXF wsdl2java生成java代碼
深入研究SOAP消息
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服