隨筆-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 閱讀(90494) 評論(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.aygfsteel.com/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.aygfsteel.com/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.aygfsteel.com/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.aygfsteel.com/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 下一頁 
          主站蜘蛛池模板: 南和县| 丰台区| 和林格尔县| 喀什市| 兴和县| 屏东县| 黄龙县| 六安市| 汽车| 忻城县| 乌鲁木齐市| 六盘水市| 西盟| 荥阳市| 贵港市| 中卫市| 广西| 河东区| 仪征市| 泰来县| 姜堰市| 时尚| 双辽市| 奇台县| 沙雅县| 广安市| 昌乐县| 石楼县| 南华县| 汕头市| 乐平市| 临漳县| 万宁市| 鄱阳县| 温泉县| 隆化县| 兴山县| 庄浪县| 荥阳市| 文昌市| 南江县|