Loading...

          java .net

          昨天用xfire寫了第一個webservice

          忙里偷閑
          研究了一下webservice,做了個hello world
          一點理解,xfire能把一個普通java類映射成web服務
          首先要建立一個供外部調用的接口interface
          然后建立一個類實現這個接口
          再然后在service.xml中配置web服務的名字,名稱空間,接口類名,實現接口的類名,這個service.xml文件要放在src/META-INF/xfire/services.xml
          最后在web.xml中配置xfire 的servlet
          OK了
          ===============接口HelloWorldService 類==================
          package com.capinfo.xfire.pojo;
          /**
          * @author sing
          * @explain:
          * @datetime:Mar 26, 2008 4:48:19 PM
          */

          public interface HelloWorldService {

              public String sayHello();
             
          }
          ==============接口實現類HelloWorldServiceImpl =====================
          package com.capinfo.xfire.pojo;
          /**
          * @author sing
          * @explain:
          * @datetime:Mar 26, 2008 4:50:15 PM
          */
          public class HelloWorldServiceImpl implements HelloWorldService {

              public String sayHello() {
                 
                  return "this.is.my first web service";
              }

          }
          ===============service.xml==================
          <?xml version="1.0" encoding="UTF-8"?>
          <beans xmlns="http://xfire.codehaus.org/config/1.0">
          <service>
              <name>HelloWorldService</name>
              <namespace>http://capinfo.com/HelloWorldService</namespace>
              <serviceClass>
                  com.capinfo.xfire.pojo.HelloWorldService
              </serviceClass>
              <implementationClass>
                  com.capinfo.xfire.pojo.HelloWorldServiceImpl
              </implementationClass>
          </service>
          </beans>
          ==============web.xml=======================
          <?xml version="1.0" encoding="UTF-8"?>
          <web-app version="2.4"
              xmlns="http://java.sun.com/xml/ns/j2ee"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
              http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

              <servlet>
                  <servlet-name>XFireServlet</servlet-name>
                  <display-name>XFire Servlet</display-name>
                  <servlet-class>
                      org.codehaus.xfire.transport.http.XFireConfigurableServlet
                  </servlet-class>
              </servlet>
             
              <servlet-mapping>
                  <servlet-name>XFireServlet</servlet-name>
                  <url-pattern>/servlet/XFireServlet/*</url-pattern>
              </servlet-mapping>

              <servlet-mapping>
                  <servlet-name>XFireServlet</servlet-name>
                  <url-pattern>/services/*</url-pattern>
              </servlet-mapping>
          <welcome-file-list>
              <welcome-file>index.jsp</welcome-file>
          </welcome-file-list>
          </web-app>
          ===================Test.java========================
          package com.capinfo.xfire.pojo;

          import java.net.MalformedURLException;

          import org.codehaus.xfire.client.XFireProxyFactory;
          import org.codehaus.xfire.service.Service;
          import org.codehaus.xfire.service.binding.ObjectServiceFactory;

          /**
          * @author spring
          * @explain:
          * @datetime:Mar 26, 2008 5:50:02 PM
          */
          public class Test {

              public static void main(String [] args){
                  Service serviceModel = new ObjectServiceFactory().create(HelloWorldService.class);
                  try {
                      HelloWorldService service = (HelloWorldService)
                          new XFireProxyFactory().create(serviceModel, "http://localhost:8081/xfire/services/HelloWorldService");
                      System.out.println(service.sayHello());
                  } catch (MalformedURLException e) {
                      e.printStackTrace();
                  }
              }
          }

          ======================放jar包========================
          "activation-1.1.jar"
          "commons-codec-1.3.jar"
          "commons-httpclient-3.0.jar"
          "commons-logging-1.0.4.jar"
          "jaxen-1.1-beta-9.jar"
          "jdom-1.0.jar"
          "mail-1.4.jar"
          "spring-1.2.6.jar"
          "stax-api-1.0.1.jar"
          "wsdl4j-1.6.1.jar"
          "wstx-asl-3.2.0.jar"
          "xbean-spring-2.8.jar"
          "xfire-all-1.2.6.jar"


          參考資源:http://www.aygfsteel.com/fastzch/archive/2008/01/03/172535.html

          posted on 2008-08-26 22:06 閱讀(286) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          公告

          希望有一天

          我能用鼠標雙擊我的錢包

          然后選中一張100元

          按住“ctrl+c”

          接著不停的“ctrl+v”

          嘻嘻~~~笑醒~~~



          導航

          <2008年8月>
          272829303112
          3456789
          10111213141516
          17181920212223
          24252627282930
          31123456

          統計

          常用鏈接

          留言簿(6)

          隨筆分類(102)

          隨筆檔案(398)

          文章分類

          文章檔案(10)

          有趣網絡

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 桐梓县| 磴口县| 简阳市| 安龙县| 怀宁县| 莲花县| 陆丰市| 铜梁县| 岳阳县| 南城县| 广丰县| 和顺县| 承德县| 铜梁县| 新干县| 庆城县| 衡东县| 佛教| 思茅市| 陈巴尔虎旗| 蓬莱市| 龙胜| 抚远县| 兴业县| 永修县| 大足县| 宜川县| 石楼县| 上饶县| 上饶市| 潮安县| 阿荣旗| 福清市| 凤阳县| 莒南县| 宿松县| 舒城县| 黔东| 科技| 四会市| 合肥市|