1

Web サイトから取得して Web サービスに入れる必要がある非常に長時間実行されるタスクがありますが、Web サービスを呼び出そうとするたびにこのエラー メッセージが表示されます。The request failed with HTTP status 401: Unauthorized.

メールを送信するときに似たようなものを見たので、これは資格情報の問題である可能性があると思ったので、これを行いました:

      Dim wsCustomer As New blueprintdev.RosterEmailService()

      Dim basicAuthenticationInfo As New System.Net.NetworkCredential("user", "pass")

      wsCustomer.UseDefaultCredentials = False

      wsCustomer.PreAuthenticate = True

      wsCustomer.Credentials = basicAuthenticationInfo

      txtTestResult.Text = wsCustomer.Test()

これでも同じ問題が発生します。

また、デフォルトの資格情報を使用してこれを試しましたが、それでも役に立ちません。

これを適切に行う方法がわからないので、ほとんどチュートリアルなどに取り組んできましたが、ここで何が間違っているのか教えてもらえますか?

ありがとう

追加メモ: 私が取り組んでいるプロジェクトは、私が入社したときに継承したものであり、Visual Studio でビルドすることはできないため、プロジェクトを大規模にハッキングして多くのコードを削除しない限り、コードをブレークポイントすることはできません。

更新: フィドラーを実行すると、認証タブを見ると 3 つのエントリが表示されます。

No Proxy-Authenticate Header is present.

WWW-Authenticate Header (Negotiate) appears to be a Kerberos reply:
A1 15 30 13 A0 03 0A 01 03 A1 0C 06 0A 2B 06 01  ¡.0. ....¡...+..
04 01 82 37 02 02 0A                             ..7...         

それで

No Proxy-Authenticate Header is present.

WWW-Authenticate Header (Negotiate) appears to be a Kerberos reply:
A1 81 E2 30 81 DF A0 03 0A 01 01 A2 81 D7 04 81  ¡â0ß ....¢×.
D4 4E 54 4C 4D 53 53 50 00 02 00 00 00 0E 00 0E  ÔNTLMSSP........
00 38 00 00 00 15 82 89 E2 C1 20 C3 44 5E 99 21  .8....âÁ ÃD^!
A0 00 00 00 00 00 00 00 00 8E 00 8E 00 46 00 00   ..........F..
00 06 01 B1 1D 00 00 00 0F 41 00 43 00 41 00 44  ...±.....A.C.A.D
00 45 00 4D 00 59 00 02 00 0E 00 41 00 43 00 41  .E.M.Y.....A.C.A
00 44 00 45 00 4D 00 59 00 01 00 06 00 44 00 45  .D.E.M.Y.....D.E
00 56 00 04 00 1A 00 6C 00 6F 00 63 00 61 00 6C  .V.....l.o.c.a.l
00 2E 00 41 00 63 00 61 00 64 00 65 00 6D 00 79  ...A.c.a.d.e.m.y
00 03 00 22 00 44 00 45 00 56 00 2E 00 6C 00 6F  ...".D.E.V...l.o
00 63 00 61 00 6C 00 2E 00 41 00 63 00 61 00 64  .c.a.l...A.c.a.d
00 65 00 6D 00 79 00 05 00 1A 00 6C 00 6F 00 63  .e.m.y.....l.o.c
00 61 00 6C 00 2E 00 41 00 63 00 61 00 64 00 65  .a.l...A.c.a.d.e
00 6D 00 79 00 07 00 08 00 2E 76 48 74 53 21 CD  .m.y......vHtS!Í
01 00 00 00 00        

                       .....           

そして最後に、これは赤でハイライトされています

No Proxy-Authenticate Header is present.

No WWW-Authenticate Header is present.

これは、クライアントとサーバーの間のどこかで認証データが失われているということですか? または、そもそも何も渡していないということですか?

4

2 に答える 2

1

ブラウザからサービスにアクセスできる場合は、資格情報としてドメインを含むユーザー名を渡すことをお勧めします。

ユーザー名は次のようになります: DOMAIN\USER

于 2012-05-09T16:49:33.810 に答える
0

同様の問題があり、ユーザー名とパスワードを明示的に追加する必要がありました。

すなわち。

   wsCustomer.username = "something"
   wsCustomer.password = "something else"  

私はあなたがすでにそれをやっていると思います:

 Dim basicAuthenticationInfo As New System.Net.NetworkCredential("user", "pass")

しかし、試してみる価値があるかもしれません

于 2015-09-26T09:56:05.657 に答える