delphi客户端如何调用webservice中的一个字符串数组哪位能给个例子?

解决方案 »

  1.   

    Web Service是用什么语言写的?最好不要返回字符数组,不够通用,返回一个XML格式的字符串最好,什么客户端都可以解析。
      

  2.   

        用$\Borland\Delphi7\Bin\WSDLImp.exe命令,Web Service服务地址和服务名做参数,在$\Borland\Delphi7\Bin文件夹下生成一个单元,把那个单元加入到你的工程中就可以了。
        我访问Web Service都是XML格式字符串的,一位数组好像返回值是 Array of WideString, 记得不是很清楚,你自己生成一个单元,看一下,生成单元都弄好了,不需要额外的操作。
    例:  服务器地址 127.0.0.1, Web Service服务名 IMyService    WSDLImp \\127.0.0.1\IMyService,会生成一个IMyService.pas,加入工程就可以
      

  3.   

    谢谢,
    但WSDLImp.exe一打开就没了,怎么用呢
      

  4.   

    1. 在开始菜单运行那里输入cmd.exe,另外打开一个对话框
    2. 或者直接在Delphi开发环境中File - New - Other,在打开的对话框中切换到WebServices选项页上点击WSDLImporter,一步步走下去,效果是一样的。   我习惯用第一种方式
      

  5.   

    这个是我手动写的,调用时无返回值,帮忙看看
    type
      TData = class(TRemotable)
      private
        FMsg: WideString;
      published
        property Msg: WideString read FMsg write FMsg;
      end;
      ArrayData = Array of TData;    function getMosms(const account: WideString; const password: WideString; const port_id: WideString; const state: WideString): ArrayDatas; stdcall;
      

  6.   

    如这么定义
    type
      ArrayData = Array of WideString;也是无返回值,也许都解析不了
      

  7.   

    我有试过 在Delphi开发环境中File - New - Other,在打开的对话框中切换到WebServices选项页上点击WSDLImporter,
    但只生成一个空框架,没有生成WebServices方法