我是一个SOA新学者,用xfire的jaxb2绑定做了一个例子,总是报错,也不清楚为什么了!
希望大家多给我一点意见,谢谢!
例子如下:
PO类:
package com.xxx.services;
import java.io.Serializable;
public class User implements Serializable {
private String name;
private int age;
public int getAge() {
return age;
}
......//getter() or setter();
}
Service Interface类:
package com.xxx.services;
import java.util.List;
import javax.jws.WebMethod;
import javax.jws.WebService;
@WebService(name="UserServiceIntf", targetNamespace="http://www.webservicex.net")
public interface UserService {
@WebMethod
public User getUser();
@WebMethod
public List getUsers();
}
Service Interface Implement类:
package com.xxx.services;
import java.util.List;
import java.util.Vector;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
@WebService(endpointInterface="org.codehaus.xfire.jaxb.UserService", serviceName="UserService")
@SOAPBinding(parameterStyle=SOAPBinding.ParameterStyle.BARE)
public class UserServiceImpl implements UserService {
public User getUser(){
User user = new User("tom",23);
return user;
}
public List getUsers(){
List list=new Vector();
User user1 = new User("tom",23);
User user2 = new User("jerry",26);
list.add(user1);
list.add(user2);
return list;
}
}
src\META-INF\xfire\services.xml:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://xfire.codehaus.org/config/1.0">
<service>
<name>UserService</name>
<namespace>http://com.xxx.services/UserService</namespace>
<serviceBean>com.xxx.services.UserServiceImpl</serviceBean>
<serviceFactory>#jaxbServiceFactory</serviceFactory>
</service>
<bean name="jaxbServiceFactory" class="org.codehaus.xfire.jaxb2.JaxbServiceFactory">
<constructor-arg ref="xfire.transportManager"/>
</bean>
</beans>
web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<servlet>
<servlet-name>XFireServlet</servlet-name>
<servlet-class>
org.codehaus.xfire.transport.http.XFireConfigurableServlet
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>XFireServlet</servlet-name>
<url-pattern>/servlet/XFireServlet/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>XFireServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
</web-app>
报如下错误:
exception
javax.servlet.ServletException: Error initializing XFireServlet.
org.codehaus.xfire.transport.http.XFireServlet.init(XFireServlet.java:50)
javax.servlet.GenericServlet.init(GenericServlet.java:211)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
java.lang.Thread.run(Thread.java:595)
root cause
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.codehaus.xfire.spring.ServiceBean' defined in class path resource [META-INF/xfire/services.xml]: Initialization of bean failed; nested exception is org.codehaus.xfire.annotations.AnnotationException: Class javax.xml.namespace.QName does not have a WebService annotation
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:370)
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:226)
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:147)
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:275)
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:320)
在xfire的官网上看好象还需要一个.xsd,然后再配到services.xml中,我也试了!错误一样!
希望大家可以帮我一下,看看什么问题,给点意见!最好说的具体点,谢谢!
分享到:
相关推荐
接着,我们将了解如何创建一个客户端,使用XFire提供的客户端API来调用这个Web服务。 **发布WebService服务器端** 1. **定义服务接口**: 首先,我们需要定义一个Java接口,它代表我们的Web服务。例如,我们可以...
XFire是一个轻量级的WebService框架,它提供了一种简单的方式来开发基于Java的Web服务和客户端应用程序。XFire支持SOAP 1.1和1.2协议,并且能够很好地与其他标准兼容,如WSDL和UDDI等。它具有以下特点: 1. **简洁...
4. **配置XFire**:在项目中添加XFire的依赖库,然后创建一个配置文件(如`xfire-config.xml`),用于定义服务端点和服务绑定信息。 5. **发布服务**:使用XFire提供的API,将服务暴露为Web服务,发布到一个指定的...
2. **定义服务接口和实现**: 创建一个符合Java API for XML Web Services (JAXWS)规范的服务接口,然后实现该接口。服务接口定义了可供调用的Web方法。 3. **绑定接口到Spring Bean**: 在Spring配置文件中,通过`...
XFire通过XML绑定(XML Binding,如JAXB)和依赖注入(Dependency Injection,如Spring)等技术,为开发者提供了创建和消费Web服务的强大工具。 首先,我们来看标题中的"使用XFire实现SOAP的webservice数据传输源码...
XFire以其轻量级、高效和易于使用的特性,成为开发者在构建WebService时的一个优选。XFire支持多种协议,包括SOAP、RESTful风格的服务,以及JAXB、DOM、StAX等多种XML解析方式。XFire还集成了Spring框架,使得与企业...
XFire Webservice是一个基于Java的开源工具,它简化了创建、部署和消费Web服务的过程。在深入探讨这个完整实例之前,我们首先需要了解Web服务的基本概念。Web服务是一种通过网络进行通信的应用程序接口(API)。它们...
`xfire1.2.6`这个文件名可能是XFire的一个版本号,表示使用的是1.2.6版本的框架,这个版本可能包含了上述提及的一些核心功能和依赖。不过,随着技术的发展,XFire已经被Apache CXF所取代,后者提供了更多的功能和更...
4. **注册服务**: 在Spring配置文件中,使用`ServiceExporter`将服务接口及其实现绑定到一个特定的URL,这样XFire就能暴露这个服务。 5. **创建客户端**: Spring的`WebServiceTemplate`可以用来创建和发送SOAP请求...
支持将Web服务绑定到POJO、XMLBeans、JAXB1.1、JAXB2.0和Castor; 支持基于HTTP、JMS、XMPP等多种协议访问Web服务; 支持多种Web服务业界重要标准如SOAP、WSDL、Web服务寻址(WS-Addressing)、Web服务安全(WS-...
- XFire是一个轻量级的Web服务框架,它提供了简洁的API和易于使用的工具,使得开发者能够快速地创建和部署Web服务。 - 特点: - 简化的API和配置,降低开发复杂度。 - 优秀的性能,通过高效的XML解析和处理。 -...
Xfire Webservice是一个基于Java平台的服务框架,它允许开发者创建和使用Web服务。这个框架的主要目的是简化Web服务的开发过程,使开发人员可以快速地构建分布式应用程序。在本例中,我们将探讨Xfire Webservice与...
在本篇中,我们将聚焦于XFire,一个早期流行的Java WebService框架,用于构建和消费SOAP服务。 XFire,由Apache CXF的前身开发,是Java开发者创建高效、灵活的Web服务的一种工具。它提供了对SOAP、WSDL(Web服务...
XFire是Java平台上一个曾经流行的Web服务框架,它简化了创建、部署和消费Web服务的过程。本篇文章将深入探讨XFire在实现Web服务方面的原理、用法以及如何在服务器端和客户端进行简单的调用。 首先,让我们理解什么...
3. **客户端调用**:在客户端,你可以使用XFire的ClientProxyFactory来创建一个对服务的代理对象,通过这个代理对象调用远程Web服务就像调用本地方法一样简单。 4. **错误处理和异常转换**:XFire会自动处理Web服务...
1. **XFire简介**: XFire是基于Spring框架的,它提供了一个轻量级、高性能的SOAP引擎,使得Java对象能够方便地暴露为Web服务,并且可以消费其他Web服务。XFire通过XML绑定(如JAXB)和数据绑定框架(如Aegis)将Java...
标题中的“xfire webservice jar包”指的是XFire,一个早期流行的Java Web服务(Web Service)框架。在Java开发中,Web服务允许不同系统间的应用程序通过网络进行通信。XFire,现已被Apache CXF所取代,是实现这些...
下面我们将详细探讨XFire以及如何使用它来创建一个Web服务客户端。 1. **XFire简介** XFire是Apache CXF项目的前身,它提供了全面的Web服务支持,包括SOAP 1.1和1.2、WSDL(Web服务描述语言)、UDDI(统一描述、...