如何傳輸Java對象

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

    如何傳輸Java對象

      JavaEE 是 J2EE的一個新的名稱,之所以改名,目的還是讓大家清楚J2EE只是Java企業(yè)應用。下面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. 創(chuàng)建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. 創(chuàng)建Web Service接口的實現(xiàn)類

      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面向?qū)ο缶幊填}庫及答案07-28

    如何編譯java程序09-28

    2016年java面向?qū)ο缶幊填}庫及答案10-24

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

    Java如何實現(xiàn)簡單的whois查詢09-21

    Java byte[]轉(zhuǎn)int如何實現(xiàn)05-24

    Java中如何構(gòu)造、生成XML簡明07-17

    用Java如何處理XML數(shù)據(jù)10-22

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

      中文字幕乱码亚洲精品 | 一区二区精品视频日本 | 中文字幕在线乱码页 | 亚洲再在线观看中文字幕精品 | 亚洲人成在线播放电影 | 最新日韩中文有码在线 |