MyEclipse创建SOAP Web Services提示Unable to Create JAXBContext错误

雷雷518 2013-06-14 10:03:22
MyEclipse完成一个订单管理的SOAP Web Service,在生成wsdl时提示Unable to Create JAXBContext错误。具体:我建了类PurchaseOrder来表示从数据库读出的订单信息,并建立PurchaseOrderDatabase类,内含读取MySQL中数据库订单的方法和属性PurchaseOrder po,用读取的数据库信息来初始化po。然后建立服务类PurchaseOrderSOAP,希望返回PurchaseOrderDatabase中po的toString给客户端,但自动生成wsdl时提示错误,未成功生成wsdl文档。
//PurchaseOrderSOAP类的代码如下:
public class PurchaseOrderSOAP {
//soap web service
public String queryByCustomerName(String CustomerName) throws ClassNotFoundException {
//PurchaseOrderDtatbase为访问数据库的类,包含PurchaseOrder(订单信息类)属性,
//从数据库读出数据后,初始化属性po
PurchaseOrderDatabase podb = new PurchaseOrderDatabase();
//访问数据库,并初始化podb属性PurchaseOrder po
podb.getDataByCustomerName(CustomerName);

//返回订单信息po的字符串
return CustomerName+"的订单信息:"+podb.getPO().toString();
}
}

//PurchaseOrderDatabase类的代码如下:
public class PurchaseOrderDatabase {
//responsible for connecting with the database and getting the specific data for PurchaseOrder
private PurchaseOrder po;

//default constructor
public PurchaseOrderDatabase() {
po = new PurchaseOrder();
}

//getters
public PurchaseOrder getPO() {
return po;
}
//get data by customer name from the database
public void getDataByCustomerName(String CustomerName) throws ClassNotFoundException{
java.sql.Connection conn;
java.lang.String strConn;
java.sql.PreparedStatement preparedStmt;//database statement object
java.sql.ResultSet sqlRst;//result set

try{
try{
Class.forName("com.mysql.jdbc.Driver").newInstance();
}catch(InstantiationException ex){
Logger.getLogger(PurchaseOrderDatabase.class.getName()).log(Level.SEVERE, null, ex);
}catch(IllegalAccessException ex){
Logger.getLogger(PurchaseOrderDatabase.class.getName()).log(Level.SEVERE, null, ex);
}
conn = java.sql.DriverManager.getConnection("jdbc:mysql://localhost/order", "root", "0000");
preparedStmt = conn.prepareStatement("select * from purchaseorder");//get all data of the form
sqlRst = preparedStmt.executeQuery();
//System.out.println(sqlRst.toString());

//select item which customername equals to CustomerName from sqlRst
while(sqlRst.next()){
if(sqlRst.getString("customername").equals(CustomerName)){
po.setIDPurchaseOrder(sqlRst.getString("idpurchaseorder"));
po.setCustomerName(sqlRst.getString("customername"));
po.setCustomerAddress(sqlRst.getString("customeraddress"));
po.setOrderInfo(sqlRst.getString("orderinfo"));
po.setProductPrice(Float.parseFloat(sqlRst.getString("productprice")));
po.setDelivery(Float.parseFloat(sqlRst.getString("delivery")));
po.setTotal(Float.parseFloat(sqlRst.getString("total")));
po.setTime(sqlRst.getString("time"));
}
}

//close
sqlRst.close();
preparedStmt.close();
conn.close();
}catch(java.sql.SQLException e){
System.out.println(e.toString());
}
}
}
...全文
1298 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
qinjames 2016-02-24
  • 打赏
  • 举报
回复
返回值不能是接口
小哥呜哈哈 2013-10-11
  • 打赏
  • 举报
回复
楼主怎么解决的,我们Linux环境weblogic上出现了这个问题
雷雷518 2013-09-12
  • 打赏
  • 举报
回复
把你要处理的对象,都方在ArraList中,在返回ArrayList,从中读取即可。我是这么做的,估计还有其他的好方法,你可以这样做试试。
xiaolijian13 2013-07-31
  • 打赏
  • 举报
回复
楼主解决了,可以说一下解决方案吗?之前我看到了你发的,说什么可以返回list 不是太明白,可否给详细一点的!
Enock2 2013-06-26
  • 打赏
  • 举报
回复
怎么解决的啊
雷雷518 2013-06-14
  • 打赏
  • 举报
回复
我用的是JAX-WS,谢了
雷雷518 2013-06-14
  • 打赏
  • 举报
回复
终于找到原因了,搞定了

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧