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 閱讀(289) 評論(0)  編輯  收藏


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


          網站導航:
           

          公告

          希望有一天

          我能用鼠標雙擊我的錢包

          然后選中一張100元

          按住“ctrl+c”

          接著不停的“ctrl+v”

          嘻嘻~~~笑醒~~~



          導航

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

          統計

          常用鏈接

          留言簿(6)

          隨筆分類(102)

          隨筆檔案(398)

          文章分類

          文章檔案(10)

          有趣網絡

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 闻喜县| 巩义市| 昌平区| 会同县| 中山市| 古交市| 曲松县| 鹤山市| 长白| 武安市| 临安市| 高唐县| 奉节县| 大兴区| 会宁县| 邢台市| 宝鸡市| 资阳市| 托里县| 华阴市| 安化县| 宝应县| 汾西县| 大港区| 安乡县| 饶阳县| 郴州市| 论坛| 峡江县| 门头沟区| 祁东县| 扎兰屯市| 武汉市| 噶尔县| 闵行区| 漳浦县| 紫金县| 开江县| 老河口市| 叙永县| 天等县|