WCF Data Services を Windows Azure AppFabric Service Bus で公開する(調査中:その2) - お だ のスペース の続きです。
前回、このサイト Exposing a WCF Data Service via the Azure AppFabric Service Bus | Pedro Félix's shared memory で上手くいかないと書いていましたが、動きました!
原因は、ServiceBusEnvironment.CreateServiceUri Method (Microsoft.ServiceBus) の第一引数を "sb" のままにしていたことです。"https" に直すと動きました。
※なんで "sb" だとダメなのか良く解ってません。。そもそも "sb" が何なのかもイマイチ…
また、How to use Microsoft Windows Azure platform AppFabric Service Bus and Microsoft WCF Data Services to expose on-premises database to the internet で公開されているサンプルと見比べると、
WebHttpRelayBinding Constructor (EndToEndWebHttpSecurityMode, RelayClientAuthenticationType) (Microsoft.ServiceBus) の第二引数 の RelayClientAuthenticationType Enumeration (Microsoft.ServiceBus) が異なる位でした。
RelayClientAuthenticationType.None だと、クライアントはセキュリティトークンが不要。RelayClientAuthenticationType.RelayAccessToken だと、クライアントはセキュリティトークンが必要になります。
クライアントから、セキュリティトークンを渡す方法は、How to use Microsoft Windows Azure platform AppFabric Service Bus and Microsoft WCF Data Services to expose on-premises database to the internet のサンプルにクライアント側のコードもあるので参考になると思います。*1
*1:未だちゃんと見てない。