1

私はこの Web サービス (.asmx) とこの obj-c コード (wsdl2code.com から生成) を持っています。すべて正常に動作しています - 接続できますが、soap 呼び出しに追加のヘッダー情報を設定する必要があります。

.net では、「AllowCookies」フラグ WCF-config を true に設定した場合にのみサービスを使用できます。

このような:

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

サービスを直接使用しただけでは、「認証されていないユーザー」例外がスローされます。

現在、 iOS プラットフォームでこの問題が再び発生しており、情報を追加する方法/場所がわかりません。この投稿を見つけて、設定をオーバーライドするだけで同じトリックを行うために使用できると考えました。失敗。

誰かが解決策を得ましたか?または、設定するヘッダーに関する情報は?

(最初の認証からトークンが返されます。ここで使用する必要があると思います..)

アップデート:

asp.net webapp と webservice との通信を開き、Fiddler2 を使用してヘッダーを調査しました。「Cookie」ヘッダーにはasp.netのデフォルトの認証文字列「ASP.NET_SessionId = {xxxxxxxxxxxx}」しか含まれていなかったため、最初はわかりませんでした。しかし、文字列全体ではなく、実際の値のみを使用しました。これは基本的な HTTP ヘッダーの知識が不足していると思います... 今後のすべてのリクエストで、文字列全体をヘッダー 'Cookie' に追加しましたが、うまくいきました!

4

1 に答える 1

1

アップデート:

asp.net webapp と webservice との通信を開き、Fiddler2 を使用してヘッダーを調査しました。「Cookie」ヘッダーにはasp.netのデフォルトの認証文字列「ASP.NET_SessionId = {xxxxxxxxxxxx}」しか含まれていなかったため、最初はわかりませんでした。しかし、文字列全体ではなく、実際の値のみを使用しました。これは基本的な HTTP ヘッダーの知識が不足していると思います... 今後のすべてのリクエストで、文字列全体をヘッダー 'Cookie' に追加しましたが、うまくいきました!

于 2013-03-03T01:36:00.150 に答える