JBOSS 點滴

          豐豐的博客

          webservice調用心得

          一,設置AXIS2_HOME環境
          set  AXIS2_HOME=F:\axis2-1.4.1-bin\axis2-1.5.1     
          注意,如果調試不通過,請多試幾個版本.最好不要用axis1 因為他不支持BPEL協議
          版本分析:axis2-1.5.1    =JDK1.5   axis2.1.4.1=JDK1.4(個人經驗,不代表官方意見:}
          二,生成代碼:
          %AXIS2_HOME%\bin\wsdl2java -uri http://localhost:808/HS_Service/Upload.asmx?wsdl -p client -s -o stub
          生成文件放在C:\Documents and Settings\機器名下>
          三,編寫客戶端代碼


          package client;

          import java.math.BigDecimal;
          import java.net.MalformedURLException;
          import java.rmi.RemoteException;
          import java.util.Calendar;
          import java.util.Date;
          import java.util.GregorianCalendar;
          import javax.xml.rpc.ServiceException;
          import org.apache.axis2.client.Options;
          import org.apache.axis2.rpc.client.RPCServiceClient;

          public class ClientTask {
              

              
          /**
               * 
          @param args
               * 
          @throws RemoteException 
               * 
          @throws ServiceException 
               * 
          @throws MalformedURLException 
               
          */

              
          public static void main(String[] args) throws RemoteException, ServiceException, MalformedURLException {
                  
          // TODO Auto-generated method stub
                  Calendar calendar = new GregorianCalendar();
                  Date trialTime 
          = new Date();
                  calendar.setTime(trialTime);
          //fly --add 
                  
                  ClientTask ct 
          = new ClientTask();
                  UploadStub us 
          = new UploadStub();
                  UploadStub.JX jx 
          = new UploadStub.JX();
                  System.out.println(
          "校驗用戶開始.");
                  ct.getLogin(
          "test_admin","1");

                  
                  UploadStub.UploadProject uproject 
          = new UploadStub.UploadProject();
            
                  jx.setJX010000028(
          "283333");
                  jx.setJX010000001(
          "上報狀態");
                  jx.setJX010000004(
          4);
                  jx.setJX010000005(
          5);
                  jx.setJX030305001(
          "1");
                  jx.setJX010000020(
          new BigDecimal("20.0"));
                  jx.setJX010000031(
          1);
                  jx.setJX010000032(
          3);
                  jx.setJX010000035(
          "5");
                  jx.setJX010000019(
          new BigDecimal(1));
                  jx.setJX010000014(calendar.getInstance());
          //原為calendar
                  jx.setJX010000017(calendar.getInstance());
                  jx.setJX030308008(calendar.getInstance());
                  jx.setJX010000033(
          new BigDecimal(1));
                  jx.setJX010000034(
          new BigDecimal(1));
                  jx.setJX030302005(calendar.getInstance());
                  jx.setJX030303013(calendar.getInstance());
                  jx.setJX030304007(calendar.getInstance());
                  jx.setJX030306004(calendar.getInstance());
                  System.out.println(calendar.getInstance());
                  

                  uproject.setJx(jx);
                  us.uploadProject(uproject);
                  System.out.println(
          "上報狀態:"+us.uploadProject(uproject).getUploadProjectResult());

              }

              
          public boolean getLogin(String username,String password) throws RemoteException {
                  RPCServiceClient serviceClient 
          = new RPCServiceClient();  
                  Options options 
          = serviceClient.getOptions();  
                  options.setManageSession(
          true);
                  
                  UploadStub stub 
          = new UploadStub();
                  UploadStub.Login lg 
          = new UploadStub.Login();
                  

                  
                  lg.setPUserName(username);
                  lg.setPPassword(password);
                  stub.login(lg);  
                  System.out.println(stub.login(lg).getLoginResult());
                  
                  
          return stub.login(lg).getLoginResult();
                  
              }



          }

              



          服務端保持狀態:
                  MessageContext mc  =  MessageContext.getCurrentMessageContext();
                  ServiceContext sc  =  mc.getServiceContext();
          客戶端保持狀態
                  RPCServiceClient serviceClient = new RPCServiceClient(); 
                  Options options = serviceClient.getOptions(); 
                  options.setManageSession(true);

          posted on 2011-03-13 20:04 半導體 閱讀(282) 評論(0)  編輯  收藏


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


          網站導航:
           
          主站蜘蛛池模板: 红原县| 开阳县| 大冶市| 临泽县| 梁河县| 江北区| 长岭县| 南昌市| 石泉县| 贡觉县| 东宁县| 本溪市| 尼勒克县| 樟树市| 浙江省| 叙永县| 苏尼特右旗| 旅游| 介休市| 和林格尔县| 乌拉特后旗| 邢台县| 拜城县| 安泽县| 尚义县| 金阳县| 宣汉县| 民权县| 方城县| 临桂县| 墨玉县| 灵宝市| 库伦旗| 保靖县| 广德县| 开封县| 固始县| 尚义县| 松溪县| 上杭县| 长春市|