Web Service接口访问成功,但是接受不到接口返回的信息?

和如 2021-05-01 11:01:44
wdsl导入后生成的接口定义

dm = interface(IInvokable)
['{EBB2D257-0494-BE5C-1055-EF4FF09B1A56}']

// Cannot unwrap:
// - Input element wrapper name does not match operation's name
function echo(const echoRequest: echoRequest): echoResponse; stdcall;
end;


访问接口的代码:

_CancelechoResponse:=dmz2.echo(_CancelechoRequest)


抓包的返回信息

现在通过Fiddler 4抓包,可以看到接口返回的信息,但是_CancelechoResponse里面没接受到任何信息;

程序报错截图,debug是就是在访问CancelechoResponse时出现


确认了几次CancelechoResponse里面该初始化的 我都初始化了啊?
找了好久问题,确实没法了,上来请教一下各位指点迷津
...全文
529 4 打赏 收藏 举报
写回复
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
tanqth 2021-05-02
var _CancelechoResponse:echoResponse; 使用前,不需要去初始化他。直接:_CancelechoResponse:=dmz2.echo(_CancelechoRequest); 你这个地址错误,可能还有其他地方的问题。
  • 打赏
  • 举报
回复
tanqth 2021-05-02
你这很难判断。
  • 打赏
  • 举报
回复
和如 2021-05-02
刚才又debug了一下,现在程序是过了判断CancelechoResponse是否为nil 进入begin 报错,begin里面就一句话啊 errstr:=Format('%d', [_CancelechoResponse.errcancelresponse.sysmessage])

if _CancelechoResponse<> nil then
    begin
debug 里面看到的CancelechoResponse值,感觉还是没接收的借口返回的信息,不知道是哪里配置有问题,用的是HTTPIO
  • 打赏
  • 举报
回复
和如 2021-05-02
我去掉了_CancelechoResponse的初始化 代码。但是还是提提示地址错误错误,提示地址错误的地方实在

 if _CancelechoResponse<> nil then
    begin


  • 打赏
  • 举报
回复
相关推荐
发帖
网络通信/分布式开发
加入

1585

社区成员

Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
申请成为版主
帖子事件
创建了帖子
2021-05-01 11:01
社区公告
暂无公告