jeffy

          BlogJava 首頁 新隨筆 聯系 聚合 管理
            70 Posts :: 1 Stories :: 14 Comments :: 0 Trackbacks
            服務器端定義:

          public class TestService {
           
           public String getStr(String input) {
            return "Input string:"+input;
           }
           
           public Bean getBean(Bean bean) {
            System.out.println("Bean Name:"+bean.getName());
            bean.setName(bean.getName()+"OK");
            
            Bean bb = new Bean();
            bb.setName("haha");
            return bb;
           }
           
           public Bean[] getBeans(String str) {
            Bean[] rets = new  Bean[2];
            Bean bean1 = new Bean();
            bean1.setName("name 1");
            Bean bean2 = new Bean();
            bean2.setName("name 2");
            
            rets[0] = bean1;
            rets[1] = bean2;
            return rets;
           }

          }





          server-config.wsdd中的配置:

          自定義類
          <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="" qname="ns6:Bean" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:com.test.bean.Bean" xmlns:ns6="http://bean.test.com"/>

          數組
          <typeMapping xmlns:ns7="http://bean.test.com" qname="ns7:ArrayOf_Bean" type="java:com.test.bean.Bean[]" serializer="org.apache.axis.encoding.ser.ArraySerializerFactory" deserializer="org.apache.axis.encoding.ser.ArrayDeserializerFactory" encodingStyle="" /> 

          客戶端調用:
                    String endpoint = "http://localhost:8081/axistest/services/TestService";

                      Service service3 = new Service();
                      Call call3 = (Call) service3.createCall();
                      QName qn3 = new QName("http://bean.test.com","ArrayOf_Bean");
                      //注冊 bean
                      call3.registerTypeMapping(Bean.class,qn,new BeanSerializerFactory(Bean.class, qn),new BeanDeserializerFactory(Bean.class, qn));
                      call3.registerTypeMapping(Bean[].class,qn3,new BeanSerializerFactory(Bean[].class, qn3),new BeanDeserializerFactory(Bean[].class, qn3));
                      call3.setTargetEndpointAddress(new java.net.URL(endpoint));
                      call3.setOperationName(new QName("getBeans"));
                      call3.addParameter("arg1", qn, ParameterMode.IN);
             call3.setReturnType(qn,Bean.class);

             java.util.ArrayList ret3 = (java.util.ArrayList) call3.invoke(new Object[] {"test--"});
                      System.out.println((ret3==null)?"null":(""+ret3.size())); 


           
          posted on 2008-04-01 16:07 Live-in Java 閱讀(550) 評論(0)  編輯  收藏

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


          網站導航:
           
          主站蜘蛛池模板: 平邑县| 华蓥市| 改则县| 呼图壁县| 台湾省| 武清区| 高雄县| 碌曲县| 涟水县| 忻城县| 鄂温| 萝北县| 大新县| 吉木萨尔县| 张家界市| 寻甸| 保靖县| 洪湖市| 徐闻县| 台南市| 聂荣县| 湟源县| 越西县| 全州县| 徐闻县| 青冈县| 闸北区| 灵台县| 新津县| 玛多县| 平顶山市| 永清县| 雅安市| 大名县| 隆昌县| 威海市| 九龙县| 高平市| 沛县| 廉江市| 揭西县|