前几天有个项目要用xfire客户端调用webservice,我就用myeclipse5.0自动生成的方法生成了很多类,然后单独写一个方法来调用相应的webservice服务,但问题出现了:
在一个测试类的main方法中调用写好的那个方法没有问题,而且能得到webservice的返回结果
但在jsp中调用那个方法总是报错,错误如下:
java 代码
- message
-
-
description The server encountered an internal error () that prevented it from fulfilling this request.
-
- exception
-
- org.apache.jasper.JasperException: Could not invoke service.. Nested exception is org.codehaus.xfire.fault.XFireFault: Could not unmarshall type.
-
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:372)
-
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
-
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
-
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
-
-
- root cause
-
- org.codehaus.xfire.XFireRuntimeException: Could not invoke service.. Nested exception is org.codehaus.xfire.fault.XFireFault: Could not unmarshall type.
-
org.codehaus.xfire.client.XFireProxy.handleRequest(XFireProxy.java:92)
-
org.codehaus.xfire.client.XFireProxy.invoke(XFireProxy.java:57)
- $Proxy12.addMediaTask(Unknown Source)
-
test.Test.send(Test.java:56)
-
org.apache.jsp.send_jsp._jspService(send_jsp.java:60)
-
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
-
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
-
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
-
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
-
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
-
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
后来找了好几个朋友来帮忙也没有解决,所以只好自己研究了!
研究了一天多,终于找到问题所在了,当时差点晕过去,希望xfire新手不要和我犯一样的错误
错误原因:我原来的xfire客户端把myeclipse提供的xfire类库都导入到工程里了,其实客户端只要导入3个类包就可以了,这三个类包就是:core,http,jaxb2(如果用这个解析的话),其他没用到的包就不要导入到工程了!
但我还是没明白为什么在java中调用就没有问题,但用jsp调用就报错!都是同一个方法!!比较迷惑!!!
希望有高手能解开我的疑惑!!!
也希望这篇文章能给初学者或者遇到此类问题的程序员提供一些帮助!
谢谢大家!!!!
分享到:
相关推荐
在这个场景下,"Xfire客户端调用webservice jar包"是指Xfire客户端为了实现某些功能,如获取服务器数据或更新信息,需要调用Web服务的接口。这些接口通常以Java的jar包形式提供,方便开发者集成到他们的应用中。 ...
本篇文章将深入探讨如何使用XFire客户端调用Web服务,以及对象传递在Web服务开发中的应用。 首先,理解Web服务的基本概念至关重要。Web服务采用标准的协议如SOAP(Simple Object Access Protocol)进行通信,XML...
首先,CXF客户端调用Web服务时,通常会通过服务接口类来实现。在给出的示例中,`TestService`接口定义了几个服务方法,如`sayHi()`、`getMap()`、`getList()`和`getUser()`。这些方法中,`getMap()`和`getUser()`...
本文将深入探讨XFire客户端的生成以及如何利用它来自动创建Java代码以便调用Web服务。 ### XFire简介 XFire是由Apache CXF项目前身的一部分发展而来,其主要目标是简化Web服务的开发过程。它提供了一个轻量级、...
在维护或修复旧版Xfire客户端时,理解这些JAR文件的功能和结构至关重要。开发者需要能够解压JAR,查看和修改其中的代码或资源,然后重新打包。这通常需要使用到像`jar`命令行工具或者开发工具如Eclipse、IntelliJ ...
在本案例中,"Xfire的client.zip"是一个包含了Xfire客户端代码的压缩包,主要用于调用Web服务。 Xfire客户端代码是实现与Xfire服务器通信的代码库,它可能包含了多种语言的实现,如Java、C#或Python等。这些代码...
XFire客户端Eclipse插件是开发人员在使用Eclipse IDE时用于集成XFire服务框架的工具。XFire,现在已被Apache CXF所吸收,是一款强大的Java Web服务框架,旨在简化创建和部署Web服务的过程。这款插件使得在Eclipse...
本文将详细介绍Spring XFire客户端的实例应用,以及如何利用它来实现Web服务的调用。 首先,我们需要理解Spring XFire的核心概念。Spring XFire是Spring框架的一个扩展,它整合了XFire(现已被Apache CXF合并)的...
描述中提到的“xfire webserivce客户端 jar”是指XFire客户端部分的jar文件,它主要用于调用和消费Web服务。这些jar文件包含了客户端所需的API,使得开发者可以轻松地创建Web服务客户端,通过SOAP消息与远程服务进行...
标题 "xfire客户端jar" 指的是XFire这一款基于Java开发的多玩家游戏平台的客户端组件。XFire是一款曾经流行的在线游戏社区软件,它允许玩家与朋友一起玩游戏、记录游戏时间、查看成就,以及参与游戏内的社交活动。在...
【CXF、AXIS2、XFire 客户端调用方法详解】 在Web服务开发中,CXF、AXIS2和XFire是常见的Java API,用于构建和消费SOAP(简单对象访问协议)服务。这些框架提供了丰富的功能,使得开发者能够方便地创建和调用Web...
commons-httpclient-3.1.jar,xfire客户端使用需包2
总结来说,XFire客户端调用服务的过程涉及服务模型创建、Client实例化、服务代理对象、调用链信息构造、拦截器的执行以及远程服务请求的发送。拦截器是这一流程的关键,提供了强大的灵活性和可扩展性,允许开发者...
在描述中提到的"Demo样板",通常是一个预配置的示例程序,用于演示如何使用xfire客户端来连接和调用Web服务。然而,由于每个Web服务都有其特定的WSDL(Web服务描述语言)文件,定义了服务的接口和操作,因此这个Demo...
xfire客户端EXE的程序应用,可直接用客户端来连接远程Webservice服务端应用
4. **创建服务客户端**:在你的应用中,实例化由XFire生成的客户端代理类,然后调用其方法来执行Web服务操作。例如: ```java ServiceClient client = new ServiceClient(); client.setEndpoint(...
《Xfire客户端详解:源码解析与工具应用》 Xfire是一款曾经非常流行的多游戏即时通讯软件,它允许玩家在游戏过程中与好友聊天、组队、查看在线状态等功能。随着时代的变迁,虽然Xfire已逐渐淡出人们的视线,但其...
标题"Xfire调用webservice无法接收到参数问题解决"指出的核心问题是:当使用Xfire作为客户端调用Web服务时,服务端无法正确接收到传递的参数。这可能是由于多种原因引起的,如: 1. **XML序列化与反序列化问题**:...
"Java 使用 XFire 调用 webService 接口" ...我们了解了服务端和客户端的开发步骤,并了解了使用 XFire 调用 webService 接口的优点。通过本文,我们可以更好地理解和应用 XFire 框架,提高 Web 服务的开发和集成效率。
本教程将深入探讨Xfire如何实现Web服务的创建、部署以及客户端调用,同时提供实例代码供学习参考。 **1. Xfire简介** Xfire是基于Java的Web服务框架,它提供了全面的WS-I(Web Services Interoperability)兼容性...