我有这个webservice(.asmx)和这个obj-c代码(从wsdl2code.com生成) 一切正常 - 可以连接和所有这些,但我需要在soap调用中设置一些额外的头信息。
在.net中我只能在设置' AllowCookies'将WCF-config标记为true。
像这样:
var session = new WebServiceSoapClient();
((BasicHttpBinding)session.Endpoint.Binding).AllowCookies = true;
如果我直接使用该服务,则会抛出一个未经过身份验证的用户'异常。
现在,我在iOS平台上再次遇到此问题,而且我不知道如何/在何处添加信息。我发现this post并认为我可以使用它来做同样的技巧,只需覆盖一个设置。没有成功。
有人有解决方案吗?或者有关要设置哪个标题的信息?
(我从第一次认证中得到一个令牌,我想这应该在这里使用..)
更新:
我打开了与asp.net webapp和webservice的通信,并使用Fiddler2来调查标题。起初我并不清楚,因为Cookie的#header只包含asp.net中的默认auth-string:" ASP.NET_SessionId = {xxxxxxxxxxxxx}&#34 ;。但我只使用实际值而不是整个字符串。我想这是缺乏基本的HTTP标头知识...我将整个字符串附加到标题' Cookie'在以后的所有请求中,它都有效!
答案 0 :(得分:1)
更新:
我打开了与asp.net webapp和webservice的通信,并使用Fiddler2来调查标题。起初我不清楚,因为'Cookie'标题只包含asp.net中的默认auth-string:“ASP.NET_SessionId = {xxxxxxxxxxxxx}”。但我只使用实际值而不是整个字符串。我想这是缺乏基本的HTTP标头知识......我在将来的所有请求中将整个字符串附加到标题'Cookie',并且它有效!