我是一个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中,我也试了!错误一样!
希望大家可以帮我一下,看看什么问题,给点意见!最好说的具体点,谢谢!
分享到:
相关推荐
spring+xfire( 编写webservice完整配置+案例)
xfire实现webservice实例,XFire WebService开发快速起步
Xfire Spring Hibernate 发布WebService(源码) Xfire1.2 Spring 2.0 Hibernate 3 发布WebService 一、准备工作 1、下载安装MyEclipse6.5 2、下载安装MySQL Server 5.1 3、下载MySQL驱动 mysql-connector-java...
xfire+spring+webservice xfire+spring+webservice xfire+spring+webservice xfire+spring+webservice
xfire+spring+webservice+client xfire+spring+webservice+client xfire+spring+webservice+client
XFire是Java实现WebService的一个框架,可以完成webservice服务的发布以及对发布接口的调用的全部jar包
xfire+spring开发webservice 很不错的文档
xfire框架构建webservice应用: (通过myeclipse自动生成代码,自动导入xfire jar包,需要用jdk5.0) 需要的jar包:xFire 1.2 Core Libraries/xFire 1.2 HTTP Client Libraries/xFire 1.2 JAXB2 Libraries
java使用XFire调用webService接口
本例子使用XFire发布WebService+XFire调用WebService-示例
xfire简单实例发布webservice,引用到2个jar包的简单例子
用XFire开发WebService Spring注解
使用xfire框架搭建的webService。主要有2个实例:SOAP Header中进行身份验证和WS-Security进行身份验证
MyEclipse下的Xfire Spring Hibernate 发布WebService
webservice教程(xfire+spring)webservice教程(xfire+spring)webservice教程(xfire+spring)webservice教程(xfire+spring)
webservice xfire整合spring(webservice配置采用注解),demo包含xfire 与spring整合的配置,客户端和服务端的代码,及jar包
NULL 博文链接:https://cdxs2.iteye.com/blog/1974525
使用xfire开发webservice的客户端需要的完整jar包,直接导入开放就可以用了。使用Xfire构建JAVA的webService全过程(从服务端到客户端)
一个基于xfire开发的Webservice小例子,初学者可以看看!
xfire,服务端和客户端实现 xfire调用webservice