2008-01-18
如何用xfire做一个webService用jaxb2绑定
关键字: webservice, jaxb2
我是一个SOA新学者,用xfire的jaxb2绑定做了一个例子,总是报错,也不清楚为什么了!
希望大家多给我一点意见,谢谢!
例子如下:
PO类:
Service Interface类:
Service Interface Implement类:
src\META-INF\xfire\services.xml:
web.xml:
报如下错误:
在xfire的官网上看好象还需要一个.xsd,然后再配到services.xml中,我也试了!错误一样!
希望大家可以帮我一下,看看什么问题,给点意见!最好说的具体点,谢谢!
希望大家多给我一点意见,谢谢!
例子如下:
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中,我也试了!错误一样!
希望大家可以帮我一下,看看什么问题,给点意见!最好说的具体点,谢谢!
- 16:29
- 浏览 (294)
- 评论 (5)
- 分类: soa,webservice
- 进入论坛
- 相关推荐
评论
yangpeihai
2008-06-11
谢谢。。。。你们的意见对我很有用。。。。
caroline12
2008-05-22
没有对数据进行初始化赋值吧
wangpx
2008-05-21
你这个问题解决了吗
我现在用这个也出现问题
我现在用这个也出现问题
peigen
2008-01-22
如果使用的是tomcat&jetty&resin请在web-inf同一级目录copy META-INF\xfire\services.xml
如果是weblogic请在web-inf/classes下copy META-INF\xfire\services.xml
如还未解决,请直接联系peigen_peigen @ 163.com
如果是weblogic请在web-inf/classes下copy META-INF\xfire\services.xml
如还未解决,请直接联系peigen_peigen @ 163.com
小笨熊
2008-01-18
哪怕是不成熟的意见也可以呀!大家一起研究下!
发表评论
提醒: 该博客已发表在公共论坛,博客所有留言会成为论坛回贴,留言请注意遵守论坛发贴规则
- 浏览: 6578 次
- 性别:

- 来自: 西安

- 详细资料
搜索本博客
最近加入圈子
最新评论
-
使用uddi4j连接juddi
org.uddi4j.transport.TransportException: ...
-- by boczj -
WebService的学习成长过程 ...
引用如果你的测试跟服务不是在同一贯饿应用下,你还可以在测试里 拿UserSer ...
-- by 小笨熊 -
WebService的学习成长过程 ...
你好,在你这两个里子中,你是否考虑到你的客户端测试的和你的服务端是在同一个应用下 ...
-- by xuewei -
如何用xfire做一个webSer ...
谢谢。。。。你们的意见对我很有用。。。。
-- by yangpeihai -
如何用xfire做一个webSer ...
没有对数据进行初始化赋值吧
-- by caroline12






评论排行榜