xfire客户端调用时千万注意!!!!!(原创)

前几天有个项目要用xfire客户端调用webservice,我就用myeclipse5.0自动生成的方法生成了很多类,然后单独写一个方法来调用相应的webservice服务,但问题出现了:

在一个测试类的main方法中调用写好的那个方法没有问题,而且能得到webservice的返回结果

但在jsp中调用那个方法总是报错,错误如下:

 

java 代码
  1. message    
  2.   
  3. description The server encountered an internal error () that prevented it from fulfilling this request.   
  4.   
  5. exception    
  6.   
  7. org.apache.jasper.JasperException: Could not invoke service.. Nested exception is org.codehaus.xfire.fault.XFireFault: Could not unmarshall type.   
  8.     org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:372)   
  9.     org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)   
  10.     org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)   
  11.     javax.servlet.http.HttpServlet.service(HttpServlet.java:802)   
  12.   
  13.   
  14. root cause    
  15.   
  16. org.codehaus.xfire.XFireRuntimeException: Could not invoke service.. Nested exception is org.codehaus.xfire.fault.XFireFault: Could not unmarshall type.   
  17.     org.codehaus.xfire.client.XFireProxy.handleRequest(XFireProxy.java:92)   
  18.     org.codehaus.xfire.client.XFireProxy.invoke(XFireProxy.java:57)   
  19.     $Proxy12.addMediaTask(Unknown Source)   
  20.     test.Test.send(Test.java:56)   
  21.     org.apache.jsp.send_jsp._jspService(send_jsp.java:60)   
  22.     org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)   
  23.     javax.servlet.http.HttpServlet.service(HttpServlet.java:802)   
  24.     org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)   
  25.     org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)   
  26.     org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)   
  27.     javax.servlet.http.HttpServlet.service(HttpServlet.java:802)  

 

后来找了好几个朋友来帮忙也没有解决,所以只好自己研究了!

研究了一天多,终于找到问题所在了,当时差点晕过去,希望xfire新手不要和我犯一样的错误

错误原因:我原来的xfire客户端把myeclipse提供的xfire类库都导入到工程里了,其实客户端只要导入3个类包就可以了,这三个类包就是:core,http,jaxb2(如果用这个解析的话),其他没用到的包就不要导入到工程了!

但我还是没明白为什么在java中调用就没有问题,但用jsp调用就报错!都是同一个方法!!比较迷惑!!!

希望有高手能解开我的疑惑!!!

也希望这篇文章能给初学者或者遇到此类问题的程序员提供一些帮助!

谢谢大家!!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值