posts - 297,  comments - 1618,  trackbacks - 0
          早前的一篇文章,今天才發(fā)表,貼上來(lái),:)
          請(qǐng)勿轉(zhuǎn)載
          原文出處:http://tech.it168.com/j/2007-09-26/200709260923046.shtml

          XFire是與Axis 2并列的新一代Web Service框架,通過(guò)提供簡(jiǎn)單的API支持Web Service各項(xiàng)標(biāo)準(zhǔn)協(xié)議,幫助你方便快速地開(kāi)發(fā)Web Service應(yīng)用。

          相對(duì)于Axis來(lái)說(shuō),目前XFire相對(duì)受歡迎,加上其提供了和Spring集成的支持,在目前的Web Service開(kāi)源社區(qū)擁有眾多的追隨者。并且因?yàn)閄Fire為Spring提供的支持,使得我們可以很容易在Spring中使用XFire構(gòu)建Web Service應(yīng)用。

          XFire與Axis2相比具有如下特征:

          l         支持一系列Web Service的新標(biāo)準(zhǔn)--JSR181、WSDL2.0 、JAXB2、WS-Security等;

          l         使用Stax解釋XML,性能有了質(zhì)的提高。XFire采用Woodstox 作Stax實(shí)現(xiàn);

          l         容易上手,可以方便快速地從pojo發(fā)布服務(wù);

          l         支持Spring、Pico、Plexus、Loom等容器;

          l         靈活的Binding機(jī)制,包括默認(rèn)的Aegis,xmlbeans,jaxb2,castor;

          l         高性能的SOAP 棧設(shè)計(jì);

          l         支持Spring、Pico、Plexus、Loom等容器。

          XFire與Axis1性能的比較如下:

          l         XFire比Axis1.3快2-6倍;

          l         XFire的響應(yīng)時(shí)間是Axis1.3的1/2到1/5。

          XFire在WebService框架中開(kāi)始較晚,它從現(xiàn)有的框架中借鑒了許多優(yōu)秀的理念,力爭(zhēng)將Web Service的應(yīng)用開(kāi)發(fā)難度降到最低。此外,還提供了各種綁定技術(shù)、支持多種傳輸協(xié)議,對(duì)WebService體系中許多新的規(guī)范提供了支持。

          下面讓我們來(lái)看一個(gè)XFire于Spring集成的helloWorld的簡(jiǎn)單例子。

          一.實(shí)現(xiàn)的功能和特點(diǎn)

              本例具有如下功能和特點(diǎn):

          1) 基于J2EE平臺(tái)的Web Service服務(wù);

          2) 開(kāi)發(fā)方便,配置簡(jiǎn)單;

          3) 與spring無(wú)縫集成。

          XFire是完全基于流數(shù)據(jù)處理進(jìn)行工作的系統(tǒng),這意味著XFire不是將整個(gè)SOAP文檔緩存在內(nèi)存中,而是以管道的方式接收SOAP流數(shù)據(jù)。這種工作方式的轉(zhuǎn)變帶來(lái)了可觀的性能回報(bào),同時(shí)節(jié)省了內(nèi)存的占用。

            XFire從管道中接收一個(gè)SOAP請(qǐng)求到返回一個(gè)SOAP響應(yīng),會(huì)經(jīng)歷一系列的階段。在管道調(diào)用的任何一個(gè)階段,XFire都可以添加一些額外的Handler,在對(duì)消息進(jìn)行加工處理后再傳入到下一個(gè)階段中。在SOAP請(qǐng)求消息對(duì)Web Service發(fā)起真正調(diào)用之前,分別會(huì)經(jīng)過(guò)傳輸、預(yù)轉(zhuǎn)發(fā)、轉(zhuǎn)發(fā)、策略實(shí)施、用戶信息處理、預(yù)調(diào)用、服務(wù)調(diào)用等階段。

          二.開(kāi)發(fā)環(huán)境

              筆者的開(kāi)發(fā)環(huán)境描述如下:

          1) jdk: 1.5版本;

          2) Tomcat:5.5.20;

          3) MyEclipse:5.1.1 GA

          三.開(kāi)發(fā)步驟

          1. 工程與環(huán)境的建立

          在MyEclipse中新建Web工程,名為webservice_helloworld。選擇該工程后,點(diǎn)擊右鍵選擇MyEclipse->Add Web Service Capabilities,彈出Add Web Service Capabilities對(duì)話框,點(diǎn)擊“Next”,彈出Project Library Configuration對(duì)話框,默認(rèn)選擇Core Libraries,點(diǎn)擊“Finish”按鈕,完成XFire核心包的添加。為了后續(xù)的客戶端的測(cè)試,還需讀者加入commons-httpclient.jar包到WEB-INF/lib下。

          部署后可看到此時(shí)WEB-INF/lib的jar包列表如下:

          activation-1.1.jar、commons-beanutils-1.7.0.jar、commons-codec-1.3.jar、commons-httpclient.jar、commons-logging-1.0.4.jar、jaxen-1.1-beta-9.jar、jaxws-api-2.0.jar、jdom-1.0.jar、jsr173_api-1.0.jar、mail-1.4.jar、saaj-api-1.3.jar、saaj-impl-1.3.jar、spring-1.2.6.jar、stax-api-1.0.1.jar、wsdl4j-1.5.2.jar、wstx-asl-3.0.1.jar、xbean-2.1.0.jar、xbean-spring-2.5.jar、xfire-aegis-1.2.2.jar、xfire-annotations-1.2.2.jar、xfire-core-1.2.2.jar、xfire-java5-1.2.2.jar、xfire-jaxws-1.2.2.jar、xfire-jsr181-api-1.0-M1.jar、xfire-spring-1.2.2.jar、XmlSchema-1.1.jar

          為了后續(xù)的開(kāi)發(fā)和測(cè)試,在src目錄下分別建立test和webservice目錄,分別用于存放測(cè)試文件和webservice的相關(guān)類。

          2.Web Service實(shí)現(xiàn)的編寫

              在本例中,我們只是做一個(gè)helloWorld的簡(jiǎn)單例子。Web Service服務(wù)端提供一個(gè)根據(jù)輸入的名字信息回復(fù)相應(yīng)的helloWorld信息的。例如,當(dāng)名字為“阿蜜果”時(shí),恢復(fù)信息為“hello,阿蜜果”。下面讓我們一步一步來(lái)開(kāi)始進(jìn)行編碼。

          1)web.xml的配置

          一般情況下,我們通過(guò)HTTP作為Web Service的傳輸協(xié)議,這樣我們只需啟動(dòng)一個(gè)Web服務(wù)器(如Tomcat,在本例中使用的是Tomcat5.5.20),這樣客戶端就可以通過(guò)HTTP訪問(wèn)到Web Service服務(wù)。為了集成Spring容器,XFire專門提供一個(gè)XFireSpringServlet,我們可以在web.xml中配置該Servlet,將Spring容器中定義的Web Service在某個(gè)URI下發(fā)布。

          為了能正確使用XFire,需在web.xml中進(jìn)行相應(yīng)配置,在該文件中配置XFire的servletservlet-mapping。同時(shí)因?yàn)楸緦?shí)例需要將XFire集成到Spring中,因而需要在web.xml文件中加載Spring的相應(yīng)配置文件。在本實(shí)例中,我們首先在WEB-INF下建立兩個(gè)配置Spring配置文件,一個(gè)為applicationContext.xml,該文件用來(lái)定義本工程的bean,一個(gè)為xfire-servlet.xml,用來(lái)配置XFire的相關(guān)bean。修改后的web.xml的內(nèi)容如下所示:

          <?xml version="1.0" encoding="UTF-8"?>
          <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
              
          <display-name>XFireService</display-name>
              
          <!-- begin Spring配置 -->
              
          <context-param>
                 
          <param-name>contextConfigLocation</param-name>
                 
          <param-value>/WEB-INF/applicationContext.xml,/WEB-INF/xfire-servlet.xml</param-value>
              
          </context-param>
              
          <listener>
                 
          <listener-class> org.springframework.web.context.ContextLoaderListener
                 
          </listener-class>
              
          </listener>
               
          <listener> 
                 
          <listener-class>     org.springframework.web.util.IntrospectorCleanupListener
                 
          </listener-class>
              
          </listener>
              
          <!-- end Spring配置 -->

              
          <!-- begin XFire 配置 -->
              
          <servlet>   
                 
          <servlet-name>xfire</servlet-name>   
                 
          <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
              
          </servlet>   
              
          <servlet-mapping> 
                 
          <servlet-name>xfire</servlet-name>
                 
          <url-pattern>*.ws</url-pattern>
              
          </servlet-mapping>
              
          <servlet>
                 
          <!-- 配合Spring容器中XFire一起工作的Servlet-->
                 
          <servlet-name>xfireServlet</servlet-name>
                 
          <servlet-class>org.codehaus.xfire.spring.XFireSpringServlet</servlet-class>
              
          </servlet>
              
          <servlet-mapping>
                 
          <servlet-name>xfireServlet</servlet-name>
                 
          <!-- 在這個(gè)URI下開(kāi)放Web Service服務(wù) -->
                 
          <url-pattern>/service/*</url-pattern>
              
          </servlet-mapping>
              
          <!-- end XFire 配置 -->
          </web-app>

              2)Web Service的接口類HelloWorld.java和對(duì)應(yīng)實(shí)現(xiàn)類HelloWorldImpl.java

          為了用Web Service完成HelloWorld功能,我們首先在src/webservice目錄下建立接口類HelloWold.java。它僅包含一個(gè)sayHelloWorld(String name)的方法,其詳細(xì)內(nèi)容如下:

          package webservice;

          /**
           *HelloWorld的接口類.
           
          */

          publicinterface HelloWorld 
          {
              
          /**
               *對(duì)名字為name的人打招呼.
               *@paramname名字
               *@return返回打招呼的字符串
               
          */

              String sayHelloWorld(String name);
          }

          我們還需要建立一個(gè)對(duì)應(yīng)的實(shí)現(xiàn)類,來(lái)實(shí)現(xiàn)sayHelloWorld的功能,該實(shí)現(xiàn)類即為HelloWorldImpl.java。該類的詳細(xì)內(nèi)容如下:
          package webservice;
          /**
           *HelloWorld的實(shí)現(xiàn)類.
           
          */

          publicclass HelloWorldImpl 
          implements HelloWorld {
              
          public String sayHelloWorld(String name) {
                 String helloWorld 
          = "hello," + name;
                 
          return helloWorld;
              }

          }

          3)Spring配置文件applicationContext.xmlxfire-servlet.xml的配置

          首先我們?cè)?/span>applicationContext.xml文件中配置對(duì)應(yīng)的bean——HelloWorldBean,該xml文件的內(nèi)容如下:

          <?xml version="1.0" encoding="UTF-8"?>
          <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
              "http://www.springframework.org/dtd/spring-beans.dtd"
          >
          <beans>
              
          <bean id="HelloWorldBean" class="webservice.HelloWorldImpl"/>
          </beans>

               這個(gè)配置文件很簡(jiǎn)單,在此不詳述。

          XFire為Spring提供了方便易用的導(dǎo)出器XFireExporter,借助該導(dǎo)出器的支持,我們可以在Spring容器中將一個(gè)POJO導(dǎo)出為Web Service。HelloWorld是業(yè)務(wù)服務(wù)類,在此擁有一個(gè)sayHelloWorld的方法,我們希望將此方法開(kāi)放為Web Service。在實(shí)際應(yīng)用中,如果某個(gè)類具有眾多的方法,而其中的某些方法不需要開(kāi)放為Web Service的情況下,我們可以定義一個(gè)窄接口,該接口中只需定義那些開(kāi)放為Web Service的業(yè)務(wù)方法。

          將一個(gè)業(yè)務(wù)類所有需要開(kāi)放為Web Service的方法通過(guò)一個(gè)窄接口來(lái)描述是值得推薦的作法,這讓W(xué)eb Service的接口顯得很“干凈”。其次,XFire的導(dǎo)出器也需要服務(wù)接口的支持,因?yàn)樗捎没诮涌诘膭?dòng)態(tài)代理技術(shù)。

          窄接口中的方法在真實(shí)的系統(tǒng)中可能需要引用其它的業(yè)務(wù)類或DAO獲取數(shù)據(jù)庫(kù)中的真實(shí)數(shù)據(jù),為了簡(jiǎn)化實(shí)例,我們?cè)诖撕?jiǎn)化了實(shí)例。

          下面讓我們看看在xfire-servlet.xml文件中導(dǎo)出器的設(shè)置,該文件內(nèi)容如下:

          <?xml version="1.0" encoding="UTF-8"?>
          <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
              "http://www.springframework.org/dtd/spring-beans.dtd"
          >
          <beans>
              
          <!-- 引入XFire預(yù)配置信息 -->
              
          <import resource="classpath:org/codehaus/xfire/spring/xfire.xml" />
              
          <!—定義訪問(wèn)的url-->
              
          <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
                 
          <property name="urlMap">             
                     
          <map>                 
                        
          <entry key="/HelloWorldService.ws">                  
                            
          <ref bean="HelloWorldService" />                 
                        
          </entry>             
                     
          </map>         
                 
          </property>     
              
          </bean>     

              
          <!-- 使用XFire導(dǎo)出器 -->
              
          <bean id="baseWebService" class="org.codehaus.xfire.spring.remoting.XFireExporter" lazy-init="false" abstract="true">
                 
          <!-- 引用xfire.xml中定義的工廠 -->
                 
          <property name="serviceFactory" ref="xfire.serviceFactory" />
                 
          <!-- 引用xfire.xml中的xfire實(shí)例 -->
                 
          <property name="xfire" ref="xfire" />
              
          </bean>
              
          <bean id="HelloWorldService" parent="baseWebService">
                 
          <!-- 業(yè)務(wù)服務(wù)bean -->
                 
          <property name="serviceBean" ref="HelloWorldBean" />
                 
          <!-- 業(yè)務(wù)服務(wù)bean的窄接口類 -->
                 
          <property name="serviceClass" value="webservice.HelloWorld" />
              
          </bean>
          </beans>

          在上面的配置中,我們可以看到,在該配置文件中引入了xfire.xml這個(gè)Spring配置文件。它是在XFire核心JAR包中擁有一個(gè)預(yù)定義的Spring配置文件,它定義了XFire在Spring中必須用到的一些Bean和資源,需要引入這個(gè)預(yù)定義的配置文件。從該配置文件中可以看出,我們通過(guò)XFireExporter將業(yè)務(wù)類導(dǎo)出為Web Service,對(duì)于任何導(dǎo)出器,我們都需要引入XFire環(huán)境,即serviceFactoryxfire,這是標(biāo)準(zhǔn)的配置。ServiceFactory是XFire的核心類,它可以將一個(gè)POJO生成為一個(gè)Web Service。

          在本實(shí)例中,我們通過(guò)定義一個(gè)baseWebService,其余的webService配置都將該bean作為父bean,這樣可以簡(jiǎn)化Spring的配置,不需要多次引入serviceFactory和xfire。

          3. Web Service的測(cè)試

              在上一步操作完成之后,我們的這個(gè)簡(jiǎn)單的Web Service已經(jīng)編寫完畢,下面讓我們來(lái)看看自己的勞動(dòng)成果吧。

              在瀏覽器中輸入地址:http://localhost:8080/webservice_helloworld/HelloWorldService.ws?wsdl,我們可以看到HelloWorldService對(duì)應(yīng)的WSDL信息,閱讀這個(gè)WSDL文檔,我們可以知道HelloWorld的sayHelloWorld方法已經(jīng)被成功地發(fā)布為Web Service了。只要拿到這個(gè)WSDL就可以開(kāi)發(fā)相應(yīng)的客戶端調(diào)用程序了。

          XFire為訪問(wèn)服務(wù)端Web Service提供了各種方便的方式:我們一般根據(jù)服務(wù)地址和窄接口類創(chuàng)建客戶調(diào)用程序。

            在不能獲得服務(wù)窄接口類的情況下,XFire允許我們通過(guò)WSDL文件生成客戶端調(diào)用程序,通過(guò)指定服務(wù)接口的方式調(diào)用服務(wù)。

          1)通過(guò)WSDL文件生成客戶端調(diào)用程序

          首先我們通過(guò)http://localhost:8080/webservice_helloworld/HelloWorldService.ws?wsdl我們可以獲得WSDL文件HelloWorldService.wsdl,并將其放在src目錄下面,接著我們通過(guò)程序訪問(wèn)該WSDL文件,并調(diào)用需測(cè)試的方法。此時(shí)測(cè)試類WebServiceClientTest.java的內(nèi)容如下所示:

          package test;

          import org.codehaus.xfire.client.Client;
          import org.springframework.core.io.ClassPathResource;
          import org.springframework.core.io.Resource;
          import webservice.HelloWorld;

          /**
           *Copyright2007GuangZhouAmigo.
           *Allrightreserved.   
           *HelloWorld的webservice的測(cè)試類.
           *
          @author<a href="mailto:xiexingxing1121@126.com">AmigoXie</a>
           *@version1.0
           *Creationdate:2007-9-16-下午05:36:05
           
          */

          publicclass WebServiceClientTest 

              HelloWorld helloWorld 
          = null;

              publicstaticvoid main(String[] args) 
          throws Exception {
                 WebServiceClientTest test 
          = new WebServiceClientTest();
                 test.testClient();
              }
           
              
              publicvoid testClient() 
          throws Exception {
                 String wsdl 
          = "HelloWorldService.wsdl"//對(duì)應(yīng)的WSDL文件
                 Resource resource = new ClassPathResource(wsdl); 
                 Client client 
          = new Client(resource.getInputStream(), null); //根據(jù)WSDL創(chuàng)建客戶實(shí)例
                 
                 Object[] objArray 
          = new Object[1];
                 objArray[
          0= "阿蜜果";
                 
          //調(diào)用特定的Web Service方法
                 Object[] results = client.invoke("sayHelloWorld", objArray);
                 System.out.println(
          "result: " + results[0]);
              }

          }

          運(yùn)行該類,可得到如下輸出結(jié)果:

          result: hello,阿蜜果

          可看出運(yùn)行結(jié)果正確。

          2)根據(jù)服務(wù)地址創(chuàng)建客戶端調(diào)用程序

              接著讓我們來(lái)看一個(gè)根據(jù)服務(wù)地址創(chuàng)建客戶端調(diào)用程序的例子。我們可以通過(guò)測(cè)試類來(lái)測(cè)試Web Service的正確性,下面讓我們來(lái)看一個(gè)簡(jiǎn)單的測(cè)試類,首先我們?cè)趕rc/test目錄建立WebServiceClientTest.java文件,并在src目錄下建立客戶端調(diào)用的Spring配置文件client.xml。在client.xml配置文件中我們定義了一個(gè)testWebServicebean,該bean訪問(wèn)wsdlDocumentUrlhttp://localhost:8080/webservice_helloworld/HelloWorldService.ws?wsdlWSDL。該xml文件的詳細(xì)內(nèi)容如下:

          <?xml version="1.0" encoding="UTF-8"?>
          <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
              "http://www.springframework.org/dtd/spring-beans.dtd"
          >
          <beans>
              
          <bean id="testWebService" class="org.codehaus.xfire.spring.remoting.XFireClientFactoryBean">
                 
          <property name="serviceClass">          
             
          <value>webservice.HelloWorld</value>       
                 
          </property>      
                  
          <property name="wsdlDocumentUrl">         
          <value>http://localhost:8080/webservice_helloworld/HelloWorldService.ws?wsdl</value>       
                  
          </property>      
               
          </bean>
          </beans>

               在WebServiceClientTest.java文件中獲得HelloWorld,并調(diào)用它的sayHelloWorld方法來(lái)完成測(cè)試,該類的詳細(xì)內(nèi)容如下所示:

          package test;

          import org.springframework.context.ApplicationContext;
          import org.springframework.context.support.ClassPathXmlApplicationContext;
          import webservice.HelloWorld;

          /**
           *HelloWorld的webservice的測(cè)試類.
           
          */

          publicclass WebServiceClientTest 

              HelloWorld helloWorld 
          = null;

              publicstaticvoid main(String[] args) 
          {
                 WebServiceClientTest test 
          = new WebServiceClientTest();
                 test.testClient();
              }
           

              publicvoid testClient() 
          {
                 ApplicationContext ctx 
          = new ClassPathXmlApplicationContext(
                        
          "client.xml");
                 helloWorld 
          = (HelloWorld) ctx.getBean("testWebService");
                 System.out.println(helloWorld.sayHelloWorld(
          "阿蜜果"));
              }

          }

              在啟動(dòng)webservice_helloworld工程的情況下,運(yùn)行WebServiceClientTest類,可看到控制臺(tái)包含如下信息:

              hello,阿蜜果

              由此可看出調(diào)用Web Service成功。

          四.總結(jié)

              與Axis相比,在實(shí)施Web Service時(shí)XFire更加簡(jiǎn)潔高效,并且XFire對(duì)Spring提供了強(qiáng)大的支持,可以非常方便地在Spring中使用XFire實(shí)施Web Service,因此XFire在短短的時(shí)間里成為了受Web Service開(kāi)發(fā)者喜愛(ài)的框架。

            XFire為客戶端提供了多種訪問(wèn)Web Service的方式,如果可以獲取客戶端的窄接口類,則可以采用窄接口類調(diào)用Web Service。如果僅能獲取WSDL,XFire也可以采用動(dòng)態(tài)反射的機(jī)制調(diào)用Web Service。XFire為Eclipse提供了一個(gè)可以根據(jù)WSDL生成客戶端存根代碼的插件,相信XFire也將為其它非Java語(yǔ)言提供類似的插件。

          技術(shù)可用性的一個(gè)很大的標(biāo)準(zhǔn)是它是否方便測(cè)試,XFire提供多種方式進(jìn)行Web Service的測(cè)試,簡(jiǎn)單方便,給Web Service開(kāi)發(fā)人員的測(cè)試工作帶來(lái)了福音。

          在本文中,筆者通過(guò)一個(gè)簡(jiǎn)單的helloWorld的Web Service例子,詳細(xì)地說(shuō)明了用XFire+Spring構(gòu)建Web Service時(shí)配置文件的相關(guān)配置,以及測(cè)試的各種方法,也讓讀者見(jiàn)識(shí)了XFire與Spring的無(wú)縫集成,希望對(duì)讀者學(xué)習(xí)XFire有點(diǎn)幫助。

          posted on 2007-09-26 09:39 阿蜜果 閱讀(53658) 評(píng)論(70)  編輯  收藏 所屬分類: Web Service


          FeedBack:
          # re: 使用XFire+Spring構(gòu)建Web Service
          2007-09-27 10:49 | 千里冰封
          用EJB的方式也可以構(gòu)建webservice
          不過(guò), spring聽(tīng)說(shuō)是很牛的  回復(fù)  更多評(píng)論
            
          # re: 使用XFire+Spring構(gòu)建Web Service
          2007-09-27 11:23 | 易初風(fēng)云
          可以,請(qǐng)問(wèn)一下java遠(yuǎn)程調(diào)用方法共有多少種方式呢?那種比較好呢?  回復(fù)  更多評(píng)論
            
          # re: 使用XFire+Spring構(gòu)建Web Service
          2007-09-27 12:53 | 千里冰封
          多少種方式?不太清楚,找到自己適用的就可以了  回復(fù)  更多評(píng)論
            
          # re: 使用XFire+Spring構(gòu)建Web Service
          2007-09-27 17:37 | cnjar
          1)通過(guò)WSDL文件生成客戶端調(diào)用程序

          不如直接這樣:
          Client client = new Client(new URL("http://localhost:8080/webservice_helloworld/HelloWorldService.ws?wsdl"));  回復(fù)  更多評(píng)論
            
          # re: 使用XFire+Spring構(gòu)建Web Service(一)——helloWorld篇
          2007-09-28 17:56 | bigheadbird
          我按照你 的例子寫的,卻完全沒(méi)有反應(yīng),提示找不到資源,想問(wèn)一下,可需要
          add spring capabilities?我這種情況可能是什么原因?  回復(fù)  更多評(píng)論
            
          # re: 使用XFire+Spring構(gòu)建Web Service(一)——helloWorld篇
          2007-09-28 17:59 | bigheadbird
          我是在Web Service的測(cè)試這里就沒(méi)有反應(yīng)。
            回復(fù)  更多評(píng)論
            
          # re: 使用XFire+Spring構(gòu)建Web Service(一)——helloWorld篇
          2007-09-29 09:43 | bigheadbird
          我找到原因了,applicationContext.xm 文件名我少寫了個(gè)p,暈死,我知道了 ,不用add spring capabilities。  回復(fù)  更多評(píng)論
            
          # re: 使用XFire+Spring構(gòu)建Web Service(一)——helloWorld篇[未登錄](méi)
          2007-09-29 11:24 | Bruce
          能不能把目錄結(jié)構(gòu)列出來(lái)。。。俺是初學(xué)者  回復(fù)  更多評(píng)論
            
          # re: 使用XFire+Spring構(gòu)建Web Service(一)——helloWorld篇
          2007-09-29 11:35 | 阿蜜果
          @Bruce
          本篇與下篇的例子的目錄結(jié)構(gòu)請(qǐng)參見(jiàn):
          http://www.aygfsteel.com/amigoxie/gallery/image/9492.html  回復(fù)  更多評(píng)論
            
          # re: 使用XFire+Spring構(gòu)建Web Service(一)——helloWorld篇[未登錄](méi)
          2007-09-29 11:39 | Bruce
          謝謝!謝謝!偶現(xiàn)在就去看!  回復(fù)  更多評(píng)論
            
          # re: 使用XFire+Spring構(gòu)建Web Service(一)——helloWorld篇[未登錄](méi)
          2007-09-29 11:43 | Bruce
          好用了,謝謝阿蜜果:)
            回復(fù)  更多評(píng)論
            
          # re: 使用XFire+Spring構(gòu)建Web Service(一)——helloWorld篇
          2007-11-05 10:31 | dong2590
          java.lang.NoSuchMethodError: javax.xml.namespace.QName.<init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

          我按照你的寫了..可是在Tomcat啟動(dòng)時(shí)就報(bào)這種錯(cuò)誤..網(wǎng)上有說(shuō)這種錯(cuò)誤.不過(guò)很模糊..希望能指導(dǎo)一下.謝謝.
          我用的是JDK1.4.MyEclipse5.0,Tomcat5.0的.  回復(fù)  更多評(píng)論
            
          # re: 使用XFire+Spring構(gòu)建Web Service(一)——helloWorld篇[未登錄](méi)
          2007-11-05 13:00 | 阿蜜果
          用Tomcat5.5才行,貌似5.0不行  回復(fù)  更多評(píng)論
            
          # re: 使用XFire+Spring構(gòu)建Web Service(一)——helloWorld篇
          2007-11-05 15:00 | dong2590
          @阿蜜果
          我到原因了~是JAR包沖突的問(wèn)題~Javax.xml.namespace.QName的方法定義太舊,用xfile的lib里面的stax-api-1.0.1.jar和stax-utils-20040917.jar
          并刪除舊的javax.xml.namespace.QName如jaxrpc.jar問(wèn)題就好了..但是現(xiàn)在又出來(lái)個(gè)新的問(wèn)題~
          我在web.xml作了如下配置:
          <context-param>
          <param-name>contextConfigLocation</param-name>
          <param-value>/WEB-INF/classes/applicationContext.xml,/WEB-INF/classes/xfire-servlet.xml</param-value>
          </context-param>
          但是在Tomcat啟動(dòng)時(shí).卻報(bào)錯(cuò).
          ERROR DispatcherServlet:227 - Context initialization failed
          org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from ServletContext resource [/WEB-INF/XFire-servlet.xml]; nested exception is java.io.FileNotFoundException: Could not open ServletContext resource [/WEB-INF/XFire-servlet.xml]
          java.io.FileNotFoundException: Could not open ServletContext resource [/WEB-INF/XFire-servlet.xml]

          我這就搞不懂了~為什么會(huì)去到WEB-INF下面去找?  回復(fù)  更多評(píng)論
            
          # re: 使用XFire+Spring構(gòu)建Web Service(一)——helloWorld篇
          2008-03-17 09:42 | zqj

          org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.web.servlet.handler.SimpleUrlHandlerMapping' defined in ServletContext resource [/WEB-INF/xfire-servlet.xml]: Can't resolve reference to bean 'HelloWorldService' while setting property 'urlMap[/HelloWorldService.ws]'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'HelloWorldService' defined in ServletContext resource [/WEB-INF/xfire-servlet.xml]: Initialization of bean failed; nested exception is java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter.<init>(Z)V
          org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'HelloWorldService' defined in ServletContext resource [/WEB-INF/xfire-servlet.xml]: Initialization of bean failed; nested exception is java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter.<init>(Z)V


          啟動(dòng)和一直報(bào)以上ERROR  回復(fù)  更多評(píng)論
            
          # re: 使用XFire+Spring構(gòu)建Web Service(一)——helloWorld篇[未登錄](méi)
          2008-03-24 17:28 | 阿飛
          Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/ws/commons/schema/resolver/URIResolver

          at org.codehaus.xfire.client.Client.initFromDefinition(Client.java:262)
          at org.codehaus.xfire.client.Client.<init>(Client.java:236)
          at org.codehaus.xfire.client.Client.<init>(Client.java:246)
          at com.info.gh.webservice.example1.WebServiceClientTest.testClient(WebServiceClientTest.java:56)
          at com.info.gh.webservice.example1.WebServiceClientTest.main(WebServiceClientTest.java:45)

          請(qǐng)問(wèn)老報(bào)上面的錯(cuò)誤,是什么原因呀  回復(fù)  更多評(píng)論
            
          # re: 使用XFire+Spring構(gòu)建Web Service(一)——helloWorld篇
          2008-03-24 17:28 | jackie
          你好姐姐,我也向你要一份工程 關(guān)于webservice的工程,關(guān)于webservice的工程我都想要,還有能給我一起傳基本關(guān)于webservice的書嗎?


          我的郵箱: jackie-zheng@163.com

          現(xiàn)在這里謝謝了  回復(fù)  更多評(píng)論
            
          # re: 使用XFire+Spring構(gòu)建Web Service(一)——helloWorld篇
          2008-03-24 17:33 | jackie
          為什么我按照你的步驟建工程的時(shí)候怎么就沒(méi)有xfire-servlet。xml這個(gè)文件呢?  回復(fù)  更多評(píng)論
            
          # Class not found: webservice.HelloWorld[未登錄](méi)
          2008-03-28 10:09 | lixin
          能不能給您的工程了,我做的發(fā)布不起來(lái)!謝謝  回復(fù)  更多評(píng)論
            
          # re: 使用XFire+Spring構(gòu)建Web Service(一)——helloWorld篇
          2008-04-16 16:59 | yangpan
          log4j:WARN Please initialize the log4j system properly.
          2008-4-16 16:56:36 org.apache.catalina.core.StandardContext start
          嚴(yán)重: Error listenerStart
          2008-4-16 16:56:36 org.apache.catalina.core.StandardContext start
          嚴(yán)重: Context [/webservice] startup failed due to previous errors  回復(fù)  更多評(píng)論
            
          # re: 使用XFire+Spring構(gòu)建Web Service(一)——helloWorld篇
          2008-04-16 17:02 | yangpan
          @yangpan
          我是按照 你 的方法做的.可是編譯的時(shí)候就報(bào)了上面的錯(cuò)誤...
          我找了很久沒(méi)有找到...你幫我看看...  回復(fù)  更多評(píng)論
            
          # re: 使用XFire+Spring構(gòu)建Web Service(一)——helloWorld篇[未登錄](méi)
          2008-04-16 20:40 | 阿蜜果
          @阿飛
          錯(cuò)誤很清楚呢,有jar包沒(méi)有包括進(jìn)去。
          @jackie
          我待會(huì)給你發(fā)一份
          @yangpan
          留個(gè)郵箱吧!也發(fā)一份給你  回復(fù)  更多評(píng)論
            
          # re: 使用XFire+Spring構(gòu)建Web Service(一)——helloWorld篇
          2008-04-17 10:13 | yangpan
          ,,謝謝...
          yangpanwww@126.com

          阿密果,你真的是太好了,,,,愿意交我這個(gè)朋友不...
          我的QQ:609865047

            回復(fù)  更多評(píng)論
            
          # re: 使用XFire+Spring構(gòu)建Web Service(一)——helloWorld篇
          2008-04-17 15:01 | yangpan
          還有.....我對(duì)比了我們 lib\下的所有 的.jar 包 發(fā)現(xiàn)xfire-spring-1.2.2.jar jsr173_api-1.0.jar 這兩個(gè)我lib里沒(méi)有 (可能就是這個(gè)原因)

          還有,你上面說(shuō)" 點(diǎn)擊右鍵選擇MyEclipse->Add Web Service Capabilities,彈出Add Web Service Capabilities對(duì)話框,點(diǎn)擊“Next”,彈出Project Library Configuration對(duì)話框,默認(rèn)選擇Core Libraries,點(diǎn)擊“Finish”按鈕,完成XFire核心包的添加。" 我按照做了,,,lib下沒(méi)有一個(gè)包, lib里的包是我在網(wǎng)上下的xfire-1.1.1,我全拷貝進(jìn)lib里了,但 里面有沒(méi)有上面的.jar包.

          我用的是MyEclipse6.0,Tomcat5.5.
          呵呵..你耐耐心,,幫我看看.....謝謝咯......  回復(fù)  更多評(píng)論
            
          # re: 使用XFire+Spring構(gòu)建Web Service(一)——helloWorld篇
          2008-04-17 17:43 | yangpan
          喔,,...上面的問(wèn)題我知道可,,
          我加了log4j.properties 后...
          出現(xiàn) Document root element "beans", must match DOCTYPE root "null" 錯(cuò)誤..我的是spring2.0
          applicationContext.xml:
          <?xml version="1.0" encoding="UTF-8"?>
          <beans xmlns="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.0.xsd">

          而且我也把 XFire Core lib 中有Spring1.2.6 也刪除了
          網(wǎng)上都被我找遍了,,還是沒(méi)有發(fā)現(xiàn)....
          大姐,幫幫我.....
            回復(fù)  更多評(píng)論
            
          # re: 使用XFire+Spring構(gòu)建Web Service(一)——helloWorld篇
          2008-04-17 18:05 | yangpan
          親愛(ài)的阿蜜果
          上面的Spring配置文件applicationContext.xml和xfire-servlet.xml

          是怎么結(jié)合在一起的......

          上面的錯(cuò)誤我解決了,,但又有一個(gè)錯(cuò)誤:

          org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'webservice.example2.UserServiceImpl' is defined



          嗚~~~~~~~我都搞了三天了,,,,你就幫幫我了,,,

          快幫你的 項(xiàng)目 給我....我

            回復(fù)  更多評(píng)論
            
          # re: 使用XFire+Spring構(gòu)建Web Service(一)——helloWorld篇
          2008-04-18 11:22 | yangpan

          嗚~~~~~~~~~~~~~

          錯(cuò)誤找到咯,,,,,,,三天啊. 嗚~~~~~~~~~

          是我的.xml 寫錯(cuò)了文件

          我該罵..你們罵我吧  回復(fù)  更多評(píng)論
            
          # re: 使用XFire+Spring構(gòu)建Web Service(一)——helloWorld篇
          2008-05-22 15:31 | Nic
          我的ContextLoaderListener 這個(gè)監(jiān)聽(tīng)器加載的時(shí)候有問(wèn)題 是不是缺少某個(gè)JAR包啊?。能給我發(fā)一份嗎?我的郵箱是:morosefingerling@gmail.com 不勝感激  回復(fù)  更多評(píng)論
            
          # re: 使用XFire+Spring構(gòu)建Web Service(一)——helloWorld篇
          2008-05-22 17:56 | Nic
          我的問(wèn)題解決了。。不知道大家是不是和我遇到的問(wèn)題一樣,簡(jiǎn)單說(shuō)一下:
          我用的是MyEclipse6.0
          一、用Eclipse Add Web Service Capabilities 這樣使用的是Spring1.2的包,而我使用的是Spring2.0 這樣產(chǎn)生了沖突。刪除1.2的就OK了
          二、web.xml中 <param-value>/WEB-INF/classes/applicationContext.xml,/WEB-INF/classes/xfire-servlet.xml</param-value>才能找到對(duì)應(yīng)的文件,xfire-servlet.xml文件放在工程的/WEB-INF/xfire-servlet.xml和,/WEB-INF/classes/xfire-servlet.xml 下。
          希望對(duì)大家有幫助,還是要多謝阿蜜果。有空可以聊聊天啊 16640813 :)  回復(fù)  更多評(píng)論
            
          # re: 使用XFire+Spring構(gòu)建Web Service(一)——helloWorld篇
          2008-06-04 18:29 | 小貓
          繼續(xù)研究種  回復(fù)  更多評(píng)論
            
          # re: 使用XFire+Spring構(gòu)建Web Service(一)——helloWorld篇
          2008-06-20 10:27 | lhy
          能不能發(fā)份代碼我看看,我按照你寫的還是沒(méi)配出來(lái),搞了好幾天了,郁悶啊
          郵箱:li_hy2004@163.com
          謝謝了  回復(fù)  更多評(píng)論
            
          # re: 使用XFire+Spring構(gòu)建Web Service(一)——helloWorld篇
          2008-06-23 10:15 | lhy
          我的問(wèn)題解決了,和nic一樣是spring包的問(wèn)題,沒(méi)想到xfire的包里已經(jīng)有spring的包了,我又加了spring2.0的包-_-!
          多謝阿蜜瓜^^  回復(fù)  更多評(píng)論
            
          # re: 使用XFire+Spring構(gòu)建Web Service(一)——helloWorld篇
          2008-07-20 09:53 | lifeng
          為什么我刪了那個(gè)spring1.x的包就不行呢,說(shuō)org/codehaus/xfire/spring/xfire.xml不存在。。。還要做什么改動(dòng)嗎?  回復(fù)  更多評(píng)論
            
          # re: 使用XFire+Spring構(gòu)建Web Service(一)——helloWorld篇[未登錄](méi)
          2008-09-08 16:30 | jane
          文章簡(jiǎn)介實(shí)用.一試成功.真是舒服的體驗(yàn)過(guò)程.  回復(fù)  更多評(píng)論
            
          # re: 使用XFire+Spring構(gòu)建Web Service(一)——helloWorld篇
          2008-09-19 14:22 | 楊培海
          阿米果老師,Xfire怎么傳遞數(shù)組啊?  回復(fù)  更多評(píng)論
            
          # re: 使用XFire+Spring構(gòu)建Web Service(一)——helloWorld篇
          2008-11-18 16:53 | 湯帥
          請(qǐng)問(wèn)在創(chuàng)建客戶端的時(shí)候必須要有一個(gè)HelloWorld這個(gè)類嗎?  回復(fù)  更多評(píng)論
            
          # re: 使用XFire+Spring構(gòu)建Web Service(一)——helloWorld篇
          2008-12-09 21:53 | dmx
          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.Client.invoke(Client.java:368)
          at test.WebServiceClientTest.testClient(WebServiceClientTest.java:25)
          at test.WebServiceClientTest.main(WebServiceClientTest.java:14)


          幫我看看怎么回事好么?謝謝!  回復(fù)  更多評(píng)論
            
          # re: 使用XFire+Spring構(gòu)建Web Service(一)——helloWorld篇
          2008-12-10 20:20 | dmx
          @dmx
          版主 救助啊  回復(fù)  更多評(píng)論
            
          # re: 使用XFire+Spring構(gòu)建Web Service(一)——helloWorld篇
          2009-04-15 19:05 | fire1
          這個(gè)問(wèn)題 是由于application.xml文件的頭部信息不兼容  回復(fù)  更多評(píng)論
            
          # re: 使用XFire+Spring構(gòu)建Web Service(一)——helloWorld篇
          2009-05-13 16:56 | A.biao
          Retrieving document at 'null'.
          log4j:WARN No appenders could be found for logger (org.springframework.beans.factory.xml.XmlBeanDefinitionReader).
          log4j:WARN Please initialize the log4j system properly.

          Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/httpclient/methods/RequestEntity
          at java.lang.Class.getDeclaredConstructors0(Native Method)
          at java.lang.Class.privateGetDeclaredConstructors(Class.java:2328)
          at java.lang.Class.getConstructor0(Class.java:2640)
          at java.lang.Class.getConstructor(Class.java:1629)
          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 test.WebServiceClientTest.testClient(WebServiceClientTest.java:27)
          at test.WebServiceClientTest.main(WebServiceClientTest.java:18)

          按啊蜜果老師的教程做到測(cè)試時(shí)就報(bào)這個(gè)錯(cuò)誤了!能幫幫我找出什么原因嗎?
          還有那個(gè) Retrieving document at 'null'.
            回復(fù)  更多評(píng)論
            
          # re: 使用XFire+Spring構(gòu)建Web Service(一)——helloWorld篇
          2009-05-15 16:47 | nihao
          2009-5-15 8:46:04 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
          信息: Loading XML bean definitions from class path resource [client.xml]
          2009-5-15 8:46:04 org.springframework.context.support.AbstractRefreshableApplicationContext refreshBeanFactory
          信息: Bean factory for application context [org.springframework.context.support.ClassPathXmlApplicationContext;hashCode=3043939]: org.springframework.beans.factory.support.DefaultListableBeanFactory defining beans [testWebService]; root of BeanFactory hierarchy
          2009-5-15 8:46:04 org.springframework.context.support.AbstractApplicationContext refresh
          信息: 1 beans defined in application context [org.springframework.context.support.ClassPathXmlApplicationContext;hashCode=3043939]
          2009-5-15 8:46:04 org.springframework.core.CollectionFactory <clinit>
          信息: JDK 1.4+ collections available
          2009-5-15 8:46:04 org.springframework.context.support.AbstractApplicationContext initMessageSource
          信息: Unable to locate MessageSource with name 'messageSource': using default [org.springframework.context.support.DelegatingMessageSource@f62373]
          2009-5-15 8:46:04 org.springframework.context.support.AbstractApplicationContext initApplicationEventMulticaster
          信息: Unable to locate ApplicationEventMulticaster with name 'applicationEventMulticaster': using default [org.springframework.context.event.SimpleApplicationEventMulticaster@7c6768]
          2009-5-15 8:46:04 org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons
          信息: Pre-instantiating singletons in factory [org.springframework.beans.factory.support.DefaultListableBeanFactory defining beans [testWebService]; root of BeanFactory hierarchy]
          Retrieving document at 'null'.  回復(fù)  更多評(píng)論
            
          # re: 使用XFire+Spring構(gòu)建Web Service(一)——helloWorld篇
          2009-07-14 16:49 | birbe
          Could not open ServletContext resource [/WEB-INF/xfire-servlet.xml] 是怎么回事,另外 為什么訪問(wèn)地址是http://localhost:8080/webservice_helloworld/HelloWorldService.ws?wsdl 其中 webservice_helloworld不知道是怎么回事  回復(fù)  更多評(píng)論
            
          # re: 使用XFire+Spring構(gòu)建Web Service(一)——helloWorld篇
          2009-07-14 17:01 | tanglong
          阿米果姐姐,小弟我是初學(xué)著,能不能也給我發(fā)一份啊 我的郵箱是
          tanglongjava@163.com  回復(fù)  更多評(píng)論
            
          # re: 使用XFire+Spring構(gòu)建Web Service(一)——helloWorld篇[未登錄](méi)
          2009-07-22 17:11 | tang
          出現(xiàn)如下同樣問(wèn)題:

          2007-11-05 15:00 | dong2590

          @阿蜜果
          我到原因了~是JAR包沖突的問(wèn)題~Javax.xml.namespace.QName的方法定義太舊,用xfile的lib里面的stax-api-1.0.1.jar和stax-utils-20040917.jar
          并刪除舊的javax.xml.namespace.QName如jaxrpc.jar問(wèn)題就好了..但是現(xiàn)在又出來(lái)個(gè)新的問(wèn)題~
          我在web.xml作了如下配置:
          <context-param>
          <param-name>contextConfigLocation</param-name>
          <param-value>/WEB-INF/classes/applicationContext.xml,/WEB-INF/classes/xfire-servlet.xml</param-value>
          </context-param>
          但是在Tomcat啟動(dòng)時(shí).卻報(bào)錯(cuò).
          ERROR DispatcherServlet:227 - Context initialization failed
          org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from ServletContext resource [/WEB-INF/XFire-servlet.xml]; nested exception is java.io.FileNotFoundException: Could not open ServletContext resource [/WEB-INF/XFire-servlet.xml]
          java.io.FileNotFoundException: Could not open ServletContext resource [/WEB-INF/XFire-servlet.xml]

          我這就搞不懂了~為什么會(huì)去到WEB-INF下面去找??
          為什么呢?
          能加我QQ嗎?QQ:52016639==>驗(yàn)證提示:唐  回復(fù)  更多評(píng)論
            
          # re: 使用XFire+Spring構(gòu)建Web Service(一)——helloWorld篇
          2009-12-16 19:00 | Will云
          按照你的教程還是比較容易的,只是我想問(wèn)下,xfire-servlet.xml這個(gè)文件是不是只能放在webinf下?因?yàn)槲乙桓奈恢?就會(huì)報(bào)錯(cuò),而applicationcontext.xml換了位置就沒(méi)問(wèn)題的  回復(fù)  更多評(píng)論
            
          # re: 使用XFire+Spring構(gòu)建Web Service(一)——helloWorld篇
          2010-01-14 14:10 | changchang9977
          你把工程發(fā)給我一份吧!郵箱:changchang9977@sina.com  回復(fù)  更多評(píng)論
            
          # re: 使用XFire+Spring構(gòu)建Web Service(一)——helloWorld篇
          2010-03-16 16:30 | 云運(yùn)
          我最后需要把wsdl文件發(fā)給別人的,我怎么才能找到或得到這個(gè)wsdl文件呀?  回復(fù)  更多評(píng)論
            
          # re: 使用XFire+Spring構(gòu)建Web Service(一)——helloWorld篇
          2010-03-16 16:31 | 云運(yùn)
          很急的,我的QQ:929304944,能給我發(fā)到我的Q郵箱嗎?或加我的Q。  回復(fù)  更多評(píng)論
            
          # re: 使用XFire+Spring構(gòu)建Web Service(一)——helloWorld篇
          2010-06-22 18:41 | greenfish
          我把第一個(gè)例子自己練習(xí)了下,有這個(gè)錯(cuò)誤。。
          Exception in thread "main" org.codehaus.xfire.XFireRuntimeException: Could not find operation with name sayHelloWorld
          at org.codehaus.xfire.client.Client.invoke(Client.java:366)
          at test.WebServiceClientTest.testClient(WebServiceClientTest.java:31)
          at test.WebServiceClientTest.main(WebServiceClientTest.java:20)

          請(qǐng)問(wèn)咋回事呢。。我實(shí)在不知道怎么做了。。呵呵,麻煩幫我看看。。謝謝~  回復(fù)  更多評(píng)論
            
          # re: 使用XFire+Spring構(gòu)建Web Service(一)——helloWorld篇
          2011-03-25 09:27 | 小GG
          # re: 使用XFire+Spring構(gòu)建Web Service(一)——helloWorld篇
          2011-05-31 16:36 | 問(wèn)天
          我今天看了下你寫的東西,我個(gè)人感覺(jué)你寫的東西對(duì)我有用, 因?yàn)槲椰F(xiàn)在也需要寫個(gè)第三接口,能不能把發(fā)份完整的項(xiàng)目給我,好讓我琢磨琢磨下

          郵箱:kavinjuan183@sina.com
          謝謝  回復(fù)  更多評(píng)論
            
          # re: 使用XFire+Spring構(gòu)建Web Service(一)——helloWorld篇
          2011-09-02 11:12 | pande
          很好的教程,一看就會(huì)。  回復(fù)  更多評(píng)論
            
          # re: 使用XFire+Spring構(gòu)建Web Service(一)——helloWorld篇
          2011-09-22 11:19 | 老瓜
          @阿蜜果
          你好,能加入12375544這個(gè)QQ群嘛,500人的技術(shù)群,你這樣的高手不多見(jiàn)啊,歡迎你加入一塊聊技術(shù)啊  回復(fù)  更多評(píng)論
            
          # re: 使用XFire+Spring構(gòu)建Web Service(一)——helloWorld篇
          2011-10-14 09:20 | youknow
          我的項(xiàng)目要用到webservice,我自己調(diào)試了么有成功,可以給我提供下項(xiàng)目源碼。讓我參考下嗎,謝謝。
          郵箱是ityouknow@126.com  回復(fù)  更多評(píng)論
            
          # re: 使用XFire+Spring構(gòu)建Web Service(一)——helloWorld篇
          2011-11-16 12:31 | JIANCHIC
          對(duì)@cnjar
            回復(fù)  更多評(píng)論
            
          # re: 使用XFire+Spring構(gòu)建Web Service(一)——helloWorld篇
          2011-11-28 11:10 | 小哦哈給你
          @jackie
          需要自己建的!那個(gè)文件相當(dāng)于另外一個(gè)spring配置文件,只是把他分解出來(lái)了!  回復(fù)  更多評(píng)論
            
          # re: 使用XFire+Spring構(gòu)建Web Service(一)——helloWorld篇
          2012-06-14 23:04 | 淮少
          你怎么解決的,說(shuō)明下啊@yangpan
            回復(fù)  更多評(píng)論
            
          # re: 使用XFire+Spring構(gòu)建Web Service(一)——helloWorld篇
          2012-07-07 23:34 | 馬云
          好文章~  回復(fù)  更多評(píng)論
            
          # re: 使用XFire+Spring構(gòu)建Web Service(一)——helloWorld篇
          2012-09-06 15:51 | 小草
          你把工程發(fā)給我一份嗎,非常感謝!郵箱:381802454@qq.com  回復(fù)  更多評(píng)論
            
          # re: 使用XFire+Spring構(gòu)建Web Service(一)——helloWorld篇
          2013-03-02 14:29 | 張虹劍
          @tanglong
            回復(fù)  更多評(píng)論
            
          # re: 使用XFire+Spring構(gòu)建Web Service(一)——helloWorld篇
          2013-03-02 14:29 | 張虹劍
          給我也發(fā)一份呀  回復(fù)  更多評(píng)論
            
          # re: 使用XFire+Spring構(gòu)建Web Service(一)——helloWorld篇
          2013-05-01 19:30 | wxd
          請(qǐng)問(wèn)與spring集成后,某個(gè)Web Service的命名空間和方法名是什么?  回復(fù)  更多評(píng)論
            
          # re: 使用XFire+Spring構(gòu)建Web Service(一)——helloWorld篇
          2013-05-03 10:51 | wxd
          @wxd
          我太笨了,可以通過(guò)訪問(wèn)
          http://localhost:8080/*.ws?wsdl
          上面給出了命名空間和方法名

          非常感謝博主的這幾篇博文幫助我完成項(xiàng)目,貌似博主還是女生,真厲害~  回復(fù)  更多評(píng)論
            
          # re: 使用XFire+Spring構(gòu)建Web Service(一)——helloWorld篇
          2013-10-28 17:41 | 劉東旭
          liu478048060@163.com
          不知道您現(xiàn)在還有這個(gè)項(xiàng)目嗎?
          有的話能給一份作為學(xué)習(xí)參考嗎?  回復(fù)  更多評(píng)論
            
          # re: 使用XFire+Spring構(gòu)建Web Service(一)——helloWorld篇
          2013-10-28 17:42 | 劉東旭
          liu478048069@163.com
          不知道您現(xiàn)在還有這個(gè)項(xiàng)目嗎?
          有的話能給一份作為學(xué)習(xí)參考嗎?
          不好意思 剛才的品論郵箱弄錯(cuò)了
          liu478048069@163.com  回復(fù)  更多評(píng)論
            
          # re: 使用XFire+Spring構(gòu)建Web Service(一)——helloWorld篇
          2014-06-13 16:08 | 張黎明
          請(qǐng)問(wèn)一下大神,這種方式加上頭驗(yàn)證信息怎么處理?網(wǎng)絡(luò)上大部分是使用service.xml配置,不知道xfire-servlet.xml 中能否進(jìn)行配置?  回復(fù)  更多評(píng)論
            
          # re: 使用XFire+Spring構(gòu)建Web Service(一)——helloWorld篇
          2014-08-03 10:25 | jiuzuizhiren
          可以把源碼發(fā)到我的郵箱嗎?liaowenxiong@sina.com 或者 QQ離線發(fā)送給我,QQ:1036450138 謝謝了  回復(fù)  更多評(píng)論
            
          # re: 使用XFire+Spring構(gòu)建Web Service(一)——helloWorld篇
          2014-11-27 10:37 | 菜鳥(niǎo)新手

          Client client = new Client(new URL("http://localhost:8083/myAppName/services/taskReveiceService?wsdl"));


          Exception in thread "main" java.lang.AbstractMethodError: org.apache.xerces.dom.DeferredDocumentImpl.getInputEncoding()Ljava/lang/String;  回復(fù)  更多評(píng)論
            
          # org.codehaus.xfire.XFireRuntimeException
          2015-05-25 20:46 | lqmnm1213

          String wsdl = "HelloWorldService.wsdl"; //對(duì)應(yīng)的WSDL文件
          Resource resource = new ClassPathResource(wsdl);
          Client client = new Client(resource.getInputStream(), null);


          Exception in thread "main" org.codehaus.xfire.fault.XFireFault: Server returned error code = 404 for URI : http://localhost:8080/XFireSpring/HelloWorldService.ws. Check server logs for details
          at org.codehaus.xfire.fault.XFireFault.createFault(XFireFault.java:89)
          at org.codehaus.xfire.client.Invocation.invoke(Invocation.java:83)
          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 test.WebServiceClientTest.testClient(WebServiceClientTest.java:54)
          at test.WebServiceClientTest.main(WebServiceClientTest.java:28)
          Caused by: org.codehaus.xfire.XFireRuntimeException: Server returned error code = 404 for URI : http://localhost:8080/XFireSpring/HelloWorldService.ws. Check server logs for details
          at org.codehaus.xfire.transport.http.HttpChannel.sendViaClient(HttpChannel.java:130)
          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)
          ... 5 more  回復(fù)  更多評(píng)論
            
          # re: 使用XFire+Spring構(gòu)建Web Service(一)——helloWorld篇
          2015-08-08 18:39 | 卉卉
          能不能也給我發(fā)份呢!!謝謝了!!!zhangfeifei89757@qq.com  回復(fù)  更多評(píng)論
            
          <2007年9月>
          2627282930311
          2345678
          9101112131415
          16171819202122
          23242526272829
          30123456

                生活將我們磨圓,是為了讓我們滾得更遠(yuǎn)——“圓”來(lái)如此。
                我的作品:
                玩轉(zhuǎn)Axure RP  (2015年12月出版)
                

                Power Designer系統(tǒng)分析與建模實(shí)戰(zhàn)  (2015年7月出版)
                
               Struts2+Hibernate3+Spring2   (2010年5月出版)
               

          留言簿(263)

          隨筆分類

          隨筆檔案

          文章分類

          相冊(cè)

          關(guān)注blog

          積分與排名

          • 積分 - 2293850
          • 排名 - 3

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 花莲市| 成武县| 封开县| 锡林浩特市| 莱州市| 弥勒县| 鱼台县| 辽中县| 宽甸| 雷州市| 巴马| 延吉市| 吉水县| 东乡族自治县| 木里| 辽宁省| 东安县| 武宣县| 日喀则市| 巩留县| 双江| 玛曲县| 开江县| 会泽县| 营山县| 柘荣县| 穆棱市| 固安县| 眉山市| 宁都县| 柳林县| 波密县| 滕州市| 东丽区| 永福县| 呼图壁县| 桦川县| 武胜县| 岚皋县| 二连浩特市| 慈利县|