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调用


经过测试,调用成功


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


评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值