sunfruit[請訪問http://www.fruitres.cn]

          --我相信JAVA能走得更遠 QQ:316228067

          [原創(chuàng)]基于SOAP的JAVA編寫的WEBSERVICE實例

              --sunfruit

              近來webservice很流行,所以自己也做了一個webservice的server和client調(diào)試成功,其中也遇到了一些問題為了讓大家在調(diào)試的時候少走冤路,把寫好的server和client的源代碼發(fā)布出來給大家做一個參考

              由于用JB發(fā)布一個webservice的server很容易,所以就不具體說明發(fā)布過程了,而且網(wǎng)上也有很多這樣的例子,或者自己摸索著也能發(fā)布成功

              在源代碼中寫了必要的注釋便于大家解讀

              server的源代碼

              package com.service;

          public class HelloWorld{

            public String sayHello(){
              return "Hello world!";
            }

            public String echo(String u){
              return "Hello " + u;
            }

            public void setName(String name){
              System.out.println(name);
            }

          }

          很簡單吧,本來就不復雜的,主要是對于接口的設計和接口的實現(xiàn)設計牽扯的業(yè)務啦、擴展啦等等比較多,那些才算復雜,就webservice的技術(shù)本身來說不復雜的

          下面來看click的源代碼

          package clicktest;

          import java.util.*;
          import java.net.*;
          import org.apache.soap.*;
          import org.apache.soap.rpc.*;

          public class ClickTest {

              public static void main(String[] args) throws Exception {

                  //改成你的地址
                  URL url = new URL ("http://localhost:8080/WebModule2/services/HelloWorld");


                  // 創(chuàng)建調(diào)用
                  Call call = new Call ();
           
           //設置編碼方式,不用修改
                  call.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC);
                  Response resp = null;

                  //調(diào)用方法名,因為沒有返回值所以只需要這一行
                  call.setMethodName("setName");


                  //設置該方法的參數(shù),如果沒有參數(shù),則不需要設置
                  Vector params = new Vector();
                  params.addElement(new Parameter("test", String.class, "my name setName", null));
                  call.setParams(params);
                  call.invoke(url, "");

                  //調(diào)用方法名
                  call.setMethodName("echo");
                  params.clear();
                  params.addElement(new Parameter("test", String.class, "my name echo", null));
                  call.setParams(params);
                  //返回值對象
                  try {
                    resp = call.invoke(url, "");
                  }
                  catch (SOAPException e) {
                    e.printStackTrace();
                  }
                  // 檢查返回值
                  if (resp != null && !resp.generatedFault()) {
                    Parameter ret = resp.getReturnValue();
                    Object value = ret.getValue();

                    System.out.println("Answer--> " + value);
                  }
                  else {
                    Fault fault = resp.getFault();
                    System.err.println("Generated fault echo: ");
                    System.out.println(" Fault Code = " + fault.getFaultCode());
                    System.out.println(" Fault String = " + fault.getFaultString());
                  }

                  //調(diào)用方法名
                  call.setMethodName("sayHello");
           //由于沒有參數(shù)所以將Params置為null
                  call.setParams(null);
                  //返回值對象
                  resp = null;
                  try {
                    resp = call.invoke(url, "");
                  }
                  catch (SOAPException e) {
                    e.printStackTrace();
                  }
                  // 檢查返回值
                  if (resp != null && !resp.generatedFault()) {
                    Parameter ret = resp.getReturnValue();
                    Object value = ret.getValue();

                    System.out.println("Answer--> " + value);
                  }
                  else {
                    Fault fault = resp.getFault();
                    System.err.println("Generated fault sayHello: ");
                    System.out.println(" Fault Code = " + fault.getFaultCode());
                    System.out.println(" Fault String = " + fault.getFaultString());
                  }
                }
          }

          感覺有些多是吧,其實也不多的,主要是模擬了接口的三個方法的調(diào)用,如果是一個沒有返回值得方法調(diào)用也就是幾行就可以了,是不是感覺清楚了

          這個server和client在JBX中測試通過

          posted on 2006-02-19 17:37 sunfruit 閱讀(3347) 評論(3)  編輯  收藏 所屬分類: WEB SERVICE

          評論

          # re: [原創(chuàng)]基于SOAP的JAVA編寫s的WEBSERVICE實例 2008-06-03 16:08 sss


          感覺有些多是吧,其實也不多的,主要是模擬了接口的三個方法的調(diào)用,如果是一個沒有返回值得方法調(diào)用也就是幾行就可以了,是不是感覺清楚了
          感覺有些多是吧,其實也不多的,主要是模擬了接口的三個方法的調(diào)用,如果是一個沒有返回值得方法調(diào)用也就是幾行就可以了,是不是感覺清楚了
          感覺有些多是吧,其實也不多的,主要是模擬了接口的三個方法的調(diào)用,如果是一個沒有返回值得方法調(diào)用也就是幾行就可以了,是不是感覺清楚了
          感覺有些多是吧,其實也不多的,主要是模擬了接口的三個方法的調(diào)用,如果是一個沒有返回值得方法調(diào)用也就是幾行就可以了,是不是感覺清楚了
          感覺有些多是吧,其實也不多的,主要是模擬了接口的三個方法的調(diào)用,如果是一個沒有返回值得方法調(diào)用也就是幾行就可以了,是不是感覺清楚了
          感覺有些多是吧,其實也不多的,主要是模擬了接口的三個方法的調(diào)用,如果是一個沒有返回值得方法調(diào)用也就是幾行就可以了,是不是感覺清楚了
          感覺有些多是吧,其實也不多的,主要是模擬了接口的三個方法的調(diào)用,如果是一個沒有返回值得方法調(diào)用也就是幾行就可以了,是不是感覺清楚了
          感覺有些多是吧,其實也不多的,主要是模擬了接口的三個方法的調(diào)用,如果是一個沒有返回值得方法調(diào)用也就是幾行就可以了,是不是感覺清楚了
          感覺有些多是吧,其實也不多的,主要是模擬了接口的三個方法的調(diào)用,如果是一個沒有返回值得方法調(diào)用也就是幾行就可以了,是不是感覺清楚了
          感覺有些多是吧,其實也不多的,主要是模擬了接口的三個方法的調(diào)用,如果是一個沒有返回值得方法調(diào)用也就是幾行就可以了,是不是感覺清楚了
          感覺有些多是吧,其實也不多的,主要是模擬了接口的三個方法的調(diào)用,如果是一個沒有返回值得方法調(diào)用也就是幾行就可以了,是不是感覺清楚了
          感覺有些多是吧,其實也不多的,主要是模擬了接口的三個方法的調(diào)用,如果是一個沒有返回值得方法調(diào)用也就是幾行就可以了,是不是感覺清楚了
          感覺有些多是吧,其實也不多的,主要是模擬了接口的三個方法的調(diào)用,如果是一個沒有返回值得方法調(diào)用也就是幾行就可以了,是不是感覺清楚了
          感覺有些多是吧,其實也不多的,主要是模擬了接口的三個方法的調(diào)用,如果是一個沒有返回值得方法調(diào)用也就是幾行就可以了,是不是感覺清楚了
          感覺有些多是吧,其實也不多的,主要是模擬了接口的三個方法的調(diào)用,如果是一個沒有返回值得方法調(diào)用也就是幾行就可以了,是不是感覺清楚了
          感覺有些多是吧,其實也不多的,主要是模擬了接口的三個方法的調(diào)用,如果是一個沒有返回值得方法調(diào)用也就是幾行就可以了,是不是感覺清楚了
          感覺有些多是吧,其實也不多的,主要是模擬了接口的三個方法的調(diào)用,如果是一個沒有返回值得方法調(diào)用也就是幾行就可以了,是不是感覺清楚了
          感覺有些多是吧,其實也不多的,主要是模擬了接口的三個方法的調(diào)用,如果是一個沒有返回值得方法調(diào)用也就是幾行就可以了,是不是感覺清楚了
          感覺有些多是吧,其實也不多的,主要是模擬了接口的三個方法的調(diào)用,如果是一個沒有返回值得方法調(diào)用也就是幾行就可以了,是不是感覺清楚了
          感覺有些多是吧,其實也不多的,主要是模擬了接口的三個方法的調(diào)用,如果是一個沒有返回值得方法調(diào)用也就是幾行就可以了,是不是感覺清楚了
          感覺有些多是吧,其實也不多的,主要是模擬了接口的三個方法的調(diào)用,如果是一個沒有返回值得方法調(diào)用也就是幾行就可以了,是不是感覺清楚了
          感覺有些多是吧,其實也不多的,主要是模擬了接口的三個方法的調(diào)用,如果是一個沒有返回值得方法調(diào)用也就是幾行就可以了,是不是感覺清楚了
          感覺有些多是吧,其實也不多的,主要是模擬了接口的三個方法的調(diào)用,如果是一個沒有返回值得方法調(diào)用也就是幾行就可以了,是不是感覺清楚了
          感覺有些多是吧,其實也不多的,主要是模擬了接口的三個方法的調(diào)用,如果是一個沒有返回值得方法調(diào)用也就是幾行就可以了,是不是感覺清楚了
          感覺有些多是吧,其實也不多的,主要是模擬了接口的三個方法的調(diào)用,如果是一個沒有返回值得方法調(diào)用也就是幾行就可以了,是不是感覺清楚了
          感覺有些多是吧,其實也不多的,主要是模擬了接口的三個方法的調(diào)用,如果是一個沒有返回值得方法調(diào)用也就是幾行就可以了,是不是感覺清楚了
          感覺有些多是吧,其實也不多的,主要是模擬了接口的三個方法的調(diào)用,如果是一個沒有返回值得方法調(diào)用也就是幾行就可以了,是不是感覺清楚了
          感覺有些多是吧,其實也不多的,主要是模擬了接口的三個方法的調(diào)用,如果是一個沒有返回值得方法調(diào)用也就是幾行就可以了,是不是感覺清楚了
          感覺有些多是吧,其實也不多的,主要是模擬了接口的三個方法的調(diào)用,如果是一個沒有返回值得方法調(diào)用也就是幾行就可以了,是不是感覺清楚了
          感覺有些多是吧,其實也不多的,主要是模擬了接口的三個方法的調(diào)用,如果是一個沒有返回值得方法調(diào)用也就是幾行就可以了,是不是感覺清楚了
          感覺有些多是吧,其實也不多的,主要是模擬了接口的三個方法的調(diào)用,如果是一個沒有返回值得方法調(diào)用也就是幾行就可以了,是不是感覺清楚了
          感覺有些多是吧,其實也不多的,主要是模擬了接口的三個方法的調(diào)用,如果是一個沒有返回值得方法調(diào)用也就是幾行就可以了,是不是感覺清楚了
          感覺有些多是吧,其實也不多的,主要是模擬了接口的三個方法的調(diào)用,如果是一個沒有返回值得方法調(diào)用也就是幾行就可以了,是不是感覺清楚了
          感覺有些多是吧,其實也不多的,主要是模擬了接口的三個方法的調(diào)用,如果是一個沒有返回值得方法調(diào)用也就是幾行就可以了,是不是感覺清楚了
          感覺有些多是吧,其實也不多的,主要是模擬了接口的三個方法的調(diào)用,如果是一個沒有返回值得方法調(diào)用也就是幾行就可以了,是不是感覺清楚了
          感覺有些多是吧,其實也不多的,主要是模擬了接口的三個方法的調(diào)用,如果是一個沒有返回值得方法調(diào)用也就是幾行就可以了,是不是感覺清楚了
          感覺有些多是吧,其實也不多的,主要是模擬了接口的三個方法的調(diào)用,如果是一個沒有返回值得方法調(diào)用也就是幾行就可以了,是不是感覺清楚了
          感覺有些多是吧,其實也不多的,主要是模擬了接口的三個方法的調(diào)用,如果是一個沒有返回值得方法調(diào)用也就是幾行就可以了,是不是感覺清楚了
          感覺有些多是吧,其實也不多的,主要是模擬了接口的三個方法的調(diào)用,如果是一個沒有返回值得方法調(diào)用也就是幾行就可以了,是不是感覺清楚了
          感覺有些多是吧,其實也不多的,主要是模擬了接口的三個方法的調(diào)用,如果是一個沒有返回值得方法調(diào)用也就是幾行就可以了,是不是感覺清楚了
          感覺有些多是吧,其實也不多的,主要是模擬了接口的三個方法的調(diào)用,如果是一個沒有返回值得方法調(diào)用也就是幾行就可以了,是不是感覺清楚了
          感覺有些多是吧,其實也不多的,主要是模擬了接口的三個方法的調(diào)用,如果是一個沒有返回值得方法調(diào)用也就是幾行就可以了,是不是感覺清楚了
          感覺有些多是吧,其實也不多的,主要是模擬了接口的三個方法的調(diào)用,如果是一個沒有返回值得方法調(diào)用也就是幾行就可以了,是不是感覺清楚了  回復  更多評論   

          # re: [原創(chuàng)]基于SOAP的JAVA編寫s的WEBSERVICE實例 2008-06-03 16:11 aaaa

          fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you   回復  更多評論   

          # re: [原創(chuàng)]基于SOAP的JAVA編寫的WEBSERVICE實例 2009-04-15 11:23 fuck you fuck you fuck you fuck you fuck you fuck

          fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuckfuck you fuck you fuck you fuck you fuck you you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuckfuck you fuck you fuck you fuck you fuck you you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuckfuck you fuck you fuck you fuck you fuck you you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuckfuck you fuck you fuck you fuck you fuck you you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuckfuck you fuck you fuck you fuck you fuck you you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you   回復  更多評論   


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


          網(wǎng)站導航:
           
          主站蜘蛛池模板: 阿尔山市| 五莲县| 扎兰屯市| 临澧县| 安塞县| 霍邱县| 介休市| 福州市| 黑水县| 甘肃省| 博客| 安泽县| 怀化市| 四子王旗| 永定县| 黑龙江省| 苏尼特右旗| 名山县| 霍州市| 甘泉县| 新郑市| 烟台市| 连山| 阜康市| 芜湖市| 房产| 彝良县| 张家港市| 芮城县| 威宁| 苍梧县| 肥西县| 青川县| 涞源县| 阿坝县| 延安市| 新疆| 荥阳市| 四会市| 南郑县| 开远市|