我目前正在构建一个跨域消息传递服务,该服务使用声明与域内的服务进行通信。在我的消息服务中,我有:
this.messageFactory = MessagingFactory.Create();
this.namespaceManager = NamespaceManager.Create();
TokenProvider tokenProvider = TokenProvider.CreateSamlTokenProvider(saml,
new Uri("https://<Messaging service>:9355/<Application Namespace>/"));
this.messageFactory.GetSettings().TokenProvider = tokenProvider;
this.namespaceManager.Settings.TokenProvider = tokenProvider;
其中 saml 变量是代表我的 saml 令牌的 xml 字符串。后来我打电话
if (this.namespaceManager.TopicExists(topicName) == false)
{
this.namespaceManager.CreateTopic(topicName);
}
当 if 语句被调用时,我得到这个错误:
The token provider service was not avaliable when obtaining a token for 'https://<Messaging service>:9355/<Application Namespace>/WRAPv0.9/'.
除了内部例外:
The remote server returned an error: (404) Not Found.
但是当我浏览到地址时,我会在网页中得到响应:
<feed xmlns="http://www.w3.org/2005/Atom"><title type="text">Publicly Listed Services</title><subtitle type="text">This is the list of publicly-listed services currently available.</subtitle><id>uuid:7ad43729-3ed5-4c35-9987-48a34036d267;id=4</id><updated>2013-09-24T17:50:26Z</updated><generator>Service Bus 1.0</generator></feed>
如果这是一个配置问题,或者我错过了我的令牌所需的东西,有什么想法吗?