我用C#编写了一个WebService,其中有一个WebMethod为SubmitOrder(string xmlString),然后用Delphi 7编写Client连接这个WebService,当我调用SubmitOrder回传一个xml格式的string时,到.net里面跟踪,传入的string中,中文全部变成了“?????”,在Delphi中将string改为WideString也不行,请大家帮帮忙,帮我解决一下这个问题。200分送出。

解决方案 »

  1.   

    我测试没有任何问题:
    [WebMethod]
    public string getstring(string s)
    {
    return s;
    }
    、、、、、、、、、、、、、、、、
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      (HTTPRIO1 as Service1Soap).getstring('sss');
    end;
      

  2.   

    摩托兄测试一下中文如何,如这样的XML字符串:
    <?xml version="1.0" encoding="gb2312" ?>
    <BookData>
      <Book>
        <Name>Delphi程序员指南</Name>
      </Book>
      <Book>
        <Name>C#程序员指南</Name>
      </Book>
    </BookData>
      

  3.   

    哦,I know !.net and delphi的webservice 要互通编码并不能用默认的你设置:
    HTTPRIO1.HTTPWebNode.UseUTF8InHeader :=true;