ios - ios 中的 soap 需要启用 cookie。如何在 SOAP 头中添加它?

标签 ios authentication soap

我有这个网络服务 (.asmx) 和这个 obj-c 代码(从 wsdl2code.com 生成) 一切正常 - 可以连接等等,但我需要在 soap 调用中设置一些额外的 header 信息。

在 .net 中,只有将“AllowCookies”标志 WCF-config 设置为 true 时,我才能使用该服务。

像这样:

var session = new WebServiceSoapClient();
     ((BasicHttpBinding)session.Endpoint.Binding).AllowCookies = true;

如果我只是直接使用该服务,它会抛出“用户未通过身份验证”异常。

现在,我在 iOS 平台上又遇到了这个问题,我不知道如何/在哪里添加信息。我找到了 this post并认为我可以用它来做同样的事情,只是覆盖一个设置。没有成功。

谁有解决办法?或者有关要设置哪个 header 的信息?

(我从第一次身份验证中得到一个 token ,我想应该在这里使用它..)

更新:

我打开了与 asp.net webapp 和 webservice 的通信,并使用 Fiddler2 来调查 header 。起初我并不清楚,因为“Cookie” header 仅包含 asp.net 中的默认身份验证字符串:“ASP.NET_SessionId={xxxxxxxxxxxxx}”。但我只使用了实际值而不是整个 字符串。我想这是缺乏基本的 HTTP header 知识......我在所有 future 的请求中将整个字符串附加到 header “Cookie”,并且它起作用了!

最佳答案

更新:

我打开了与 asp.net webapp 和 webservice 的通信,并使用 Fiddler2 来调查 header 。起初我并不清楚,因为“Cookie” header 仅包含 asp.net 中的默认身份验证字符串:“ASP.NET_SessionId={xxxxxxxxxxxxx}”。但我只使用了实际值而不是整个字符串。我猜这是缺乏基本的 HTTP header 知识...我在所有 future 的请求中将整个字符串附加到 header “Cookie”,并且成功了!

关于ios - ios 中的 soap 需要启用 cookie。如何在 SOAP 头中添加它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15125018/

相关文章:

web-services - Swagger 可以用于 SOAP 吗?

ios - 我需要在异步函数中释放参数吗?

asp.net-mvc - 如何在 MVC 应用程序中切换身份验证?

node.js - 主体错误: Implementing ngx-soap client in Angular 4

xcode - presentViewController 错误 - AppDelegate 没有可见的@interface

authentication - Web 应用程序的 PIN 码身份验证

asp.net - 从 jQuery 调用 ASP.NET ASMX Web 服务

ios - Swift:CoreData 错误以及如何设置实体和 DataModel?

ios - Xcode:应用程序无错误退出

ios - 选择单元格后如何更改UITableViewCell图像?