最新问答 更多

关注我们

关注我们

了解我们的产品和服务,有任何疑问、意见或合作需求,可关注本微博与我们在线沟通。

盒子问答悬赏微博

[单人中标] delphi做客户端webservice问题

分享任务:
问题已结束!
200
发布者 gdyxl
浏览量
回答数 2

任务详情

1、WSDL单元中函数: 1)、function BatchTakeTicket(const arg0: string; const arg1: string; const arg2: Array_Of_mapEntry; const arg3: string; const arg4: string): getTakeTicketResult; stdcall;  2)、函数中的参数:const arg2: Array_Of_mapEntry; mapEntry = class(TRemotable) private Fkey: string; Fkey_Specified: boolean; Fvalue: string; Fvalue_Specified: boolean; procedure Setkey(Index: Integer; const Astring: string); function key_Specified(Index: Integer): boolean; procedure Setvalue(Index: Integer; const Astring: string); function value_Specified(Index: Integer): boolean; published property key: string Index (IS_OPTN or IS_UNQL) read Fkey write Setkey stored key_Specified; property value: string Index (IS_OPTN or IS_UNQL) read Fvalue write Setvalue stored value_Specified; end;

Array_Of_mapEntry = array of mapEntry; 4、我的代码: .......... var getTakeTicketResponse :getTakeTicketResult; i,iRecord : integer; OfmapEntry :Array_Of_mapEntry; //Array_Of_mapEntry begin ..........  for i := 0 to iRecord - 1 do begin OfmapEntry[i] := mapEntry.Create; //创建类 OfmapEntry[i].key := intTostr(i); OfmapEntry[i].value :=subMapinfo[i].orderId; end; //调用WSDL中函数: getTakeTicketResponse := GetAttachService(subCommInfo.urAdd).BatchTakeTicket( subCommInfo.userName, subCommInfo.userPwd, OfmapEntry, subCommInfo.operatorCode, subCommInfo.operatorName); //执行完后,报错:Invalid number of payload elements:2, ....... end; 5、在执行函数时,出现错误如下:Invalid number of payload elements:2, 研究了好的天,不知错误在哪里?请专家指教,谢谢了。

  • www: 

    你应该已经把wsdl文件转成pas文件了吧,

    调用webservice中的方法没有什么特别的呀,仔细检查一下类,对象是否创建、参数是否正确。

      回答于:2012/5/8 13:16:40      #1楼 奖励火柴:0
    用户头像
  • 虫子: 

    说一下服务端是用什么开发的?怎么部署的?如果你用Delphi开发服务端,用Delphi做客户端来调用,而且Delphi的版本都一致,是不会有问题的。但是Delphi做的WebService客户端调用Java或C#等工具开发的WebService服务端时会出现soap协议不一致的问题。我以前遇到过这种问题,Soap2.0协议变化很大,而且不向下兼容。解决的方式是使用DelphiXE开发客户端,或用HTTP 协议自己解析xml内容。

      回答于:2012/5/11 11:08:05      #2楼 奖励火柴:0
    用户头像
刷新 首页 上一页 下一页 末页 页次1/1页 共 2 条记录  转到:
x
您的任务被发布者审核为不合格

原因

详细说明

关于盒子问答
盒子问答为广大程序员提供一个迅速解决问题的好途径,帮助有编程疑惑的程序员轻松发问答。同时授业解惑的人,可以得到相应的收入。帮人解答并赚钱就来盒子问答。
联系我们
我们的服务支持邮件:webmaster@2ccc.com,支持qq:161945
如有建议或意见,可通过右侧“用户反馈”告诉我们
收藏本站
用户反馈