关于webservice返回值与http头的问题

lhcmail 2011-09-19 08:41:52
1、大家好,最近在做项目中遇到一个问题,delphi客户端调用JAVA服务端时候,服务端返回值为一个对象,但同时往HTTP头中写了一个信息,我在客户端怎么能获取这个头信息的内容
GetLoginService()->login(username,password);在头信息中返回了一个时间戳;
是否有做过相同功能的出来指点一下
...全文
266 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
lhcmail 2011-09-25
  • 打赏
  • 举报
回复
代码如下:
LoginService GetLoginService() {
THTTPRIO* rio = HTTPRIO ? HTTPRIO : new THTTPRIO(0);
...............
_di_LoginService service;
rio->QueryInterface(service);
...............
return service ;
}
问题是我的程序已经按GetLoginService()->login(username,password);这种方式实现了,改动量太大.
我想解决的问题:
1、怎么通过service得到rio对象?
2、怎么从这个rio对象获得HTTP头信息,或者直接可以从service里获得http头信息。
这里的http头是response里的内容。
xalingxuan 2011-09-23
  • 打赏
  • 举报
回复
SOAP如果是webservice应用的话
把URL 改成 http://xxx/xx.asmx?wsdl就成了
xalingxuan 2011-09-22
  • 打赏
  • 举报
回复
IdHTTP.Response存的服务端传来的信息,需要什么自己查
xalingxuan 2011-09-22
  • 打赏
  • 举报
回复
IdHttp := TIdHTTP.Create(nil);
try
try
IdHttp.AllowCookies := True;
IdHttp.ReadTimeout := 10 *1000;
stream := TMemoryStream.Create;
try
IdHttp.Get(URL, stream);
stream.Position := 0;
SetLength(context.Context, stream.Size);
stream.Read(context.Context[1], stream.Size);
list := TStringList.Create;
try
ExtractHeaderFields([';', ','], [' '], PChar(IdHTTP.Response.Server), list, false);

context.T1 := list.Values['T1'];
context.T2 := list.Values['T2'];
context.T3 := list.Values['T3'];

context.SessionID := list.Values['SID'];
finally
list.Free;
end;
finally
stream.Free;
end;
lhcmail 2011-09-22
  • 打赏
  • 举报
回复
谢谢xalingxuan,不过我要求的是访问SOAP方法的时候,获得HTTP头
林石公 2011-09-21
  • 打赏
  • 举报
回复
soap header?
lhcmail 2011-09-21
  • 打赏
  • 举报
回复
CSDN没高手吗?看来要另寻其他途径了
lhcmail 2011-09-21
  • 打赏
  • 举报
回复
不是SOAPHEADER,HTTP header,就象COOKIE一样
lhcmail 2011-09-20
  • 打赏
  • 举报
回复
自己顶一下,难道都没有涉及到这块?

1,593

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧