如何传输Java对象
JavaEE 是 J2EE的一个新的名称,之所以改名,目的还是让大家清楚J2EE只是Java企业应用。下面yjbys小编为大家准备了关于如何传输Java对象的文章,欢迎阅读。
1. 首先是一个普通的对象,用来表示一个实体类
package s;
import ;
public class Customer {
private String id;
private String name;
private Date birthday;
public String getId() {
return id;
}
public void setId(String id) {
= id;
}
public String getName() {
return name;
}
public void setName(String name) {
= name;
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
hday = birthday;
}
@Override
public String toString() {
return ectionToString(this);
}
}
2. 创建Web Service接口类
package s;
import ethod;
import aram;
import esult;
import ervice;
@WebService
public interface CustomerService {
@WebMethod
@WebResult Customer findCustomer(@WebParam String id);
}
3. 创建Web Service接口的实现类
package s;
import ndar;
public class CustomerServiceImpl implements CustomerService {
public Customer findCustomer(String id) {
Customer customer = new Customer();
d("customer_" + id);
ame("customer_name");
irthday(nstance()ime());
return customer;
}
}
4. 下面是Server端的代码
package s;
import oint;
import ingInInterceptor;
import ingOutInterceptor;
import sServerFactoryBean;
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();
nInterceptors()(new LoggingInInterceptor());
utInterceptors()(new LoggingOutInterceptor());
erviceClass(s);
ddress(address);
te();
}
}
5. 下面是Client端的代码
package s;
import etTimeoutException;
import erviceException;
import sProxyFactoryBean;
public class MyClient {
public static void main(String[] args) throws Exception {
JaxWsProxyFactoryBean factoryBean = new JaxWsProxyFactoryBean();
ddress("http://localhost:9000/ws/jaxws/customerService");
erviceClass(s);
Object obj = te();
CustomerService customerService = (CustomerService) obj;
try {
Customer customer = Customer("123");
tln("Customer: " + customer);
} catch(Exception e) {
if (e instanceof WebServiceException
&& ause() instanceof SocketTimeoutException) {
tln("This is timeout exception.");
} else {
tStackTrace();
}
}
}
}
6.测试
首先运行MyServer类,然后运行MyClient类来验证Web Service。