Java 调用代码 
采用 axis2,代码如下:
HTSAPServerServiceStub stub = new HTSAPServerServiceStub(
"http://IP:PORT/HTServer/services/HTSAPServer");
HTSAPServerServiceStub.LoginE login8 =
(HTSAPServerServiceStub.LoginE)
getTestObject(HTSAPServerServiceStub.LoginE.class);
Login l = new Login();
l.setStrDeviceId("设备编号");
l.setStrDeviceKey("密钥");
login8.setLogin(l);
LoginResponseE le = stub.login(login8);
LoginResponse lr = le.getLoginResponse();
String msg = lr.get_return();转delphi的代码

解决方案 »

  1.   

    需要知道 HTSAPServerServiceStub 登录里做了什么才可以转,可以有三种解决思路:
    1、直接借助http工具抓包,分析下登录报文及返回;
    2、java 登录相关程序反编译,分析下 HTSAPServerServiceStub 做了什么;
    3、设备端的登录接口文档,然后依据文档实现;Delphi 实现HttpClient,可以用 IdHttp组件
      

  2.   

    type  loginResponse        = class;                 { "http://server.cdt.com" }
     login                = class;                 { "http://server.cdt.com" }
     login = class(TRemotable)
      private
        FstrDeviceId: WideString;
        FstrDeviceKey: WideString;
      published
        property strDeviceId: WideString read FstrDeviceId write FstrDeviceId;
        property strDeviceKey: WideString read FstrDeviceKey write FstrDeviceKey;
      end;
    HTSAPServer = interface(IInvokable)function  login(const parameters: login): loginResponse; stdcall;
    initialization
      InvRegistry.RegisterInterface(TypeInfo(HTSAPServer), 'http://server.cdt.com', 'utf-8');  
      InvRegistry.RegisterInvokeOptions(TypeInfo(HTSAPServer), ioDocument); //jia
      InvRegistry.RegisterDefaultSOAPAction(TypeInfo(HTSAPServer), '');
      RemClassRegistry.RegisterXSClass(login, 'http://server.cdt.com', 'login');///下面调用login函数出错,谁帮助写一下怎么调用?procedure TForm1.btn1Click(Sender: TObject);
    var  lginRse:loginResponse ;
      login1:login;begin   login1:=login.Create ;
       lginRse:=loginResponse.Create ;   login1.strDeviceId :='123456' ;
       login1.strDeviceKey :='1234567890'  ;
        try
          lginRse:=(htpr1 as HTSAPServer).login(login1) ;
          mmo1.Text :=lginRse.return ;
        finally
          login1.Free ;
          lginRse.Free ;
        end;
    end;
    ///返回 :XML文档必须有一个顶层元素 好像HTSAPServerServiceStub只是顶层元数,无意义,我想只上面的代码加一层顶层元素试试,不知怎么加。
      

  3.   

    不要去跟代码了,直接查看发包的内容参数
    然后用http的post函数构造就可以了