Delphi调用Java WebService(特别注意接口参数名字)

最近做NC(java)和HIS(delphi)对接遇到这个问题,两边开发搞了两三天,终于搞明白了。

1、delphi调用java webservice,接口可以被调用,但收到参数都为空,从网上查了好多办法,很多说注释掉就可以了,但我这注释掉还是不好用。接口接收到参数仍然是null

//  InvRegistry.RegisterInvokeOptions(TypeInfo(INewServicePortType), ioDocument);

2、解决办法:(1)注释掉上面哪行;(2)java发布的webservice方法参数名称避免与delphi关键字冲突。接口方法两个参数本来是type和param,然后type是delphi中关键字,改成busibype,测试通过。

一、delphi调用webservice步骤

使用的开发环境:Java1.7;Delphi XE2

1、Componet→import WSDL、填写wsdl地址、然后next→next→finished

开发工具会自动生成一个接口调用的客户端文件。



2、修改生成的文件,第三行注释掉,至于为什么注释掉,我也不知道。


生成的文件中,注入的接口方法参数名和返回值类型需要跟webservice完全一致。

java接口:


delphi wsdl生成客户端文件:


3、delphi调用


经过测试,调用成功


以上经过本人基于现有环境测试,没有测试多个版本,纯属测试后的个人观点,如有不恰当之处,请大家指正。


已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页