Azure AIP Sync Error : profile_add_engine_async Failed with: [ConnectionHttpError] Failed sending http request with error code 'windows:87'
Azure AIP Sync Error : profile_add_engine_async Failed with: [ConnectionHttpError] Failed sending http request with error code 'windows:87'
我正在尝试使用在 cpp 中实现的 AIP SDK 在我的自定义客户端应用程序上同步 Azure AIP 标签。对于 POC,我尝试了这个发布在 Microsoft 代码示例上的示例。
但是抛出异常
Trace 2020-01-23 16:23:58.690 telemetry_utils.cpp:66 mipsdk-policyapi-cpp-sample-basic (13592) "Send Telemetry. Event Name : [profile_add_engine_async]
App.ApplicationId: [36980fd4-b1e8-4856-8703-c1004a99722b], Pii: [None]
App.ApplicationName: [Ravindra12], Pii: [None]
App.ApplicationVersion: [1.0.0], Pii: [None]
App.SessionId: [1], Pii: [None]
Engine.SessionId: [1], Pii: [None]
Event.CorrelationId: [c34572fd-57a9-4a97-a94b-4cf3a98518fe], Pii: [None]
Event.CorrelationIdDescription: [PolicyProfile], Pii: [None]
Event.Duration: [2.68388], Pii: [None]
Event.ErrorType: [ConnectionHttpError], Pii: [None]
Event.Failed.File: [src\upe\api_impl\policy_profile_impl.cpp], Pii: [None]
Event.Failed.Func: [mip::ProfileImpl::AddEngineAsync], Pii: [None]
Event.Failed.Line: [332], Pii: [None]
Event.Failed.Message: [Failed API call: profile_add_engine_async Failed with: [ConnectionHttpError] Failed sending http request with error code 'windows:87' Failed with: ([http_exception] 'WinHttpAddRequestHeaders: 87: The parameter is incorrect.
')], Pii: [None]
Event.UniqueId: [2029587e-eb8c-4483-a5ef-283a0a0f7a59], Pii: [None]
EventInfo.Level: [10], Pii: [None]
EventInfo.PrivTags: [33554432], Pii: [None]
MIP.Version: [1.4.154], Pii: [None]
iKey: [ce9aa5fb5a414ecebb15af10715bd8ff-831d197e-fc97-4df6-b998-c8c13a0fc3ce-6768], Pii: [None]
" mip::WriteEventToTraceLog 29012
逐步调试时,我观察到它可以成功从 Azure AD 获取身份验证令牌,但无法将 PolicyEngine 添加到 PolicyProfile。
我已按照上述 SDK 示例页面中的说明配置了 Azure AIP 和 Azure AD 中的所有内容,但仍然出现此错误。我无法获得无效的参数是什么以及我做错了什么。
另一方面,我可以 运行 使用 dotnet sdk 的示例。我可以列出所有标签。 - https://docs.microsoft.com/en-us/samples/azure-samples/mipsdk-dotnet-policy-quickstart/mipsdk-dotnet-policy-quickstart/
有人可以帮助我成功获得此应用程序运行。
谢谢。
该错误将通过 cpprestsdk 从 winhttp 冒出来。根据一些快速搜索,如果您的身份验证令牌末尾有空格,似乎可能会发生这种情况。你能检查一下吗?
我刚刚通过向令牌附加一个空格对其进行了测试,它确实重现了错误。根据示例,我不确定您为什么会得到空格,但看看您是否能够 trim 结束并使其正常工作。
我通过将此添加到 auth 委托来进行复制:
string accessToken = sample::auth::AcquireToken(mUserName, mPassword, mApplicationInfo.applicationId, challenge.GetResource(), challenge.GetAuthority());
accessToken.append(1, ' ');
它抛出了:
Event.Failed.Message:[API 调用失败:profile_add_engine_async 失败:[ConnectionHttpError] 发送 http 请求失败,错误代码为 'windows:87' 失败:([http_exception] 'WinHttpAddRequestHeaders: 87: 参数不正确。
我正在尝试使用在 cpp 中实现的 AIP SDK 在我的自定义客户端应用程序上同步 Azure AIP 标签。对于 POC,我尝试了这个发布在 Microsoft 代码示例上的示例。
但是抛出异常
Trace 2020-01-23 16:23:58.690 telemetry_utils.cpp:66 mipsdk-policyapi-cpp-sample-basic (13592) "Send Telemetry. Event Name : [profile_add_engine_async]
App.ApplicationId: [36980fd4-b1e8-4856-8703-c1004a99722b], Pii: [None]
App.ApplicationName: [Ravindra12], Pii: [None]
App.ApplicationVersion: [1.0.0], Pii: [None]
App.SessionId: [1], Pii: [None]
Engine.SessionId: [1], Pii: [None]
Event.CorrelationId: [c34572fd-57a9-4a97-a94b-4cf3a98518fe], Pii: [None]
Event.CorrelationIdDescription: [PolicyProfile], Pii: [None]
Event.Duration: [2.68388], Pii: [None]
Event.ErrorType: [ConnectionHttpError], Pii: [None]
Event.Failed.File: [src\upe\api_impl\policy_profile_impl.cpp], Pii: [None]
Event.Failed.Func: [mip::ProfileImpl::AddEngineAsync], Pii: [None]
Event.Failed.Line: [332], Pii: [None]
Event.Failed.Message: [Failed API call: profile_add_engine_async Failed with: [ConnectionHttpError] Failed sending http request with error code 'windows:87' Failed with: ([http_exception] 'WinHttpAddRequestHeaders: 87: The parameter is incorrect.
')], Pii: [None]
Event.UniqueId: [2029587e-eb8c-4483-a5ef-283a0a0f7a59], Pii: [None]
EventInfo.Level: [10], Pii: [None]
EventInfo.PrivTags: [33554432], Pii: [None]
MIP.Version: [1.4.154], Pii: [None]
iKey: [ce9aa5fb5a414ecebb15af10715bd8ff-831d197e-fc97-4df6-b998-c8c13a0fc3ce-6768], Pii: [None]
" mip::WriteEventToTraceLog 29012
逐步调试时,我观察到它可以成功从 Azure AD 获取身份验证令牌,但无法将 PolicyEngine 添加到 PolicyProfile。
我已按照上述 SDK 示例页面中的说明配置了 Azure AIP 和 Azure AD 中的所有内容,但仍然出现此错误。我无法获得无效的参数是什么以及我做错了什么。
另一方面,我可以 运行 使用 dotnet sdk 的示例。我可以列出所有标签。 - https://docs.microsoft.com/en-us/samples/azure-samples/mipsdk-dotnet-policy-quickstart/mipsdk-dotnet-policy-quickstart/
有人可以帮助我成功获得此应用程序运行。
谢谢。
该错误将通过 cpprestsdk 从 winhttp 冒出来。根据一些快速搜索,如果您的身份验证令牌末尾有空格,似乎可能会发生这种情况。你能检查一下吗?
我刚刚通过向令牌附加一个空格对其进行了测试,它确实重现了错误。根据示例,我不确定您为什么会得到空格,但看看您是否能够 trim 结束并使其正常工作。
我通过将此添加到 auth 委托来进行复制:
string accessToken = sample::auth::AcquireToken(mUserName, mPassword, mApplicationInfo.applicationId, challenge.GetResource(), challenge.GetAuthority());
accessToken.append(1, ' ');
它抛出了:
Event.Failed.Message:[API 调用失败:profile_add_engine_async 失败:[ConnectionHttpError] 发送 http 请求失败,错误代码为 'windows:87' 失败:([http_exception] 'WinHttpAddRequestHeaders: 87: 参数不正确。