程序在同一机子上调试已正确,然后在另一计算机上再用DELPHI生成一个客户端,放上一个THTTPRIO,设置WSDLLOCATION,SERVICE ,PORT,均正确,利用WSDL IMPORTER导入接口也正常,然后调用
    Intf:=HTTPRIO1 as IComService;
    vData:=Intf.QueryData('select * from t_jsj_purchase_apply ');
    with ClientDataSet1 do
    begin
       XMLData:=vData;
    end;结果报错,说找不到LOCALHOST上的服务,我明明设置成找远程机子上的服务,怎么会报找本地机子上的服务,这当然找不到,试着跟踪错误,感觉DELPHI最后把远程的URL换成LOCALHOST上的服务,这是怎么回事,难道是DELPHI7的一个BUG,有试验过调用不同机子上WEBSERVICE的高手请指教

解决方案 »

  1.   

    WSDL IMPORTER导入接口,导入的多半是本地的东西吧,呵呵.
    要指向的什么地址你得指定啊.
      

  2.   

    WSDL IMPORTER导入的当然是另外一台上的服务。我都搞不清楚怎么回事了,有谁将服务程序和客户程序放到2台机子上正确运行过的
      

  3.   

    找到原因了,原来在开发服务段WEBSERVICE时,WSDLHTMLPUBLISH1的PublishOptions 中poDefault没有选中TRUE,这样服务器段生成的WSDL文件中
    <soap:address location="http://10.136.146.250/WebDemo1/Project1.dll/soap/IFirstISAPI" /> location 会指向正确的IP地址,否则他会使用LOCALHOST。DELPHI7真烂,poDefault也不预设为TRUE,学了一星期,让我掉入多个陷阱,真苦,还是微软好,帮助一大堆。
      

  4.   

    应该不算DELPHI烂吧,我觉得应该这样做,至少这样楼主也学到东西了:)