亚洲国产日韩欧美在线a乱码,国产精品路线1路线2路线,亚洲视频一区,精品国产自,www狠狠,国产情侣激情在线视频免费看,亚洲成年网站在线观看

如何傳輸Java對象

時間:2024-10-28 13:48:38 J2EE培訓(xùn) 我要投稿
  • 相關(guān)推薦

如何傳輸Java對象

  JavaEE 是 J2EE的一個新的名稱,之所以改名,目的還是讓大家清楚J2EE只是Java企業(yè)應(yīng)用。下面yjbys小編為大家準(zhǔn)備了關(guān)于如何傳輸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對象】相關(guān)文章:

JAVA認(rèn)證開源技術(shù):關(guān)于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