Loading...

          java .net

          昨天用xfire寫了第一個webservice

          忙里偷閑
          研究了一下webservice,做了個hello world
          一點(diǎn)理解,xfire能把一個普通java類映射成web服務(wù)
          首先要建立一個供外部調(diào)用的接口interface
          然后建立一個類實(shí)現(xiàn)這個接口
          再然后在service.xml中配置web服務(wù)的名字,名稱空間,接口類名,實(shí)現(xiàn)接口的類名,這個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();
             
          }
          ==============接口實(shí)現(xiàn)類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)  編輯  收藏


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


          網(wǎng)站導(dǎo)航:
           

          公告

          希望有一天

          我能用鼠標(biāo)雙擊我的錢包

          然后選中一張100元

          按住“ctrl+c”

          接著不停的“ctrl+v”

          嘻嘻~~~笑醒~~~



          導(dǎo)航

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

          統(tǒng)計

          常用鏈接

          留言簿(6)

          隨筆分類(102)

          隨筆檔案(398)

          文章分類

          文章檔案(10)

          有趣網(wǎng)絡(luò)

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 黔西| 桦南县| 广水市| 突泉县| 韶山市| 宁德市| 原阳县| 兴仁县| 太和县| 遂宁市| 科技| 白河县| 浪卡子县| 会宁县| 深圳市| 扶余县| 正安县| 阿拉善左旗| 长海县| 垫江县| 海兴县| 江北区| 阜城县| 汝南县| 保定市| 宁乡县| 岑巩县| 昌吉市| 四子王旗| 潜江市| 重庆市| 三亚市| 昌都县| 泾川县| 侯马市| 阿瓦提县| 新竹县| 若尔盖县| 车致| 昭通市| 始兴县|