中文字幕在线一区二区在线,久久久精品免费观看国产,无码日日模日日碰夜夜爽,天堂av在线最新版在线,日韩美精品无码一本二本三本,麻豆精品三级国产国语,精品无码AⅤ片,国产区在线观看视频

      XFire創(chuàng)建WebService實例

      時間:2024-09-14 02:27:00 Web Services 我要投稿
      • 相關(guān)推薦

      XFire創(chuàng)建WebService實例

        XFire使得在JavaEE應(yīng)用中發(fā)布Web服務(wù)變得輕而易舉。和其他Web服務(wù)引擎相比,XFire的配置非常簡單,可以非常容易地和Spring集成。那么XFire怎么創(chuàng)建WebService,下面yjbys小編為大家分享XFire創(chuàng)建WebService簡單實例:

        一. 使用XFire發(fā)布WebService

        1. 創(chuàng)建service接口

        Java代碼

        1. package com.test.service;

        2. import com.test.service.bean.User;

        3.

        4. public interface IHelloService {

        5.   public String sayHello(String name);

        6.   public User getUser(User user);

        7.   }

        8. }

        2.創(chuàng)建Service接口的實現(xiàn)類

        Java代碼

        1. package com.test.service;

        2. import com.test.service.bean.User;

        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.     userNew.setId("new:"+user.getId());

        10.    userNew.setName("new:"+user.getName());

        11.    return userNew;

        12.  }

        13.}

        Java代碼

        1. package com.test.service.bean;

        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.     this.id = id;

        10.  }

        11.  public String getName() {

        12.    return name;

        13.  }

        14.  public void setName(String name) {

        15.    this.name = name;

        16.  }

        17.}

        3.在web.xml文件中進行XFire攔截配置,可參照網(wǎng)提供的sample。

        Xml代碼

        1.

        2.<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"

        3.  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

        4.  xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee

        5.  http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

        6.

        7.

        8.XFireServlet

        9.

        10.    org.codehaus.xfire.transport.http.XFireConfigurableServlet

        11.

        12.

        13.

        14.XFireServlet

        15./servlet/XFireServlet/*

        16.

        17.

        18.XFireServlet

        19./services/*

        20.

        21.

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

        在services.xml文件中進行webservice服務(wù)的發(fā)布,可參照網(wǎng)提供的sample。

        Xml代碼

        1.

        2.

        3.

        4.HelloService

        5.com.test.service.IHelloService

        6.com.test.service.HelloService

        7.

        8.

        5.將xfire的Jar包和相關(guān)依賴包拷到系統(tǒng)應(yīng)用中,在Tomcat下部署應(yīng)用。

        啟動tomcat后訪問服務(wù)(需在應(yīng)用后加上/services,webservice才會進行攔截):

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

        界面如下:

        點擊后查看詳細的wsdl文檔,不同的瀏覽器下訪問會有區(qū)別,展示效果不一致。

        二.建立XFire客戶端進行調(diào)用

        1.本地客戶端調(diào)用,與webservice服務(wù)在同一應(yīng)用。

        Java代碼

        1. package com.test.client;

        2.

        3. import java.net.MalformedURLException;

        4. import org.codehaus.xfire.XFireFactory;

        5. import org.codehaus.xfire.client.XFireProxyFactory;

        6. import org.codehaus.xfire.service.Service;

        7. import org.codehaus.xfire.service.binding.ObjectServiceFactory;

        8. import com.test.service.IHelloService;

        9. import com.test.service.bean.User;

        10.

        11.public class ClientTest {

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

        13.    Service service = new ObjectServiceFactory().create(IHelloService.class);

        14.    XFireProxyFactory factory = new XFireProxyFactory(XFireFactory

        15.        .newInstance().getXFire());

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

        17.    IHelloService helloService = (IHelloService) factory.create(service,url);

        18.    System.out.println(helloService.sayHello("張三"));

        19.    User user = new User();

        20.    user.setName("張三");

        21.    System.out.println(helloService.getUser(user).getName());

        22.  }

        23.}

        執(zhí)行結(jié)果如下:

        Java代碼

        1. Hello, 張三

        2. new:張三

        2. 利用XFire創(chuàng)建build.xml文件生成客戶端代碼調(diào)用webservice服務(wù)

        2.1在src目錄下創(chuàng)建build.properties文件,配置如下:

        Java代碼

        1. src.dir=${basedir}

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

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

        2.2在src目錄下創(chuàng)建build.xml文件,配置如下:

        Xml代碼

        1.

        2.

        3.

        4.

        5.

        6.

        7.

        8.

        9.

        10.

        11.<taskdef name="wsgen" classname="org.codehaus.xfire.gen.WsGenTask"

        12.                       classpathref="project-classpath" />

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

        14.          package="stub.test.client" overwrite="true"/>

        15.

        16.

        用ant構(gòu)建生成代碼,生成后的目錄如下:

        2.3編寫客戶端代碼進行調(diào)用

        Java代碼

        1. package com.test.client;

        2. import stub.test.client.HelloServiceClient;

        3. import stub.test.client.HelloServicePortType;

        4. import com.test.service.bean.ObjectFactory;

        5. import com.test.service.bean.User;

        6.

        7. public class HelloServiceTest {

        8.

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

        10.    HelloServiceClient service = new HelloServiceClient();

        11.    HelloServicePortType portType = service.getHelloServiceHttpPort();

        12.    System.out.println(portType.sayHello("張三"));

        13.

        14.    ObjectFactory factory = new ObjectFactory();

        15.    User user = factory.createUser();

        16.    user.setName(factory.createUserName("張三"));

        17.    System.out.println(portType.getUser(user).getName().getValue());

        18.  }

        19.}

        執(zhí)行結(jié)果如下:

        Java代碼

        1. Hello, 張三

        2. new:張三

      【XFire創(chuàng)建WebService實例】相關(guān)文章:

      EIGRP帶寬實例配置09-19

      硬盤故障排除「實例」12-27

      ASP編程實例大全05-29

      淺析php函數(shù)的實例06-08

      PHP中curl的使用實例07-31

      PHP對象注入的實例分析08-27

      JavaScript fontcolor方法入門實例07-07

      德國留學申請實例分析09-28

      包裝條款實例整理12-10

      實例談柔焦攝影技法09-03

      主站蜘蛛池模板: 亚洲伦理一区二区三区| 国产后入内射在线观看| 色就色中文字幕在线视频| 丰满人妻中文字幕乱码| 株洲市| 国产一区二区三区免费在线观看| 久久99一本色道亚洲精品| 免费观看在线视频一区| 江都市| 精品人一区二区三区伦蜜桃免费| 久久这里只有精品少妇| AV中文字幕在线视| 亚洲精品久久久蜜桃一区二区| 朝阳区| 石景山区| 论坛| 河曲县| 嵊州市| 阳曲县| 长顺县| 国产免费午夜福利蜜芽无码 | 国产美女裸身网站免费观看视频| 超高清丝袜美腿视频在线| 亚洲va欧美va人人爽夜夜嗨 | 国产女主播在线一区二区| 国模偷拍视频一区二区| 91青青草久久| 亚洲精品一区二区三区免费观看| 国产精品不卡在线视频| 高青县| 久久久久综合一本久道| 国产精品国产三级国产AvkTV| 国产一区二区内射最近人| 国产精品成人无码久久久久久| 兴化市| 在线一区二区三区观看视频| 亚洲成精品动漫久久精久| 成美女黄网站18禁免费| 亚洲一区二区免费日韩| 久久久亚洲精品午夜福利| 国产午夜av一区二区三区|