使用SoapUI测试Azure混合连接 [英] Testing an Azure Hybrid Connection using SoapUI

查看:18
本文介绍了使用SoapUI测试Azure混合连接的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个Azure混合连接,它应该连接到某个本地服务并将其公开给我的应用程序服务。但是,设置在某处失败,我正在尝试缩小问题的确切范围。

作为此过程的一部分(因为它将来会对我有用),我正尝试使用SoapUI调用底层的本地服务,但最初的GET请求本应提供给我WSDL,但却给了我一个身份验证错误:

GET https://my-relay.servicebus.windows.net/my-endpoint/my-service.svc?wsdl

{
  "error": {
    "code": "TokenMissingOrInvalid",
    "message": "MissingToken: Relay security token is required. TrackingId:b58c004c-e0e6-4dd0-a233-e0d304795e4e_G21, SystemTracker:my-relay.servicebus.windows.net:my-endpoint/my-service.svc, Timestamp:2019-03-05T10:17:26"
  }
}

从哪里获取中继安全令牌,以及如何将其告知SoapUI?

推荐答案

您需要创建一个安全令牌并将其传递到请求的标头中。

类似以下内容:

 var tokenProvider = TokenProvider.CreateSharedAccessSignatureTokenProvider(KeyName, Key);
        var uri = new Uri(string.Format("https://{0}/{1}", RelayNamespace, ConnectionName));
        var token = (await tokenProvider.GetTokenAsync(uri.AbsoluteUri, TimeSpan.FromHours(1))).TokenString;
        var client = new HttpClient();
        var request = new HttpRequestMessage()
        {
            RequestUri = uri,
            Method = HttpMethod.Get,
        };
        request.Headers.Add("ServiceBusAuthorization", token);
        var response = await client.SendAsync(request);

对于SOAPUI,您将在名为"ServiceBusAuthorization"的标头中添加结果令牌值。

这篇关于使用SoapUI测试Azure混合连接的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆