首先打開Eclipse,創建一個普通的java工程,將xfire所需的jar和xfire的jar加入到工程所需的類庫引用中。創建一個簡單的java文件,這個java文件簡單到只提供一個add方法。
版本:xfire-all-1.1.2.jar
web.xml

?2

?3

?4

?5

?6

?7

?8

?9

10

11

還有映射,也是web.xml

2

3

4

5

6

7

8


9

然后在WEB-INF下新增一個文件
xfire-servlet.xml

?2

?3

?4

?5

?6

?7

?8

?9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

?????????????????? <ref?bean="xfire"/>
????????? </property>
就這么寫,不用想別的,而
?????????? <property?name="serviceBean">


需要調用你自己的實現類bean的聲明。我的是:

接口:

?2

?3


?4

?5

?6

?7

?8

?9

10

11

12



13

14

15

16


?2

?3

?4

?5


?6

?7

?8

?9

10

11

12

13

14



15

16

17

18



19

20

21

22

23

24


?2

?3

?4

?5

?6

?7

?8

?9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

Web服務定義語言(Web Services Definition Language,WSDL)是一個建議性標準,用于描 述Web服務的技術調用語法。WSDL定義了一套基于 XML的語法,將Web服務描述為能夠進行消息交換的服務訪問點的集合,從而滿足了這種需求。WSDL服務定義為分布式系統提供了可機器識別的SDK文檔,并且可用于描述自動執行應用程序通信中所涉及的細節。WSDL的當前版本是1.1,規范可以從http://www.w3.org/TR/wsdl獲得。
WSDL就是描述XMLWeb服務的標準XML格式,WSDL由Ariba、Intel、IBM和微軟等開發商提出。它用一種和具體語言無關的抽象方式定義了給定Web服務收發的有關操作和消息。就其定義來說,你還不能把WSDL當作一種對象接 口定義語言,例如,CORBA或COM等應用程序體系結構就會用到對象接口定義語言。 WSDL保持協議中立,但它確實內建了綁定SOAP的支持,從而同SOAP建立了不可分割的聯系。
WSDL服務描述是一個XML文檔,它與WSDL模式(schema)的定義一致。WSDL文檔并不是完整的服務描述,而只包括了服務描述任務的較低層次,即:服務接口的原始技術描述。WSDL是Web服務的接口定義語言IDL(Interface Definition Language,),本質上,WSDL描述說明的是Web服務的以下三個基本屬性:
服務做些什么--服務所提供的操作(方法)。
如何訪問服務--數據格式詳情以及訪問服務操作的必要協議。
服務位于何處--由特定協議決定的網絡地址,如URL。
1、WSDL信息模型
WSDL信息模型充分利用了抽象規范與規范具體實現的分離,也就是分離了服務接口定義(抽象接口)與服務實現定義(具體端點)。 抽象接口規范描述了終端的處理能力,它在WSDL中表示為portType。束定機制 (binding mechanism)在WSDL中表示為binding元素,它使用特定的通信協議、數據編碼模型和底層通信協議,將Web服務的抽象定義映射至特定實現。若束定結合了實現的訪問地址,抽象端點也就成為可供服務請求者調用的具體端點(concrete endpoint),WSDL的port元素表示了這一結合。
抽象接口可以支持任何數量的操作(operations)。操作是由一組消息(messages)定義,消息定義了操作的交互定式。與抽象的消息、操作概念相對應的具體實現是由binding元素指定。與XML應用相同,WSDL模式定義了幾個高層元素,或稱為主要元素。在WSDL中,Web服務描述中的主要元素如下:
Types,定義了Web服務使用的所有數據類型集合,可被元素的各消息部件所引用。它使用某種類型系統(一般地使用XMLSchema中的類型系統)。
Message,通信消息數據結構的抽象類型化定義。使用Types所定義的類型來定義整個消息的數據結構。
Operation,對服務中所支持操作的抽象描述。一般單個Operation描述了一個訪問入口的請求/響應消息對。
PortType,對于某個訪問入口點類型所支持操作的抽象集合。這些操作可以由一個或多個服務訪問點來支持。
Binding,包含了如何將抽象接口的元素(portType)轉變為具體表示的細節,具體表示也就是指特定的數據格式和協議的結合;特定端口類型的具體協議和數據格式規范的綁定。
Port,定義為協議/數據格式綁定與具體Web訪問地址組合的單個服務訪問點。
Service,這是一個粗糙命名的元素,代表端口的集合;相關服務訪問點的集合。
因此,portType(與message和type元素的細節相結合)描述了Web服務是什么,binding元素描述了如何使用Web服務,port及service元素描述了Web服務的位置。
2、WSDL對象結構圖
從圖2所示的WSDL對象結構圖可知,一個WSDL文檔中可以包含一個Types,多個Message、PortType、Binding和Service。
?
其中,Types是一個數據類型定義的容器,包含了所有在消息定義中需要的XML元素的類型定義。
Message具體定義了在通信中使用的消息的數據結構,Message元素包含了一組Part元素,每個Part元素都是最終消息的一個組成部分,每個Part都會引用一個DataType來表示它的結構。Part元素不支持嵌套(可以使用DataType來完成這方面的需要),都是并列出現。
PortType具體定義了一種服務訪問入口的類型(傳入/傳出消息的模式及其格式),一個PortType可以包含若干個Operation,而一個Operation則是指訪問入口支持的一種類型的調用。在WSDL里面支持四種訪問入口調用的模式:1) 單請求; 2) 單響應; 3) 請求/響應; 4) 響應/請求。在這里請求指的是從客戶端到Web服務端,而響應指的是從Web服務端到客戶端。PortType的定義中會引用消息定義部分的一個到兩個消息,作為請求或響應消息的格式。
Service描述的是一個具體的被部署的Web服務所提供的所有訪問入口的部署細節,一個Service往往會包含多個服務訪問入口,而每個訪問入口都會使用一個Port元素來描述。
Port描述的是一個服務訪問入口的部署細節,包括通過哪個Web地址(URL)來訪問,應當使用怎樣的消息調用模式來訪問等。其中消息調用模式則是使用Binding結構來表示。
Binding結構定義了某個PortType與某一種具體的網絡傳輸協議或消息傳輸協議相綁定,從這一層次開始,描述的內容就與具體服務的部署相關了。比如可以將PortType與SOAP/HTTP綁定,也可以將PortType與MIME/SMTP相綁定等。
?