当前位置: 首页 > 知识库问答 >
问题:

MIP SDK:无法创建FileHandler,错误为“不支持本地服务器上受保护的内容”

羊浩广
2023-03-14

我们正在开发一个应用程序,使用MIP SDK打开和编辑受保护的PDF文件(我们目前使用的是1.6.103版本)。到目前为止,我们能够打开受不同版本Microsoft保护的文件,包括MicrosoftIRMServices版本1。

我们现在遇到了一个客户的问题。他们将文件保存在SharePoint 2016目录中,该目录配置为自动为所有上传的文件添加保护。他们的所有环境都是本地的,使用AD RMS服务进行保护。他们在服务器端没有Azure IP。

当我们下载结果文件并尝试打开时,我们::FileEngine创建一个mipns,然后调用CreateFileHandlerAsync()::FileHandler创建一个mipns。此调用失败,并出现以下mipns::Networks Error:

NetworkError : Content protected by on prem servers is unsupported., NetworkError.Category=FailureResponseCode, HttpRequest.SanitizedUrl=https://api.aadrm.com/my/v2/enduserlicenses, 

正如错误所暗示的那样,我怀疑问题出在内部保护的使用上。我认为可以按照 https://learn.microsoft.com/en-us/information-protection/develop/quick-app-adrms#configuring-protection-api-in-c-to-use-ad-rms 的说明解决,因此,按照这些说明,我创建了文件引擎

ProtectionEngine::Settings engineSettings("", authDelegate, "");
engineSettings.SetProtectionCloudEndpointBaseUrl("http://<my server>/_wmcs/licensing");

但到目前为止没有成功,尽管错误已经改变,现在

NetworkError : The protection service is unavailable., NetworkError.Category=FailureResponseCode, HttpRequest.SanitizedUrl=https://<my server>/my/v1/enduserlicenses,

(当然在哪里

我走错方向了吗?如果不是,也许我用错了endpoint?如何按照链接页面中的建议找到要传递给SetProtectionCloudEndpointBaseUrl的endpointURL?

谢谢。


共有1个答案

丁晋
2023-03-14

这可能是由于缺少 MDE 安装或 MDE SRV 记录导致的。需要验证是否已部署和配置 AD RMS 的移动设备扩展。如果有,您还需要验证客户正在使用的任何邮件后缀的 SRV 记录是否已到位。例如,如果 RMS 服务位于 RMS.FABRIKAM.COM,但您的客户电子邮件地址为 @Contoso.com,则需要类似于 _rmsdisco._http._tcp.contoso 的 SRV 记录.com该记录随后将指向 RMS 中的服务器。FABRIKAM.COM。

基本URL不在消费场景中使用。它仅用于发布。也就是说,看起来您已经设置了_wmcsendpoint,但我们只期望AD RMS的基础:

ProtectionCloudEndpointBaseUrl = "https://rms.contoso.com"

只有在创建文件引擎时不提供mip::Identity对象时,才需要这样做。如果您提供了身份,我们将使用域名后缀来查找DNS记录并追踪该推荐。

 类似资料:
  • 我已经构建了一个RESTendpoint,它使用Spring和Apache CXF2.5来使用和生成Application/JSON。 配置: 当我使用不受支持的内容类型(如application/xml)发送请求(使用REST客户端应用程序)时,我会得到一个内部服务器错误。我希望是405,因为endpoint不支持任何其他内容类型。为什么我会得到这个例外?

  • 我需要在RAD 6.0中创建一个新的服务器配置文件。我面临的问题是,在转到Windows->Preferences->server->WebSphere后,我无法看到“WebSphereV6.0本地服务器配置文件创建”部分。 会不会是安装的问题,因为JVM被终止了,安装时Exit CODE=1错误,我再次启动RAD时又出现了这个错误。到现在为止,我可以通过启动eclipse而不是RAD ie来摆脱

  • 无论我尝试什么;最新的chrome浏览器,最新的chromedriver,最新的selenium服务器,等等。但是当我在Mac OSX上运行测试时,我不断得到上面的错误。我研究过其他类似的问题,甚至尝试过那里提出的解决方案,但似乎没有任何效果。我错过了什么或做错了什么?? 以下是我的设置: Chrome版本:75.0.3770.100(最新版本) Chromedriver版本:75.0.3770.

  • 我正在为rails和ember使用docker容器。我正在将源代码从本地安装到容器。我在local上所做的所有更改都反映在容器中。 现在我想使用生成器来创建文件。文件已创建,但在我的机器上受写保护。 当我尝试执行时,我在容器内部获得了超级用户提示访问。当我处于这种模式时,我可以创建文件。这些文件在我的主机中受到写保护。 我还尝试了docker compose run——用户“$(id-u):$(i

  • 我尝试在英国西部地区创建一个Azure服务容器。我经历了所有的步骤没有问题,但是一旦我点击创建后,我遇到了几分钟: 所提供的位置ukWest不适用于资源类型Microsoft。容器服务/容器服务。资源类型的可用区域列表是“日本东部、中部、东部2、日本西部、东部、南部、澳大利亚东部、澳大利亚东部、巴西南部、南部、西部、北部、西部、西部、北部、北部、北部、北部、东部”。 好吧,我意识到这是我的错误,于

  • 问题内容: 我正在执行一个简单的preparestatement查询执行,并抛出此错误:java.sql.SQLException:net.sourceforge.jtds.jdbc.JtdsPreparedStatement.notSupported的这种类型的语句不支持使用executeQuery(string)方法(net.sourceforge.jtds.jdbc.JtdsPrepared