<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>

            XFire創建WebService實例

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

            XFire創建WebService實例

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

              一. 使用XFire發布WebService

              1. 創建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.創建Service接口的實現類

              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攔截配置,可參照網提供的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服務的發布,可參照網提供的sample。

              Xml代碼

              1.

              2.

              3.

              4.HelloService

              5.com.test.service.IHelloService

              6.com.test.service.HelloService

              7.

              8.

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

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

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

              界面如下:

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

              二.建立XFire客戶端進行調用

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

              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.}

              執行結果如下:

              Java代碼

              1. Hello, 張三

              2. new:張三

              2. 利用XFire創建build.xml文件生成客戶端代碼調用webservice服務

              2.1在src目錄下創建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目錄下創建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構建生成代碼,生成后的目錄如下:

              2.3編寫客戶端代碼進行調用

              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.}

              執行結果如下:

              Java代碼

              1. Hello, 張三

              2. new:張三

            【XFire創建WebService實例】相關文章:

            EIGRP帶寬實例配置09-19

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

            ASP編程實例大全05-29

            淺析php函數的實例06-08

            PHP中curl的使用實例07-31

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

            JavaScript fontcolor方法入門實例07-07

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

            包裝條款實例整理12-10

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

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看