delphi7调用webservice Java 传入参数为空

在delphi7中,new-webservices-wsdl importer中输入wsdl地址,会自动生成wsdl单元代码。

在调用时,传入参数到服务器端时为空了。

网上说缺少

InvRegistry.RegisterInvokeOptions(TypeInfo(ServiceRS_JGXXPortType), ioDocument);

这句,可是我的代码里都有的。

以下是代码里的前四句

InvRegistry.RegisterInterface(TypeInfo(ServiceRS_JGXXPortType), 'http://release.service.das.jeaw.com', 'UTF-8');

InvRegistry.RegisterDefaultSOAPAction(TypeInfo(ServiceRS_JGXXPortType), 'urn:%operationName%');

InvRegistry.RegisterInvokeOptions(TypeInfo(ServiceRS_JGXXPortType), ioDocument);

InvRegistry.RegisterInvokeOptions(TypeInfo(ServiceRS_JGXXPortType), ioLiteral);

请高人指点下,为什么传入参数为空?

解答:

加上最后一句试试

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;

RIO.HTTPWebNode.UseUTF8InHeader:= True;//加上这句

InvRegistry.RegisterInvokeOptions(TypeInfo(WebService1Soap),ioDocument);

这其中,WebService1Soap是你的对象名.按自己的情况改就是了.