随笔-193  评论-715  文章-1  trackbacks-0

本Blog所有内容不得随意转载,版权属于作者所有。如需转载请与作者联系( fastzch@163.com )。
未经许可的转载,本人保留一切法律权益。
一直以来,发现有某些人完全不尊重我的劳动成果,随意转载,提醒一下那些人小心哪天惹上官司。

网上关于XFire入门的教程不少,要么是讲得很简单,就像Hello World一样的程序,要么就是通过IDE集成的工具来开发的,这对于不同的人群有诸多不便,关于XFire的一些详细的信息就不再多讲,可以参考官方网站和相关的文档,这里讲一个完整的入门实例。

实例中包括三个情况,我想基本上可以概括所有的需求,或者自己稍加扩展即可。先来看看我们的Interface。

 1 package  test;
 2
 3 import  java.util.List;
 4
 5 public   interface  IHelloService  {
 6      public  String sayHello(String ttt);
 7     
 8      public  Course choose(User u);
 9     
10      public  List  test(List t);
11 }
这其中包含了简单对象的传递,对象的传递,List的传递。

具体的开发步骤如下:
1、定义Web Service的接口,代码见上面的接口定义。

2、实现接口和业务逻辑,代码如下:
 1package test;
 2
 3import java.util.ArrayList;
 4import java.util.List;
 5
 6public class HelloServiceImpl implements IHelloService {
 7
 8    public String sayHello(String ttt) {
 9        return "Hello, "+ttt;
10    }

11    
12    public Course choose(User u){
13        System.out.println(u.getName());
14        Course c=new Course();
15        c.setName("Eee");
16        return c; 
17        
18    }

19    
20    public List  test(List t){
21        for (int i = 0; i < t.size(); i++{
22            System.out.println((String) t.get(i));
23        }

24        List  al=new ArrayList();
25        Course c=new Course();
26        c.setName("EeeDDDDDD");
27        al.add(c);
28        return al;
29        
30    }

31}
用到的User和Course两个类的代码如下:
 1package test;
 2
 3public class User {
 4    private String name;
 5
 6    public String getName() {
 7        return name;
 8    }

 9
10    public void setName(String name) {
11        this.name = name;
12    }

13}

14
 1package test;
 2
 3public class Course  {
 4    private String name;
 5
 6    public String getName() {
 7        return name;
 8    }

 9
10    public void setName(String name) {
11        this.name = name;
12    }

13
14}

3、编写XFire要求的WebSevice定义描述文件,如下:
 1<?xml version="1.0" encoding="UTF-8"?>
 2<beans xmlns="http://xfire.codehaus.org/config/1.0">
 3
 4    <service>
 5        <name>HelloService</name>
 6        <namespace>http://test/HelloService</namespace>
 7        <serviceClass>test.IHelloService</serviceClass>
 8        <implementationClass>test.HelloServiceImpl</implementationClass>
 9    </service>
10    
11</beans>
此文件放在src/META-INF/xfire/services.xml,编译时会自动编译到classes的相应目录下面。

最近有些朋友因使用Spring2.0以上版本时,会发生如下异常:
ERROR - Error initializing XFireServlet.
org.springframework.beans.factory.BeanDefinitionStoreException: Unrecognized xbean element mapping: beans in namespace http:
//xfire.codehaus.org/config/1.0
当出现如下异常时,请将此文件用如下内容替换:
 1<?xml version="1.0" encoding="UTF-8"?>
 2<beans>
 3    <service xmlns="http://xfire.codehaus.org/config/1.0"
 4        xmlns:s="http://www.springframework.org/schema/beans"
 5        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 6        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
 7        <name>HelloService</name>
 8        <namespace>http://test/HelloService</namespace>
 9        <serviceClass>test.IHelloService</serviceClass>
10        <implementationClass>test.HelloServiceImpl</implementationClass>
11    </service>
12</beans>
13

4、因为我们用到了List等集合类型,所以需要定义Mapping关系,文件名为:src/test/IHelloService.aegis.xml,代码如下:
1<?xml version="1.0" encoding="UTF-8"?>
2<mappings>
3    <mapping>
4        <method name="test">
5            <parameter index="0" componentType="java.lang.String" />
6            <return-type componentType="test.Course" />
7        </method>
8    </mapping>
9</mappings>
请注意,此文件一定要放到与IHelloService.java相同的目录下面,否则会出错。

5、在Web.xml中配置XFire需要用到的Servlet,代码如下:
 1<?xml version="1.0" encoding="UTF-8"?>
 2<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
 3    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
 5    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
 6
 7    <servlet>
 8        <servlet-name>XFireServlet</servlet-name>
 9        <servlet-class>
10            org.codehaus.xfire.transport.http.XFireConfigurableServlet
11        </servlet-class>
12    </servlet>
13
14    <servlet-mapping>
15        <servlet-name>XFireServlet</servlet-name>
16        <url-pattern>/servlet/XFireServlet/*</url-pattern>
17    </servlet-mapping>
18
19    <servlet-mapping>
20        <servlet-name>XFireServlet</servlet-name>
21        <url-pattern>/services/*</url-pattern>
22    </servlet-mapping>
23
24
25    <welcome-file-list>
26        <welcome-file>index.jsp</welcome-file>
27    </welcome-file-list>
28</web-app>


此时Web Service的服务端就开发完成了。
我们来看看客户端的代码吧,也很简单,如下:
 1package test;
 2
 3import java.net.MalformedURLException;
 4import java.util.ArrayList;
 5import java.util.List;
 6
 7import org.codehaus.xfire.XFireFactory;
 8import org.codehaus.xfire.client.XFireProxyFactory;
 9import org.codehaus.xfire.service.Service;
10import org.codehaus.xfire.service.binding.ObjectServiceFactory;
11
12public class Client {
13
14    public static void main(String[] args) {
15
16        Service srvcModel = new ObjectServiceFactory()
17                .create(IHelloService.class);
18        XFireProxyFactory factory = new XFireProxyFactory(XFireFactory
19                .newInstance().getXFire());
20
21        String helloWorldURL = "http://localhost:8080/xfiretest/services/HelloService";
22        try {
23            IHelloService srvc = (IHelloService) factory.create(srvcModel,
24                    helloWorldURL);
25            System.out.println(srvc.sayHello("Robin"));
26            
27            User u=new User();
28            u.setName("RRRRR");
29            Course c=srvc.choose(u);
30            System.out.println(c.getName());
31            
32            List  al=new ArrayList();
33            al.add("1212");
34            al.add("2222");
35            List t=srvc.test(al);
36            for (int i = 0; i < t.size(); i++{
37                Course co=(Course)t.get(i);
38                System.out.println(co.getName());
39            }

40            
41            
42        }
 catch (MalformedURLException e) {
43            e.printStackTrace();
44        }

45
46    }

47
48}

49

以上代码均无注释,因为都非常简单,呵呵。如有不清楚的地方,请留言!


关于使用XFire开发Web Service客户端的方法,可以参考我的另一篇文章《使用XFire开发Web Service客户端完整入门教程》。
posted on 2008-01-03 17:53 Robin's Programming World 阅读(90435) 评论(130)  编辑  收藏 所属分类: Java
评论共2页: 1 2 下一页 

评论:
# re: XFire完整入门教程 2008-08-15 17:27 | gulu
我按照robin的方法,服务端正常可以显示wsdl
但客户端执行结果:
Exception in thread "main" java.lang.NoSuchMethodError: org.apache.commons.httpclient.params.HttpConnectionManagerParams.setDefaultMaxConnectionsPerHost(I)V
at org.codehaus.xfire.transport.http.CommonsHttpMessageSender.createClient(CommonsHttpMessageSender.java:230)
at org.codehaus.xfire.transport.http.CommonsHttpMessageSender.open(CommonsHttpMessageSender.java:129)
at org.codehaus.xfire.transport.http.HttpChannel.sendViaClient(HttpChannel.java:121)
at org.codehaus.xfire.transport.http.HttpChannel.send(HttpChannel.java:48)
at org.codehaus.xfire.handler.OutMessageSender.invoke(OutMessageSender.java:26)
at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
at org.codehaus.xfire.client.Invocation.invoke(Invocation.java:79)
at org.codehaus.xfire.client.Invocation.invoke(Invocation.java:114)
at org.codehaus.xfire.client.Client.invoke(Client.java:336)
at org.codehaus.xfire.client.XFireProxy.handleRequest(XFireProxy.java:77
)
at org.codehaus.xfire.client.XFireProxy.invoke(XFireProxy.java:57)
at $Proxy0.echoHello(Unknown Source)
at test.main(test.java:27)
  回复  更多评论
  
# re: XFire完整入门教程[未登录] 2008-08-21 11:07 | rain
这个官的太好了,我找了一本书对着做,总是做不出来,但是看了你的明白是什么意思了,谢谢您的提供啊!!!  回复  更多评论
  
# re: XFire完整入门教程 2008-08-21 22:33 | Robin's Java World
@rain
不客气,能帮上你我就觉得很高兴了。  回复  更多评论
  
# re: XFire完整入门教程 2008-08-22 16:32 | MM
太谢谢了  回复  更多评论
  
# re: XFire完整入门教程 2008-08-22 16:35 | MM
先看看,再研究CXF
呵呵  回复  更多评论
  
# re: XFire完整入门教程 2008-08-26 18:41 | Robin's Java World
@MM
不客气。
XFire与CXF实际上还是存在不少差异的。  回复  更多评论
  
# re: XFire完整入门教程 2008-09-03 11:30 | syzdcs
感谢,很受用.楼主能不能再加上一个返回文件的例子啊  回复  更多评论
  
# re: XFire完整入门教程 2008-09-05 11:24 | Robin's Java World
@syzdcs
不客气。返回文件的例子是什么意思呀?能不能把你的需求说详细点?  回复  更多评论
  
# re: XFire完整入门教程 2008-09-10 16:32 | Hilly
3个疑问:
a.IHelloService.aegis.xml这个文件放好了,不需要在哪里配置这是谁的配置文件吗?
b.我的客户端是另一个项目的C/S架构的,我要准备服务器端同样的接口吗?就是说客户端和服务器端都要有IHelloService.java文件,是吗?
c.客户端和服务器端都要有User和Couser类吗?我都有了,可是传过去的和返回的都是没有赋值的,System.out.println(c.getName());
System.out.println(u.getName());输出都是null,但c和u不是null。
是什么问题呢?谢谢1  回复  更多评论
  
# re: XFire完整入门教程 2008-09-11 15:14 | Robin's Java World
@Hilly
a,不需要。
b,请问你CS架构的客户端是采用什么语言开发的?至于是否需要接口,你可以看我的另一篇专门讲开发客户端的文章,地址为:http://www.blogjava.net/fastzch/archive/2008/08/28/225439.html
c,目前不清楚你客户端的实现,所以不好具体定位。要看你的客户端使用什么框架,很有可能是因为Style和use两个属性的不匹配引起的值为空。  回复  更多评论
  
# re: XFire完整入门教程 2008-09-12 14:11 | Hilly
@Robin's Java World
谢谢你这么快就回复了。
关于b,我是用java.
关于c,客户端我简化到只有main 函数的类,也还是问题依旧。我不知道你说的Style和use是哪里的两个属性,还是笔误。

在回复上面几行之前,我再次用2个新项目做了测试, 终于通过了,我的错误在于2个项目中User和Course的包结构不一样,比如一个项目用com.anzhixin.bean.User,另一个项目用test.User,就会出现我这种问题。难道不同项目之间的bean要搞同样的包结构吗,真的太让人疯了?只帮我确认这个问题就可以了。  回复  更多评论
  
# re: XFire完整入门教程 2008-09-12 14:52 | Robin's Java World
@Hilly
b,用Java开发,假如你也有XFire实现的话,可以看我的相关的文章,地址上面已经给你了。如果用其它的框架,可以参考相关的文件。
c,关于Style和use的使用,我想你可能需要了解一下Web Service的基础,我就曾经在用CXF开发的客户端调用XFire开发的服务端时,发生过因Style使用的问题而无法传递参数。Style分为RPC和Document两种,决定了调用的方式,use分为Literal和Encode两种,决定了内容的编码方式更多的内容可以参考SOAP规范等资料。

关于包结构的问题,实际上并不存在这样的问题,你可以根据自己的需要来命名包,只要对象的属性相同即可。  回复  更多评论
  
# re: XFire完整入门教程 2008-10-14 11:18 | 狮子
@Robin's Java World
麻烦请教个问题:
你在客户端程序的 17 行 有 IHelloService.class
请问 这个 IHelloService 这个类是从那里来的呢?wsdl 生成的客户端类里我找不到这类,请多多指教 谢谢  回复  更多评论
  
# re: XFire完整入门教程 2008-10-14 11:46 | Robin's Java World
@狮子
IHelloService 就是文章中讲的第一个interface。
如果你在一个新的工程里,可以把这个文件Copy过去,也可以用其它的方式根据WSDL生成这个Class。
具体的Client的开发,可以参考我的另一篇文章,那里面有详细的描述。地址为:
http://www.blogjava.net/fastzch/archive/2008/08/28/225439.html   回复  更多评论
  
# re: XFire完整入门教程 2008-10-16 15:13 | perry1103
这样配置services.xml会有问题,路径不对
应该是:在项目的WebContent/ META-INF目录下面新建一个xfire文件夹,把services.xml文件放到这个新建文件夹里。最后再把META-INF文件夹整个移到WebContent/ WEB-INF目录下  回复  更多评论
  
# re: XFire完整入门教程 2008-11-19 09:13 | dreadbird
谢谢楼主!很有研究精神
想问一个问题:所创建的类:User和Course 是放在服务器端的,在客户端代码中同样,你new了两个对象,请问,你在new对象的时候,如何获得该类路径?难道在客户端也必须要创建这两个bean?  回复  更多评论
  
# re: XFire完整入门教程[未登录] 2008-12-09 11:26 | aa
靠还法律责任,真把自己当小白菜了!要给杨乃伍打官司!
好像有点把自己看的太高了!  回复  更多评论
  
# re: XFire完整入门教程 2008-12-12 13:58 | ring
web.xml,services.xml都配置过了,
但是有报错:
Servlet XFireServlet is not available
急盼答案......

  回复  更多评论
  
# re: XFire完整入门教程 2008-12-26 20:53 | Yvon
总结的很好,谢谢啦,不知道博主有没有讲CFX的介绍,期待  回复  更多评论
  
# re: XFire完整入门教程 2008-12-29 12:11 | Robin's Java World
@ring
是不是没有正确的配置lib?
@Yvon
不客气,有此想法,敬请期待!  回复  更多评论
  
# 客户端自定义对象传String可以,为什么传Int型和boolean类型不行 2009-01-14 09:56 | ZLZ
客户端自定义对象传String可以,为什么传Int型和boolean类型不行!楼主帮我下,问题解决请将答案发至zlz811106@163.com,万分感谢  回复  更多评论
  
# re: XFire完整入门教程 2009-01-15 16:36 | 完全不懂XFIRE
在开发服务端的过程中,实体类和接口和实现在不同包结构下,此时生成的客户端传递复杂参数给服务端,服务端获得参数不为空,但是get属性的时候为null.如果实体类和接口,实现类放在同一个包中,则不出现此问题.

但是在实际的应用中实体类和接口类,实现类是在不同包结构中的,应该怎么解决?急盼楼主答复,谢谢.  回复  更多评论
  
# re: XFire完整入门教程 2009-01-15 16:41 | 完全不懂XFIRE
与 Hilly 所提出的C问题一样.经过确定是与包结构有关.如何保证实体类和接口类,实现类在同一个命名空间下?  回复  更多评论
  
# re: XFire完整入门教程 2009-03-07 21:53 | wqyang
所创建的类:User和Course 是放在服务器端的,在客户端代码中同样,你new了两个对象,请问,你在new对象的时候,如何获得该类路径?难道在客户端也必须要创建这两个bean?
这同样是我遇到的问题,如果是在跨平台的情况下,如何将WSDL中的参数结构映射到客户端,生成客户端相应的bean.是否有相应工具?
谢谢解答。  回复  更多评论
  
# re: XFire完整入门教程 2009-03-07 21:55 | wqyang
或者这样说,在服务端将他的服务开发好后,为了使所有客户端都可以调用本服务,在提供WSDL的情况下,还需要将所有用到的参数bean一起发布到Web Service Registry或UDDI吗?  回复  更多评论
  
# re: XFire完整入门教程 2009-03-08 03:08 | Robin's Java World
@wqyang
客户端当然也要这两个Class.
你可以参考我专门针对XFire写的客户端开发教程:
http://www.blogjava.net/fastzch/archive/2008/08/28/225439.html  回复  更多评论
  
# re: XFire完整入门教程 2009-03-13 16:13 | hfut_hfut
如果,我的数据类型定义在xsd文件中,那客户端怎么办呢???  回复  更多评论
  
# re: XFire完整入门教程 2009-03-17 22:41 | Robin's Java World
@hfut_hfut
可以根据XSD生成POJO。  回复  更多评论
  
# re: XFire完整入门教程 2009-03-19 14:47 | wumingshi
@Robin's Java World
你这里Client是和前面代码放在同一个包下,实际开发中肯定是分离不同的工程嘛
Client中出现了IHelloService,User,Course等未知类编译都通不过,咋整?  回复  更多评论
  
# re: XFire完整入门教程 2009-03-19 17:00 | Robin's Java World
@wumingshi
直接把类COPY过去就可以了。  回复  更多评论
  
# re: XFire完整入门教程 2009-03-31 16:10 | liang
楼主真是个热心人,我也从您的文章中受益匪浅。
想向您确认下,org.w3c.dom.Document类型是不需要写aegis映射文件的吧?
报错为
***************************
rg.codehaus.xfire.handler.DefaultFaultHandler invoke
严重: Fault occurred!
java.lang.IllegalArgumentException: object is not an instance of declaring class
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.codehaus.xfire.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:59)
at org.codehaus.xfire.service.invoker.ObjectInvoker.invoke(ObjectInvoker.java:45)
at org.codehaus.xfire.service.binding.ServiceInvocationHandler.sendMessage(ServiceInvocationHandler.java:320)
at org.codehaus.xfire.service.binding.ServiceInvocationHandler$1.run(ServiceInvocationHandler.java:86)
at org.codehaus.xfire.service.binding.ServiceInvocationHandler.execute(ServiceInvocationHandler.java:134)
at org.codehaus.xfire.service.binding.ServiceInvocationHandler.invoke(ServiceInvocationHandler.java:109)
at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
at org.codehaus.xfire.transport.DefaultEndpoint.onReceive(DefaultEndpoint.java:64)
at org.codehaus.xfire.transport.AbstractChannel.receive(AbstractChannel.java:38)
at org.codehaus.xfire.transport.http.XFireServletController.invoke(XFireServletController.java:304)
at org.codehaus.xfire.transport.http.XFireServletController.doService(XFireServletController.java:129)
at org.codehaus.xfire.transport.http.XFireServlet.doPost(XFireServlet.java:116)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
*********************************
可能是客户端传递参数有问题,但是又不能确定,因为客户端函数就只传递了一个String对象而已。  回复  更多评论
  
# re: XFire完整入门教程 2009-04-02 11:36 | sss
客户端跟Web Service的服务端写在同一个项目中,调用很容易。但是如果我要在另一个项目中调用Web Service的服务端,如果客户端还是写成Service srvcModel = new ObjectServiceFactory() .create(IHelloService.class);就报错了,原因是IHelloService.class不存在,因为不在同一个项目中。这个问题又如何解决呢?
  回复  更多评论
  
# re: XFire完整入门教程 2009-04-02 14:42 | Robin's Java World
@sss
另一个项目中直接把IHelloService这个类Copy过去就可以了。
关于使用XFire开发Web Service客户端的方法,可以参考我的另一篇文章《使用XFire开发Web Service客户端完整入门教程》。 见:
http://www.blogjava.net/fastzch/archive/2008/08/28/225439.html  回复  更多评论
  
# re: XFire完整入门教程 2009-04-02 14:43 | Robin's Java World
@liang
不用写Aegis配置文件,请检查一下你每一步是否正确。估计是你哪里配置有问题。  回复  更多评论
  
# re: XFire完整入门教程 2009-04-02 16:12 | sss
谢谢,我试试看。我的客户端是用xfire的插件创建的,能访问,但是我遇到了一个问题,就是我在服务器添加了一个方法是从数据库读数据的,然后返回一个list给客户端,在客户端读取这个list的值的时候,值不能正常显示,而是显示javax.xml.bind.JAXBElement@fb65cc这种形式的值。想了一整天了,还没想到怎么能让他正常显示。唉....  回复  更多评论
  
# re: XFire完整入门教程 2009-04-10 15:33 | @gong_max
@sss
使用getvalue方法.
你或者把自动生成的对象使用服务端的对象完全代替
  回复  更多评论
  
# re: XFire完整入门教程 2009-04-15 15:05 | 005
我也是新近学的wenservices,在ssh和xfire整合的时候总是报出这个错误,用eclipse生成web services client时检测服务无法启动,对应网页也打不开,但是我直接搭建webservices时没有对应错误,一切都正常,请问下时为什么,谢谢~
java.lang.NoSuchMethodError: org.springframework.beans.factory.xml.XmlBeanDefinitionReader.setValidationMode(I)V
at org.apache.xbean.spring.context.v2.XBeanXmlBeanDefinitionReader.<init>(XBeanXmlBeanDefinitionReader.java:58)  回复  更多评论
  
# re: XFire完整入门教程 2009-04-17 01:54 | Robin's Java World
@005
可能是由于包的版本不太对的原因。
  回复  更多评论
  
# re: XFire完整入门教程 2009-04-17 09:21 | 005
@Robin's Java World
有没有spring与xfire结合的书或视频推荐下,3Q了。PS:springside网页上的例子连接怎么总是无法显示啊。  回复  更多评论
  
# re: XFire完整入门教程 2009-04-20 11:15 | 005
@Robin's Java World
恩,架包asm.jar和asm-2.2.3.jar有冲突,删除asm-2.2.3.jar后问题解决,搞了2天累的头发都少了不少,挣点钱不容易啊。  回复  更多评论
  
# re: XFire完整入门教程 2009-05-04 14:38 | GMC
大哥都需要导入什么jar啊?!! 这个比较关键吧.代码...在哪都能找到~~
javax.servlet.ServletException: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'xfire.typeMappingRegistry' defined in class path resource [org/codehaus/xfire/spring/xfire.xml]: Initialization of bean failed; nested exception is java.lang.NoClassDefFoundError: null


我总是报这个错误! 怎么解决啊?  回复  更多评论
  
# re: XFire完整入门教程 2009-05-31 13:55 | 分享爱的空间
能详细讲一下IHelloService.aegis.xml的配置文件中的对应关系式如何体现的?怎么看不出list对象。  回复  更多评论
  
# re: XFire完整入门教程 2009-07-17 14:07 | jzl_root
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/httpclient/Credentials
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
at java.lang.Class.getConstructor0(Unknown Source)
at java.lang.Class.getConstructor(Unknown Source)
at org.codehaus.xfire.transport.http.HttpChannel.sendViaClient(HttpChannel.java:108)
at org.codehaus.xfire.transport.http.HttpChannel.send(HttpChannel.java:48)
at org.codehaus.xfire.handler.OutMessageSender.invoke(OutMessageSender.java:26)
at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
at org.codehaus.xfire.client.Invocation.invoke(Invocation.java:79)
at org.codehaus.xfire.client.Invocation.invoke(Invocation.java:114)
at org.codehaus.xfire.client.Client.invoke(Client.java:336)
at org.codehaus.xfire.client.XFireProxy.handleRequest(XFireProxy.java:77)
at org.codehaus.xfire.client.XFireProxy.invoke(XFireProxy.java:57)
at $Proxy0.sayHello(Unknown Source)
at test.Client.main(Client.java:23)

求求楼主指点一二  回复  更多评论
  
# re: XFire完整入门教程 2009-07-17 14:15 | 分享爱的空间
@jzl_root
你应该是缺少了commons-httpclient-3.1.jar包,
下一个吧,
另外还要下commons-codec-1.3.jar和commons-logging-1.1.jar
这两个是commons-httpclient-3.1.jar依赖的jar包  回复  更多评论
  
# re: XFire完整入门教程 2009-07-17 14:23 | jzl_root
非常感谢楼主的帖子
@jzl_root
xfire的包导少了  回复  更多评论
  
# re: XFire完整入门教程[未登录] 2009-08-14 14:55 | 菜鸟
好文章,能介绍一下xfire访问asmx的文章吗?还有就是xfire和axis哪一个性能更好呢?  回复  更多评论
  
# re: XFire完整入门教程 2009-08-17 16:38 | hello
webservice最大的好处就是基于Http协议,跨平台,跨开发语言
客户端都可以不用java开发,所以当然可以没有那两个类的定义
通用的开发方式是
xml+webservice  回复  更多评论
  
# re: XFire完整入门教程[未登录] 2009-09-12 14:09 | pp
废话连篇我还不知在那里下载XFire包  回复  更多评论
  
# re: XFire完整入门教程 2009-09-13 22:57 | 丁国华
麻烦您帮我解决一下这问题呵,Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/stream/XMLStreamReader
at org.codehaus.xfire.soap.SoapTransportHelper.<clinit>(SoapTransportHelper.java:24)
at org.codehaus.xfire.transport.local.LocalTransport.<init>(LocalTransport.java:33)
at org.codehaus.xfire.transport.DefaultTransportManager.initialize(DefaultTransportManager.java:47)
at org.codehaus.xfire.DefaultXFire.<init>(DefaultXFire.java:38)
at org.codehaus.xfire.XFireFactory.<init>(XFireFactory.java:36)
at org.codehaus.xfire.XFireFactory.newInstance(XFireFactory.java:61)
at org.codehaus.xfire.service.binding.ObjectServiceFactory.<init>(ObjectServiceFactory.java:112)
at test.Client.main(Client.java:14)  回复  更多评论
  
# re: XFire完整入门教程 2009-09-14 00:33 | Robin's Java World
@丁国华
你缺少XFire需要的第三方lib,请把Lib都加进去。
  回复  更多评论
  
# re: XFire完整入门教程 2009-10-18 16:00 | 我在学习
先从入门开始学起  回复  更多评论
  
# re: XFire完整入门教程 2009-11-02 08:39 | 好垃圾
写的真垃圾  回复  更多评论
  
# re: XFire完整入门教程 2009-11-11 10:13 | 学习中
org.codehaus.xfire.XFireRuntimeException: Cannot create mapping for java.util.List, unspecified component type for return type of method getFailed in interface  回复  更多评论
  
# re: XFire完整入门教程 2009-11-11 10:14 | 学习中
@学习中
高手们帮我看看 怎么解决 我配置了那个 aegis.xml 文件了  回复  更多评论
  
# re: XFire完整入门教程 2009-12-10 10:24 | laserdance
有几个问题想请教一下
1 xfire客户端传一个map对象,aegis.xml里具体要怎么写?
2 我的客户端如果传的是map对象,但是服务端接口的入参写的是string,这样的话map传过来会自动变成string数组,但是axis客户端调用xfire的服务端,直接传map,服务端不认识,要写成map.toString()才能在服务端看到这个String数组,请问两种方式是不是不兼容?
PS;我用的是动态代理生成客户端  回复  更多评论
  
# re: XFire完整入门教程 2010-01-14 11:45 | 梦源
多谢啊!  回复  更多评论
  
# re: XFire完整入门教程 2010-02-01 10:38 | XFire
不错的东西,谢谢!  回复  更多评论
  
# re: XFire完整入门教程 2010-03-02 14:48 | pecal
我在src下建立了meta-inf/xfire,把services.xml放到这个目录下了,编译后这个目录有,但是services.xml确没有,还有楼主能不能介绍下如果进行测试..  回复  更多评论
  
# re: XFire完整入门教程 2010-04-12 11:50 | zls
@milo
请问你具体是如何解决的呢?删除jar文件吗?  回复  更多评论
  
# XXX[未登录] 2010-06-07 15:25 | Robin's Java World
你没有回答好ring的问题;;!!!!说清楚点  回复  更多评论
  
# re: XFire完整入门教程 2010-08-31 16:54 | cck
你好,我是用eclipse开发的,我部署并启动tomcat后访问:http://localhost:8080/HelloWorld/?wsdl/services没有出现任何信息,是不是说我的这个web services 是创建成功的?
还有就是运行Client中main方法出现下面的错误
Exception in thread "main" java.lang.NoClassDefFoundError: javax/wsdl/WSDLException
at test.Client.main(Client.java:19)
Caused by: java.lang.ClassNotFoundException: javax.wsdl.WSDLException
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
... 1 more
麻烦有时间帮忙看看  回复  更多评论
  
# re: XFire完整入门教程 2010-08-31 17:17 | cck
@cck
不好意思,上面弄错了,访问http://localhost:8080/HelloWorld/services?wsdl出现下面的错误
严重: Allocate exception for servlet XFireServlet
java.lang.ClassNotFoundException: org.springframework.web.context.support.GenericWebApplicationContext
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1645)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1491)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)......
  回复  更多评论
  
# re: XFire完整入门教程 2010-11-09 15:39 | 璇璇
急!!热心的楼主,麻烦您帮我看看,我部署完,启动tomcat出现下面的错误该怎么办呗?

严重: Parse error in application web.xml file at jndi:/localhost/XFire/WEB-INF/w
eb.xml
java.io.UTFDataFormatException: Invalid byte 1 of 1-byte UTF-8 sequence.  回复  更多评论
  
# re: XFire完整入门教程 2010-11-12 09:36 | Robin's Java World
@璇璇
看起来,是你的web.xml文件编码有问题,请检查一下。

@cck
你应该是差Spring的包。  回复  更多评论
  
# re: XFire完整入门教程 2010-11-14 11:39 | chaowang
LZ,你的service.xml好像没用到,怎么回事?不要在哪里引用这个文件吗。。。。。  回复  更多评论
  
# re: XFire完整入门教程 2010-12-12 18:53 | 陈仕贤
感谢楼主,帮我解决了问题  回复  更多评论
  
# re: XFire完整入门教程 2010-12-15 21:29 | jesn
我工程里面的包都引用的xfire-distribution-1.2.6\xfire-1.2.6\lib中的包.为什么部署老报下面的错误?什么问题?在myeclipse里面建了几个工程部署都同一个问题...
<2010-12-15 下午01时28分15秒 GMT> <Warning> <HTTP> <BEA-101248> <[Application: 'D:\ZTE-Project\IomSource\JuneService', Module: 'June']: Deployment descriptor "web.xml" is malfor
med. Check against the DTD: org.xml.sax.SAXParseException: cvc-elt.1: Cannot find the declaration of element 'web-app'. (line 2, column 221).>
<2010-12-15 下午01时28分17秒 GMT> <Error> <HTTP> <BEA-101216> <Servlet: "XFireServlet" failed to preload on startup in Web application: "June".
javax.servlet.ServletException: org/apache/commons/logging/LogFactory
at weblogic.servlet.internal.ServletStubImpl.createServlet()Ljavax/servlet/Servlet;(ServletStubImpl.java:985)
at weblogic.servlet.internal.ServletStubImpl.createInstances()V(ServletStubImpl.java:949)
at weblogic.servlet.internal.ServletStubImpl.prepareServlet(Lweblogic/servlet/internal/RequestCallback;)V(ServletStubImpl.java:888)
at weblogic.servlet.internal.WebAppServletContext.preloadServlet(Ljava/lang/String;)V(WebAppServletContext.java:3430)
at weblogic.servlet.internal.WebAppServletContext.preloadServlets(Ljava/util/Vector;)V(WebAppServletContext.java:3387)  回复  更多评论
  
# re: XFire完整入门教程[未登录] 2010-12-15 21:32 | 月光
我工程里面的包都引用的xfire-distribution-1.2.6\xfire-1.2.6\lib中的包.为什么部署老报下面的错误?什么问题?在myeclipse里面建了几个工程部署都同一个问题...
javax.servlet.ServletException: org/codehaus/xfire/transport/http/XFireConfigurableServlet
at weblogic.servlet.internal.ServletStubImpl.createServlet()Ljavax/servlet/Servlet;(ServletStubImpl.java:985)
at weblogic.servlet.internal.ServletStubImpl.createInstances()V(ServletStubImpl.java:949)
at weblogic.servlet.internal.ServletStubImpl.prepareServlet(Lweblogic/servlet/internal/RequestCallback;)V(ServletStubImpl.java:888)
at weblogic.servlet.internal.WebAppServletContext.preloadServlet(Ljava/lang/String;)V(WebAppServletContext.java:3430)
at weblogic.servlet.internal.WebAppServletContext.preloadServlets(Ljava/util/Vector;)V(WebAppServletContext.java:3387)
at weblogic.servlet.internal.WebAppServletContext.preloadServlets()V(WebAppServletContext.java:3373)
at weblogic.servlet.internal.WebAppServletContext.preloadResources()V(WebAppServletContext.java:3356)
at weblogic.servlet.internal.WebAppServletContext.setStarted(Z)V(WebAppServletContext.java:6208)
at weblogic.servlet.internal.WebAppModule.start()V(WebAppModule.java:864)
at weblogic.j2ee.J2EEApplicationContainer.start([Lweblogic/j2ee/J2EEApplicationContainer$Component;)V(J2EEApplicationContainer.java:2134)
at weblogic.j2ee.J2EEApplicationContainer.activate([Lweblogic/management/configuration/ComponentMBean;)V(J2EEApplicationContainer.java:2175)
at weblogic.management.deploy.slave.SlaveDeployer$ComponentActivateTask.activateContainer()V(SlaveDeployer.java:2520)  回复  更多评论
  
# re: XFire完整入门教程[未登录] 2011-01-05 15:13 | wxh
我按照你上面做了,出了这个错误。不知道怎么办

javax.servlet.ServletException: Error initializing XFireServlet.
org.codehaus.xfire.transport.http.XFireServlet.init(XFireServlet.java:52)
javax.servlet.GenericServlet.init(GenericServlet.java:212)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
java.lang.Thread.run(Thread.java:619)


root cause

java.lang.IllegalStateException: Could not find valid implementation for: 2.0
org.apache.xbean.spring.context.impl.XBeanHelper.createBeanDefinitionReader(XBeanHelper.java:48)
org.codehaus.xfire.spring.XFireConfigLoader.getXFireApplicationContext(XFireConfigLoader.java:74)
org.codehaus.xfire.spring.XFireConfigLoader.loadContext(XFireConfigLoader.java:41)
org.codehaus.xfire.transport.http.XFireConfigurableServlet.loadConfig(XFireConfigurableServlet.java:86)
org.codehaus.xfire.transport.http.XFireConfigurableServlet.createXFire(XFireConfigurableServlet.java:54)
org.codehaus.xfire.transport.http.XFireServlet.init(XFireServlet.java:45)
javax.servlet.GenericServlet.init(GenericServlet.java:212)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
java.lang.Thread.run(Thread.java:619)


root cause

java.lang.reflect.InvocationTargetException
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
java.lang.reflect.Constructor.newInstance(Constructor.java:513)
org.apache.xbean.spring.context.impl.XBeanHelper.createBeanDefinitionReader(XBeanHelper.java:46)
org.codehaus.xfire.spring.XFireConfigLoader.getXFireApplicationContext(XFireConfigLoader.java:74)
org.codehaus.xfire.spring.XFireConfigLoader.loadContext(XFireConfigLoader.java:41)
org.codehaus.xfire.transport.http.XFireConfigurableServlet.loadConfig(XFireConfigurableServlet.java:86)
org.codehaus.xfire.transport.http.XFireConfigurableServlet.createXFire(XFireConfigurableServlet.java:54)
org.codehaus.xfire.transport.http.XFireServlet.init(XFireServlet.java:45)
javax.servlet.GenericServlet.init(GenericServlet.java:212)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
java.lang.Thread.run(Thread.java:619)


root cause

java.lang.NoSuchMethodError: org.springframework.beans.factory.xml.XmlBeanDefinitionReader.setValidationMode(I)V
org.apache.xbean.spring.context.v2.XBeanXmlBeanDefinitionReader.<init>(XBeanXmlBeanDefinitionReader.java:58)
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
java.lang.reflect.Constructor.newInstance(Constructor.java:513)
org.apache.xbean.spring.context.impl.XBeanHelper.createBeanDefinitionReader(XBeanHelper.java:46)
org.codehaus.xfire.spring.XFireConfigLoader.getXFireApplicationContext(XFireConfigLoader.java:74)
org.codehaus.xfire.spring.XFireConfigLoader.loadContext(XFireConfigLoader.java:41)
org.codehaus.xfire.transport.http.XFireConfigurableServlet.loadConfig(XFireConfigurableServlet.java:86)
org.codehaus.xfire.transport.http.XFireConfigurableServlet.createXFire(XFireConfigurableServlet.java:54)
org.codehaus.xfire.transport.http.XFireServlet.init(XFireServlet.java:45)
javax.servlet.GenericServlet.init(GenericServlet.java:212)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
java.lang.Thread.run(Thread.java:619)




  回复  更多评论
  
# re: XFire完整入门教程[未登录] 2011-01-12 11:27 |
真的很不错,谢谢!  回复  更多评论
  
# re: XFire完整入门教程 2011-01-25 22:43 | notcool
记得通过spring好像可以将普通method导出为webservice,不需要定义接口。  回复  更多评论
  
# re: XFire完整入门教程 2011-03-18 13:39 | luohong
very good,learn a lot  回复  更多评论
  
# re: XFire完整入门教程 2011-04-02 22:52 | Robin's Java World
@notcool
你说得很对。

@wxh
包不对。  回复  更多评论
  
# re: XFire完整入门教程 2011-04-02 22:52 | Robin's Java World
@chaowang
这个文件会自动被Xfire引用。  回复  更多评论
  
# 急求帮助 2011-04-24 18:51 | 调调儿
严重: Error initializing XFireServlet.
org.springframework.beans.factory.BeanDefinitionStoreException: Unrecognized Spring element: beans
at org.apache.xbean.spring.context.v1.XBeanXmlBeanDefinitionParser.parseBeanFromExtensionElement(XBeanXmlBeanDefinitionParser.java:181)
at org.apache.xbean.spring.context.v1.XBeanXmlBeanDefinitionParser.parseBeanDefinitions(XBeanXmlBeanDefinitionParser.java:807)
at org.springframework.beans.factory.xml.DefaultXmlBeanDefinitionParser.registerBeanDefinitions(DefaultXmlBeanDefinitionParser.java:191)
at org.apache.xbean.spring.context.v1.XBeanXmlBeanDefinitionReader.registerBeanDefinitions(XBeanXmlBeanDefinitionReader.java:78)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:223)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:173)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:148)
at org.codehaus.xfire.spring.XFireConfigLoader.getXFireApplicationContext(XFireConfigLoader.java:103)
at org.codehaus.xfire.spring.XFireConfigLoader.loadContext(XFireConfigLoader.java:41)
at org.codehaus.xfire.transport.http.XFireConfigurableServlet.loadConfig(XFireConfigurableServlet.java:86)
at org.codehaus.xfire.transport.http.XFireConfigurableServlet.createXFire(XFireConfigurableServlet.java:54)
at org.codehaus.xfire.transport.http.XFireServlet.init(XFireServlet.java:45)
at javax.servlet.GenericServlet.init(GenericServlet.java:212)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1172)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:808)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:129)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
2011-4-24 18:42:26 org.apache.catalina.core.StandardWrapperValve invoke  回复  更多评论
  
# re: XFire完整入门教程 2011-06-30 01:11 | Robin's Java World
@调调儿
你是发布到什么容器里?一般发布到WAS会遇到这样的问题,所以你得找到一个合适的spring版本的XML配置头,因为WAS自己内部引用的包可能与Spring的某些包有冲突,根据你自己的版本都试试吧。
  回复  更多评论
  
# re: XFire完整入门教程 2011-08-30 10:22 | xufeng52645264
你能在另外一个web project (不是web service project)的jsp中的java小脚本<% %>中调用这个web service吗?  回复  更多评论
  
# re: XFire完整入门教程 2011-08-30 16:02 | xufeng52645264
我新建一个web project (不是web service project),并向其中导入xfire相应的库,的该web project中新建一个jsp页面,我想在jsp页面的java小脚本<% %>中调用这个web service,或者 是在servlet中调用这个web service但试了很久一直不能成功,像你这样用带main函数的java类我也能实现调用,但在jsp中和servlet中就不行,说是找不到org.codehaus.xfire.client.Client这个类,但xfire的所有库都是已经导入了的,这是怎么回事呢?在jsp和servlet 能调用web service不能?  回复  更多评论
  
# re: XFire完整入门教程 2011-09-06 23:04 | 开拖拉机的老虎
@Robin's Java World
客户机和服务机总是相对的,xfire的这种简单使用,同构的是挺方便的,异构的只有其他方式了  回复  更多评论
  
# re: XFire完整入门教程 2011-10-10 14:25 | lynn83
这个问题是什么引起的,是包冲突么?
org.w3c.dom.DOMException: `null' prefix expects a namespace uri
at com.caucho.xml.QDocument.createAttributeNS(QDocument.java:440)
at com.caucho.xml.QAttributedNode.setAttributeNS(QAttributedNode.java:178)
at org.apache.xbean.spring.context.v1.XBeanXmlBeanDefinitionParser.parseBeanFromExtensionElement(XBeanXmlBeanDefinitionParser.java:152)
at org.apache.xbean.spring.context.v1.XBeanXmlBeanDefinitionParser.parseBeanFromExtensionElement(XBeanXmlBeanDefinitionParser.java:176)
at org.apache.xbean.spring.context.v1.XBeanXmlBeanDefinitionParser.parseBeanDefinitions(XBeanXmlBeanDefinitionParser.java:807)
at org.springframework.beans.factory.xml.DefaultXmlBeanDefinitionParser.registerBeanDefinitions(DefaultXmlBeanDefinitionParser.java:191)
at org.apache.xbean.spring.context.v1.XBeanXmlBeanDefinitionReader.registerBeanDefinitions(XBeanXmlBeanDefinitionReader.java:78)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:223)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:173)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:148)
at org.codehaus.xfire.spring.XFireConfigLoader.getXFireApplicationContext(XFireConfigLoader.java:103)
at org.codehaus.xfire.spring.XFireConfigLoader.loadContext(XFireConfigLoader.java:41)
at org.codehaus.xfire.transport.http.XFireConfigurableServlet.loadConfig(XFireConfigurableServlet.java:86)
at org.codehaus.xfire.transport.http.XFireConfigurableServlet.createXFire(XFireConfigurableServlet.java:54)
at org.codehaus.xfire.transport.http.XFireServlet.init(XFireServlet.java:45)
at javax.servlet.GenericServlet.init(GenericServlet.java:82)
at com.caucho.server.http.Application.createServlet(Application.java:3114)
at com.caucho.server.http.Application.loadServlet(Application.java:3065)
at com.caucho.server.http.QServletConfig.loadServlet(QServletConfig.java:435)
at com.caucho.server.http.Application.getFilterChainServlet(Application.java:2809)
at com.caucho.server.http.Application.buildFilterChain(Application.java:2765)
at com.caucho.server.http.Invocation.service(Invocation.java:313)
at com.caucho.server.http.CacheInvocation.service(CacheInvocation.java:135)
at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:246)
at com.caucho.server.http.HttpRequest.handleConnection(HttpRequest.java:163)
at com.caucho.server.TcpConnection.run(TcpConnection.java:139)
at java.lang.Thread.run(Thread.java:619)
  回复  更多评论
  
# re: XFire完整入门教程 2011-11-22 11:01 | CriusGong
Hi Robin!
谢谢你的文章,对我们这些初学者受益匪浅。现我碰到一下问题,这个问题应该很简单,但是我不清楚这个url的运行,可以给点指点吗?
- Server returned error code = 404 for URI : http://localhost:8001/Studey_pjt/services/HelloService. Check server logs for details  回复  更多评论
  
# re: XFire完整入门教程 2011-12-16 11:34 | 飞华
如果在别的项目中调用该接口,应该怎么写呢  回复  更多评论
  
# re: XFire完整入门教程 2012-02-03 14:54 | yaojie
严重: Error initializing XFireServlet.
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 java.lang.NoClassDefFoundError: javax/xml/registry/JAXRException
java.lang.NoClassDefFoundError: javax/xml/registry/JAXRException
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at org.springframework.util.ClassUtils.forName(ClassUtils.java:108)
at org.springframework.beans.propertyeditors.ClassEditor.setAsText(ClassEditor.java:63)
at org.springframework.beans.BeanWrapperImpl.doTypeConversionIfNecessary(BeanWrapperImpl.java:771)
at org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:584)
at org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:469)
at org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:626)
at org.springframework.beans.BeanWrapperImpl.setPropertyValues(BeanWrapperImpl.java:653)
at org.springframework.beans.BeanWrapperImpl.setPropertyValues(BeanWrapperImpl.java:642)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1023)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:824)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:345)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:226)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:147)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:275)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:320)
at org.codehaus.xfire.spring.XFireConfigLoader.getXFireApplicationContext(XFireConfigLoader.java:107)
at org.codehaus.xfire.spring.XFireConfigLoader.loadContext(XFireConfigLoader.java:41)
at org.codehaus.xfire.transport.http.XFireConfigurableServlet.loadConfig(XFireConfigurableServlet.java:86)
at org.codehaus.xfire.transport.http.XFireConfigurableServlet.createXFire(XFireConfigurableServlet.java:54)
at org.codehaus.xfire.transport.http.XFireServlet.init(XFireServlet.java:45)
at javax.servlet.GenericServlet.init(GenericServlet.java:212)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1173)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:809)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:129)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:861)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1584)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.ClassNotFoundException: javax.xml.registry.JAXRException
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1645)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1491)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
... 35 more  回复  更多评论
  
# re: XFire完整入门教程 2012-05-27 16:56 | J仔
你没有重启服务器  回复  更多评论
  
# re: XFire完整入门教程 2012-06-28 11:38 | yu
String helloWorldURL = "http://localhost:8080/xfiretest/services/HelloService";
这个url怎么来的??? 初学者,菜鸟,好多年的东西了,如果您可以看到并且愿意,麻烦解释个,刚学这个,不知道怎么入手.上网时间不多,我的邮箱是yuchensuifeng@hotmail.com,麻烦您,如果可以的话,结合现在的情况,给个最简单的xfire开发的例子,我用的
myeclipse9.0,xfire是目前最新版本的.,如果跟spring有关的话,我用的spring是3.1.  回复  更多评论
  
# re: XFire完整入门教程 2012-09-26 14:32 | 墨雨
我出现了这种错误:请问如何解决??
Retrieving document at 'null'.
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/httpclient/Credentials
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
at java.lang.Class.getConstructor0(Unknown Source)
at java.lang.Class.getConstructor(Unknown Source)
at org.codehaus.xfire.transport.http.HttpChannel.sendViaClient(HttpChannel.java:108)
at org.codehaus.xfire.transport.http.HttpChannel.send(HttpChannel.java:48)
at org.codehaus.xfire.handler.OutMessageSender.invoke(OutMessageSender.java:26)
at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
at org.codehaus.xfire.client.Invocation.invoke(Invocation.java:79)
at org.codehaus.xfire.client.Invocation.invoke(Invocation.java:114)
at org.codehaus.xfire.client.Client.invoke(Client.java:336)
at org.codehaus.xfire.client.XFireProxy.handleRequest(XFireProxy.java:77)
at org.codehaus.xfire.client.XFireProxy.invoke(XFireProxy.java:57)
at $Proxy0.sayHelloWorld(Unknown Source)
at client.WebServiceClientTest.testClient(WebServiceClientTest.java:42)
at client.WebServiceClientTest.main(WebServiceClientTest.java:13)
  回复  更多评论
  
# re: XFire完整入门教程 2012-12-17 11:34 | ziyangwh
我是一个刚进公司的实习生 老大让我了解xfire 这方面的东西 这个xfire我以前没接触过
你的代码写的很清晰简洁 基本都看的懂 我有些不明白的是 这个列子
主要完成什么功能 有什么作用 为什么使用xfire   回复  更多评论
  
# re: XFire完整入门教程 2012-12-19 10:22 | 逸美2011
我按照这样的步骤做了一个Demo,但是他找不到service.xml的地址,错误情况是这样的
org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from class path resource [META-INF/xfire/services.xml]; nested exception is java.io.FileNotFoundException: class path resource [META-INF/xfire/services.xml] cannot be opened because it does not exist
java.io.FileNotFoundException: class path resource [META-INF/xfire/services.xml] cannot be opened because it does not exist
目录是我在src下再建的META文件夹
能告诉这个问题怎么解决吗?谢谢  回复  更多评论
  
# re: XFire完整入门教程 2012-12-20 20:21 | 星火
当我使用XFire时候,出现严重: java.net.ConnectException: Connection refused: connect,该怎么解决  回复  更多评论
  
# re: XFire完整入门教程[未登录] 2013-02-20 10:18 |
"一直以来,发现有某些人完全不尊重我的劳动成果,随意转载,提醒一下那些人小心哪天惹上官司" 这有点过了吧  回复  更多评论
  
# re: XFire完整入门教程 2013-04-23 14:36 | 等等等
大侠 帮我解决下问题好吗   回复  更多评论
  
# re: XFire完整入门教程 2013-10-12 10:13 | ROBB
你好,我现在只知道webservice接口 就是那个wsdl,其他的服务端什么都不提供了,按照你说的方法我是不是只需要写客户端CLINT类就可以了 还要其他东西要写吗 为什么总是报错  回复  更多评论
  
# re: XFire完整入门教程 2013-12-11 10:30 | 123321
您好,你的客户端跟服务器短在同一根目录下,如果真正意义上的远程调用是不在同一个项目下的,请问应该如何实现?  回复  更多评论
  
# re: XFire完整入门教程[未登录] 2014-01-23 17:52 | aa
@狮子使用wsdl生成客户端中的这个类:HelloWorldPortType  回复  更多评论
  
# re: XFire完整入门教程 2014-04-30 17:09 | 黄铃木

... 47 more
能帮我看下这个错误吗 项目上线 急啊  回复  更多评论
  
# re: XFire完整入门教程 2014-04-30 17:10 | 黄铃木
ERROR - java.net.ConnectException: Connection timed out: conn
ect
org.codehaus.xfire.fault.XFireFault: Couldn't send message.
at org.codehaus.xfire.fault.XFireFault.createFault(XFireFault.java:89)
at org.codehaus.xfire.handler.OutMessageSender.invoke(OutMessageSender.j
ava:30)
at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.jav
a:131)
at org.codehaus.xfire.client.Invocation.invoke(Invocation.java:79)
at org.codehaus.xfire.client.Invocation.invoke(Invocation.java:114)
at org.codehaus.xfire.client.Client.invoke(Client.java:336)
at org.codehaus.xfire.client.Client.invoke(Client.java:368)
at com.zysoft.cap.service.news.impl.NewsListServiceImpl.call(NewsListSer
viceImpl.java:36)

鞥帮我看下这个错误吗 项目上线急啊 谢谢了  回复  更多评论
  
# re: XFire完整入门教程[未登录] 2014-06-06 17:01 | zhangjun
能提供一下源代码下载么。。。。  回复  更多评论
  
# re: XFire完整入门教程 2014-11-23 16:07 | huangzh
org.apache.catalina.core.StandardWrapperValve invoke
严重: Allocate exception for servlet XFireServlet
org.springframework.beans.factory.BeanDefinitionStoreException: Unrecognized xbean element mapping: beans in namespace

servies.xml
<beans xmlns="http://xfire.codehaus.org/config/1.0"
xmlns:s="http://www.springframework.org/schema/beans"" target="_new" rel="nofollow">http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"
>
修改了servies.xml依旧报错
  回复  更多评论
  
# re: XFire完整入门教程[未登录] 2015-08-19 13:27 | liang
为什么我找不到网页呢,404,找不到XFireServlet文件,上面也没写这个文件呢???  回复  更多评论
  
# re: XFire完整入门教程 2016-01-29 10:53 | fqjabc
楼主,请问你做过xfire使用spring的jdbc模板访问数据库的例子吗,急求啊?xfire和spring的结合在不访问数据库时(就像你这个例子一样)已经跑通了,但是需要使用jdbc时老出问题。谢谢  回复  更多评论
  
评论共2页: 1 2 下一页 

只有注册用户登录后才能发表评论。


网站导航: