jeffy

          BlogJava 首頁 新隨筆 聯(lián)系 聚合 管理
            70 Posts :: 1 Stories :: 14 Comments :: 0 Trackbacks
            服務(wù)器端定義:

          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"/>

          數(shù)組
          <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="" /> 

          客戶端調(diào)用:
                    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)  編輯  收藏

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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 阿拉善盟| 建水县| 温泉县| 渭南市| 滨州市| 富顺县| 汝阳县| 上虞市| 建湖县| 饶平县| 丰宁| 黄骅市| 城步| 寻甸| 襄汾县| 焉耆| 耿马| 资阳市| 宜昌市| 海宁市| 灌云县| 稷山县| 玉溪市| 高邮市| 筠连县| 马鞍山市| 银川市| 松江区| 潮安县| 游戏| 宁安市| 汝城县| 江川县| 吐鲁番市| 宣恩县| 安顺市| 丁青县| 水富县| 彝良县| 武隆县| 揭阳市|