當前位置:才華齋>設計>網頁設計>

XFire建立WebService例項

網頁設計 閱讀(3.02W)

XFire使得在JavaEE應用中釋出Web服務變得輕而易舉。和其他Web服務引擎相比,XFire的配置非常簡單,可以非常容易地和Spring整合。那麼XFire怎麼建立WebService,下面yjbys小編為大家分享XFire建立WebService簡單例項:

XFire建立WebService例項

  一. 使用XFire釋出WebService

1. 建立service介面

Java程式碼

1. package ice;

2. import ;

3.

4. public interface IHelloService {

5. public String sayHello(String name);

6. public User getUser(User user);

7. }

8. }

2.建立Service介面的實現類

Java程式碼

1. package ice;

2. import ;

3. public class HelloService implements IHelloService{

4. public String sayHello(String name){

5. return "Hello, "+name;

6. }

7. public User getUser(User user) {

8. User userNew = new User();

9. d("new:"+d());

10. ame("new:"+ame());

11. return userNew;

12. }

13.}

Java程式碼

1. package ;

2. public class User {

3. private String id;

4. private String name;

5. public String getId() {

6. return id;

7. }

8. public void setId(String id) {

9. = id;

10. }

11. public String getName() {

12. return name;

13. }

14. public void setName(String name) {

15. = name;

16. }

17.}

3.在檔案中進行XFire攔截配置,可參照網提供的sample。

Xml程式碼

1.

2.<web-app version="2.4" xmlns=""

3. xmlns:xsi=""

4. xsi:schemaLocation="

5. _2_">

6.

7.

8.XFireServlet

9.

10. eConfigurableServlet

11.

12.

13.

14.XFireServlet

15./servlet/XFireServlet/*

16.

17.

18.XFireServlet

19./services/*

20.

21.

4.在class目錄下建立META-INF目錄,如(META-INF>xifre->),

在檔案中進行webservice服務的釋出,可參照網提供的`sample。

Xml程式碼

1.

2.

3.

4.HelloService

5.loService

6.oService

7.

8.

5.將xfire的Jar包和相關依賴包拷到系統應用中,在Tomcat下部署應用。

啟動tomcat後訪問服務(需在應用後加上/services,webservice才會進行攔截):

例:http://localhost:8080/ws2/services。(IE下有時無法顯示列表,可用其它瀏覽器顯示或指定介面名稱)

介面如下:

點選後檢視詳細的wsdl文件,不同的瀏覽器下訪問會有區別,展示效果不一致。

  二.建立XFire客戶端進行呼叫

1.本地客戶端呼叫,與webservice服務在同一應用。

Java程式碼

1. package nt;

2.

3. import ormedURLException;

4. import eFactory;

5. import eProxyFactory;

6. import ice;

7. import ctServiceFactory;

8. import loService;

9. import ;

10.

ic class ClientTest {

12. public static void main(String args[]) throws MalformedURLException {

13. Service service = new ObjectServiceFactory()te(s);

14. XFireProxyFactory factory = new XFireProxyFactory(XFireFactory

15. nstance()Fire());

16. String url = "http://localhost:8080/ws2/services/HelloService";

17. IHelloService helloService = (IHelloService) te(service,url);

18. tln(ello("張三"));

19. User user = new User();

20. ame("張三");

21. tln(ser(user)ame());

22. }

23.}

執行結果如下:

Java程式碼

1. Hello, 張三

2. new:張三

2. 利用XFire建立檔案生成客戶端程式碼呼叫webservice服務

2.1在src目錄下建立erties檔案,配置如下:

Java程式碼

1. =${basedir}

2. =D:/myspace/ws2/WebRoot/WEB-INF/lib

3. =http://localhost:8080/ws2/services/HelloService?wsdl

2.2在src目錄下建立檔案,配置如下:

Xml程式碼

1.

2.

3.

4.

5.

6.

7.

8.

9.

10.

11.<taskdef name="wsgen" classname="nTask"

12. classpathref="project-classpath" />

13.<wsgen outputDirectory="${}" wsdl="${}"

14. package="nt" overwrite="true"/>

15.

16.

用ant構建生成程式碼,生成後的目錄如下:

2.3編寫客戶端程式碼進行呼叫

Java程式碼

1. package nt;

2. import oServiceClient;

3. import oServicePortType;

4. import ctFactory;

5. import ;

6.

7. public class HelloServiceTest {

8.

9. public static void main(String args[]){

10. HelloServiceClient service = new HelloServiceClient();

11. HelloServicePortType portType = elloServiceHttpPort();

12. tln(ello("張三"));

13.

14. ObjectFactory factory = new ObjectFactory();

15. User user = teUser();

16. ame(teUserName("張三"));

17. tln(ser(user)ame()alue());

18. }

19.}

執行結果如下:

Java程式碼

1. Hello, 張三

2. new:張三