最近用DELPHI调用WEBSERVICE出现了个错误,请大虾们帮忙分析下:
本地DELPHI用来连接WEBSERVICE的函数是:function GetMessageService(UseWSDL: Boolean; Addr: string; HTTPRIO: THTTPRIO): MessageService;
const
defWSDL = 'MessageService.wsdl';
defURL = 'http://129.144.149.208:6600/service/services/MessageService';
defSvc = 'MessageServiceService';
defPrt = 'MessageService';
var
RIO: THTTPRIO;
begin
Result := nil;
if (Addr = '') then
begin
if UseWSDL then
Addr := defWSDL
else
Addr := defURL;
end;
if HTTPRIO = nil then
RIO := THTTPRIO.Create(nil)
else
RIO := HTTPRIO;
try
Result := (RIO as MessageService);
if UseWSDL then
begin
RIO.WSDLLocation := Addr;
RIO.Service := defSvc;
RIO.Port := defPrt;
end else
RIO.URL := Addr;
finally
if (Result = nil) and (HTTPRIO = nil) then
RIO.Free;
end;
end;在程序中有几个地方调用WEBSERVICE,都是用
var
WSIServer: MessageService;
begin
.....
WSIServer:= GetMessageService(true,'',nil);
......
end;
之前都是还可以调用的,但昨天,我用同样的方法来调用,就出现问题了,提示说找不到c:\messageService.wsdl,但我在程序中根本没写过这个路径,后来我把调用的方法改成
WSIServer:= GetMessageService(false,'',nil);
竟然暂时可以了,想请各位帮我分析下是什么原因?这两种方法调用有什么不一样?
本地DELPHI用来连接WEBSERVICE的函数是:function GetMessageService(UseWSDL: Boolean; Addr: string; HTTPRIO: THTTPRIO): MessageService;
const
defWSDL = 'MessageService.wsdl';
defURL = 'http://129.144.149.208:6600/service/services/MessageService';
defSvc = 'MessageServiceService';
defPrt = 'MessageService';
var
RIO: THTTPRIO;
begin
Result := nil;
if (Addr = '') then
begin
if UseWSDL then
Addr := defWSDL
else
Addr := defURL;
end;
if HTTPRIO = nil then
RIO := THTTPRIO.Create(nil)
else
RIO := HTTPRIO;
try
Result := (RIO as MessageService);
if UseWSDL then
begin
RIO.WSDLLocation := Addr;
RIO.Service := defSvc;
RIO.Port := defPrt;
end else
RIO.URL := Addr;
finally
if (Result = nil) and (HTTPRIO = nil) then
RIO.Free;
end;
end;在程序中有几个地方调用WEBSERVICE,都是用
var
WSIServer: MessageService;
begin
.....
WSIServer:= GetMessageService(true,'',nil);
......
end;
之前都是还可以调用的,但昨天,我用同样的方法来调用,就出现问题了,提示说找不到c:\messageService.wsdl,但我在程序中根本没写过这个路径,后来我把调用的方法改成
WSIServer:= GetMessageService(false,'',nil);
竟然暂时可以了,想请各位帮我分析下是什么原因?这两种方法调用有什么不一样?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货