2017-03-24 26 views
0

Microsoft Azure Notification Hubに接続して、購読を管理できます(登録の取得と通知の送信)。私はシンプルなC#コンソールツールを持っていて、NotificationHubClientメソッドを実行しています。例外が表示されます:(401)Not Allowed ..TrackingId:**** uid_here *****Azure Notification Hubに接続できません

Fiddlerでは、 HTTP/1.1 401 40103:無効な認証トークン署名

私は正しい接続文字列を持つアセンブリMicrosoft.Azure.NotificationHubs v2.16.0.0(フル共有アクセス)を使用していますとWindowsAzure.ServiceBus V4 .0.0。私はエラーを持っている私は、紺碧の正確な接続文字列は、ポータル管理コピーされ、私はまたServiceBusExplorerに接続しようとしたが、それは不可能だったし、このツールを使って:

Receivera:InternalServiceFaultサーバーが要求を処理できませんでした内部エラーが原因です。エラーの詳細については、例外情報をクライアントに送り返すために、サーバー上のIncludeExceptionDetailInFaults(ServiceBehaviorAttributeまたは<serviceDebug>構成動作)をオンにするか、Microsoft .NET Frameworkに従ってトレースをオンにしてくださいSDKのドキュメントを参照し、サーバートレースログを調べます。

誰かがこのような問題を抱えていますか?

Tks!

更新日: ありがとうございます。それは接続文字列の問題でした。間違いはSharedAccessKeyNameでした。現在のデフォルト名はDefaultFullSharedAccessSignatureであり、私の初期キーRootManageSharedAccessKeyはもう機能しません。私はそれが紺碧によって変わるかもしれないと思う。ルートキーとの接続を受け付けていません...他の理由で他の人によって変更されました。

+0

あなたは秘密そのものなしで接続文字列を共有できますか? – yonisha

+0

はい、確かです。 エンドポイント= SB:通知ハブの接続文字列は、正確な私は、Azureの接続情報からコピーされます。SharedAccessKeyName = DefaultFullSharedAccessSignature; //myservice.servicebus.windows.net/ = TheSecretKeyHere –

+0

SharedAccessKeyはどこハブ名を指定するのですか?答えを掲載しました。 – yonisha

答えて

3

は、私は、私のコンソールアプリケーションを構築しMicrosoft Azure Notification Hubs 1.0.7をインストールして、この問題をテストするためにポータルを管理紺碧から接続文字列を得ました。私の側に期待通りに動作することができ、ここでのコードスニペットで、あなたはそれを参照することができます:

NotificationHubClient hub = NotificationHubClient.CreateClientFromConnectionString("{connection-string-with-full-access}", "{your-notification-hub-name}"); 
await hub.SendWindowsNativeNotificationAsync("{your-Windows-native-payload}"); 

詳細については、あなたのバックエンドからのプッシュ通知を送信することについては、この公式documentに従うことができます。

+0

ありがとうございました!合ってます。私は答えで私の質問を更新しました。 –

+0

私の努力があなたの原因を見つけるのを助けることができれば、あなたは親切に答えることができます。または、このような問題に遭遇する可能性のある他のコミュニティメンバーを支援するためのよりよい方法のために、元の質問を更新する代わりに、あなたの返信を投稿して回答を回答としてマークすることができます。 –

1

通知ハブ名含まれている必要がありますあなたのサービスバス接続文字列:あなたの説明によると

Endpoint=sb://my-notification-bus.servicebus.windows.net/;SharedAccessKeyName=DefaultFullSharedAccessSignature;SharedAccessKey=MySharedAccess;EntityPath=my-hub-name

+0

ありがとうございます。今はその仕事。しかし、間違いはSharedAccessKeyNameの名前でした。私は何が起こったのか分からない。最初にSharedAccessKeyNameは "RootManageSharedAccessKey"と呼ばれました。これで、名前はDefaultFullSharedAccessSignatureになります。私はこのインフラストラクチャを少なくとも2年間働いています。たぶん蒼穹がそれを変えたか、誰か他の人がそれを変えて、私に言わなかった。 –

関連する問題