有没有web service高手?进来帮小弟看一下!100分(200分)

  • 主题发起人 主题发起人 瑞雪
  • 开始时间 开始时间

瑞雪

Unregistered / Unconfirmed
GUEST, unregistred user!
代码:
李维的Soap/web service--第八章节-传递复杂数据类型的WS应用系统

那个传递记录的例子,我做了几次了都传不到客户,最后我按例子一模一样地做,
还是不行。程序没有问题,就是出在了那个TEasysInfo和TEasysInfos上,服务端
返回的SOAP封包是这样的:

<?xml version="1.0" encoding="UTF-8" ?>
- <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/1999/XMLSchema" xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
- <SOAP-ENV:Body>
- <NS1:GetBookTitlesResponse xmlns:NS1="urn:RTypesIntf-IRTypeTest" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:NS2="http://www.w3.org/2001/XMLSchema">
- <NS1:return xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="NS2:TXSBook[9]">
<NS1:item href="#1" />
<NS1:item href="#2" />
<NS1:item href="#3" />
<NS1:item href="#4" />
<NS1:item href="#5" />
<NS1:item href="#6" />
<NS1:item href="#7" />
<NS1:item href="#8" />
<NS1:item href="#9" />
</NS1:return>
<NS2:item id="1" xsi:type="NS2:TXSBook" />
这里还应该有""Title......

可是没有

<NS2:item id="2" xsi:type="NS2:TXSBook" />
<NS2:item id="3" xsi:type="NS2:TXSBook" />
<NS2:item id="4" xsi:type="NS2:TXSBook" />
<NS2:item id="5" xsi:type="NS2:TXSBook" />
<NS2:item id="6" xsi:type="NS2:TXSBook" />
<NS2:item id="7" xsi:type="NS2:TXSBook" />
<NS2:item id="8" xsi:type="NS2:TXSBook" />
<NS2:item id="9" xsi:type="NS2:TXSBook" />


</NS1:GetBookTitlesResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
 
请帮帮我,UP也可以
 
呵,要高手吗?好,我帮你问问!:)
不过你想知道什么?
 
我想知道我的按照李维的书上的关于处理复杂数据类型的例子的Web service为什么
客户端收不到,如上所述
 
我有自己做的复杂数据类型传输的例子,还包括图像传输,要不要,留邮箱!
 
to justcool:我也要例子,谢谢,hbezwwl@163.com
楼主:如果你收到,请也给我发一份,其它的好说。
 
谢谢,
Dong_53936@sina.com.cn
dong_53936@163.com
 
上面两位请等一两天,小弟这几天由于整栋楼IP被封,不能上网,过两天搞定IP立刻发!
 
那我就全靠您老人家了!
 
to justcool:
我收到了您的例子,可是我的Delphi打开您的程序时说
WSDLHTMLPublish1.ServiceInfo(Sender, Request, Response, Handled);中的
ServerInfo是未说明标识符TWSDLHTMLPublish没有ServerInfo那个property,
,是不是我的Delphi 6 没有装那个Patch的原因,另外不知
procedure WebModule1DefaultHandlerAction(Sender: TObject;
Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
begin
WSDLHTMLPublish1.ServiceInfo(Sender, Request, Response, Handled);
end;
有何意义呢?
 
在大家的帮助下,我终于找出了根本原因:远程处理的类的property必须是published,
而我却声明成了public,希望大家不要犯同样的错误!hbezwwl:我马上给你发例子;
记着要谢谢justcool喔!
 
多人接受答案了。
 
后退
顶部