axis webservice 傳輸 定長對象數組 取代 list, map方式

下面是調用測試的代碼:

 

     
  SimDesignVariable[] designValue = new SimDesignVariable[1000];
  designValue[0] = new SimDesignVariable("psSpringXIn",0.0);
  designValue[1] = new SimDesignVariable("psSpringYIn",0.0);
  designValue[2] = new SimDesignVariable("psSpringZIn",0.0);
  
  designValue[3] = new SimDesignVariable("psSpringXOut",0.0);
  designValue[4] = new SimDesignVariable("psSpringYout",0.0);
  designValue[5] = new SimDesignVariable("psSpringZout", 0);
  
  designValue[6] = new SimDesignVariable("ssSpringX",0.0);
  designValue[7] = new SimDesignVariable("ssSpringY",0.0);
  designValue[8] = new SimDesignVariable("ssSpringZ",0.0);

  
  
  String targetEendPoint = "http://166.22.55.102:8080/axis/services/SimCallOptXml?wsdl";
  Object result = new Object();
  // System.out.println(order.isChecked());
  try {

   Service service = new Service();
   Call call = (Call) service.createCall();
   QName qn = new QName("urn:SimCallOptXml", "Orde");
   call.registerTypeMapping(SimDesignVariable.class, qn,
     new org.apache.axis.encoding.ser.BeanSerializerFactory(
       SimDesignVariable.class, qn),
     new org.apache.axis.encoding.ser.BeanDeserializerFactory(
       SimDesignVariable.class, qn));

   call.setTargetEndpointAddress(new java.net.URL(targetEendPoint));
   call.setOperationName(new QName("SimCallOptXml", "procress"));
   System.out.println("Success...");
   call.addParameter("arg1", qn, ParameterMode.IN);
   call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);
   result = (String) call.invoke(new Object[] { designValue });

   
  }
  catch (AxisFault fault) {
   result = "Error is: " + fault.toString();
  }
  catch (IOException e) {
   e.printStackTrace();
  } catch (ServiceException e) {
   e.printStackTrace();
  }

       SimCallOptXml中的procress(SimDesignVariable[ ]   ff ), 接受SimDesignVariable對象數組。

      SimCallOptXml在發佈服務的 server-config.wsdd中的描述片段:

    <service name="SimCallOptXml" provider="java:RPC">
    <parameter name="allowedMethods" value="procress"/>
     <parameter name="className" value="objectTest.simCallOpt.SimCallOptXml"/>
      <beanMapping languageSpecificType="java:objectTest.simCallOpt.SimDesignVariable" qname="ns3:SimDesignVariable"  

        xmlns:ns3="urn:SimCallOptXml"/>
       </service>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章