如何傳輸Java對象

    時間:2024-10-28 13:48:38 J2EE培訓 我要投稿
    • 相關推薦

    如何傳輸Java對象

      JavaEE 是 J2EE的一個新的名稱,之所以改名,目的還是讓大家清楚J2EE只是Java企業應用。下面yjbys小編為大家準備了關于如何傳輸Java對象的文章,歡迎閱讀。

      1. 首先是一個普通的pojo對象,用來表示一個實體類

      package com.googlecode.garbagecan.cxfstudy.jaxws;

      import java.util.Date;

      public class Customer {

      private String id;

      private String name;

      private Date birthday;

      public String getId() {

      return id;

      }

      public void setId(String id) {

      this.id = id;

      }

      public String getName() {

      return name;

      }

      public void setName(String name) {

      this.name = name;

      }

      public Date getBirthday() {

      return birthday;

      }

      public void setBirthday(Date birthday) {

      this.birthday = birthday;

      }

      @Override

      public String toString() {

      return org.apache.commons.lang.builder.ToStringBuilder.reflectionToString(this);

      }

      }

      2. 創建Web Service接口類

      package com.googlecode.garbagecan.cxfstudy.jaxws;

      import javax.jws.WebMethod;

      import javax.jws.WebParam;

      import javax.jws.WebResult;

      import javax.jws.WebService;

      @WebService

      public interface CustomerService {

      @WebMethod

      @WebResult Customer findCustomer(@WebParam String id);

      }

      3. 創建Web Service接口的實現類

      package com.googlecode.garbagecan.cxfstudy.jaxws;

      import java.util.Calendar;

      public class CustomerServiceImpl implements CustomerService {

      public Customer findCustomer(String id) {

      Customer customer = new Customer();

      customer.setId("customer_" + id);

      customer.setName("customer_name");

      customer.setBirthday(Calendar.getInstance().getTime());

      return customer;

      }

      }

      4. 下面是Server端的代碼

      package com.googlecode.garbagecan.cxfstudy.jaxws;

      import javax.xml.ws.Endpoint;

      import org.apache.cxf.interceptor.LoggingInInterceptor;

      import org.apache.cxf.interceptor.LoggingOutInterceptor;

      import org.apache.cxf.jaxws.JaxWsServerFactoryBean;

      public class MyServer {

      private static final String address = "http://localhost:9000/ws/jaxws/customerService";

      public static void main(String[] args) throws Exception {

      // http://localhost:9000/ws/jaxws/customerService?wsdl

      JaxWsServerFactoryBean factoryBean = new JaxWsServerFactoryBean();

      factoryBean.getInInterceptors().add(new LoggingInInterceptor());

      factoryBean.getOutInterceptors().add(new LoggingOutInterceptor());

      factoryBean.setServiceClass(CustomerServiceImpl.class);

      factoryBean.setAddress(address);

      factoryBean.create();

      }

      }

      5. 下面是Client端的代碼

      package com.googlecode.garbagecan.cxfstudy.jaxws;

      import java.net.SocketTimeoutException;

      import javax.xml.ws.WebServiceException;

      import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;

      public class MyClient {

      public static void main(String[] args) throws Exception {

      JaxWsProxyFactoryBean factoryBean = new JaxWsProxyFactoryBean();

      factoryBean.setAddress("http://localhost:9000/ws/jaxws/customerService");

      factoryBean.setServiceClass(CustomerService.class);

      Object obj = factoryBean.create();

      CustomerService customerService = (CustomerService) obj;

      try {

      Customer customer = customerService.findCustomer("123");

      System.out.println("Customer: " + customer);

      } catch(Exception e) {

      if (e instanceof WebServiceException

      && e.getCause() instanceof SocketTimeoutException) {

      System.err.println("This is timeout exception.");

      } else {

      e.printStackTrace();

      }

      }

      }

      }

      6.測試

      首先運行MyServer類,然后運行MyClient類來驗證Web Service。

    【如何傳輸Java對象】相關文章:

    JAVA認證開源技術:關于Java的對象equals方法06-26

    java面向對象編程題庫及答案07-28

    JAVA面向對象的三大特性06-14

    如何編譯java程序09-28

    2016年java面向對象編程題庫及答案10-24

    如何讓JAVA代碼更高效07-18

    Java如何實現簡單的whois查詢09-21

    Java byte[]轉int如何實現05-24

    Java中如何構造、生成XML簡明07-17

    用Java如何處理XML數據10-22

    91久久大香伊蕉在人线_国产综合色产在线观看_欧美亚洲人成网站在线观看_亚洲第一无码精品立川理惠

      中字幕视频一区二区三区 | 在线日本v二区不卡中文字幕 | 日本香蕉尹人在线视频 | 婷婷久久综合九色综合色多多 | 亚洲伊人久久成综合人影院 | 亚洲日本中文字幕一区二区三区 |