如何在 Tridion 服务器上配置 Tridion 核心服务?

Posted

技术标签:

【中文标题】如何在 Tridion 服务器上配置 Tridion 核心服务?【英文标题】:How to configure Tridion core service on Tridion server? 【发布时间】:2012-09-11 20:17:25 【问题描述】:

当我在http://tridion_ip/webservices/CoreService2011.svc 访问 Tridion 核心服务 URL 时,我得到一个运行时错误。我直接从 CMS 服务器访问 URL。

找不到与方案 https 匹配的基地址 端点

当我查看 IIS 时,我可以看到 /webservices/ 目录显示以下核心服务文件:

CoreService.svc CoreService2011.svc Web.config

我应该在那个地址看到一个网络服务页面吗?还是这是预期的行为?

编辑:输出安全元素如下:

<wsHttpBinding>
 <binding name="CoreService_wsHttpBinding" transactionFlow="true" maxReceivedMessageSize="10485760">
  <readerQuotas maxStringContentLength="10485760" maxArrayLength="10485760" />

     <!--
      <security mode="Message">
    <message clientCredentialType="Windows" />
  </security>
     -->

  <!-- For LDAP authentication of message credentials, use the following settings: -->
  <security mode="TransportWithMessageCredential">
    <message clientCredentialType="UserName" />
  </security>

</binding>

【问题讨论】:

您到底收到了什么运行时错误? 你试过这个code.google.com/p/tridion-practice/wiki/…还是这个code.google.com/p/tridion-practice/wiki/…? tridion 显示一般运行时错误:“/webservices”应用程序中的服务器错误。运行时错误描述:服务器上发生应用程序错误。此应用程序的当前自定义错误设置阻止远程查看应用程序错误的详细信息(出于安全原因)。但是,本地服务器计算机上运行的浏览器可以查看它。 基本上服务器连接有问题,需要一些配置,而不是客户端...... 卢卡斯,它也可能是客户端。如果服务器只允许 HTTPS 连接,那么您的客户端也需要 HTTPS 绑定。如果您在同一台机器上,您可以先尝试使用 NetTcp 连接。 【参考方案1】:

能否请您发布服务器配置的安全部分?您发布的错误通常是指security mode 与其他安全设置不匹配。以下是默认设置的样子:

  <wsHttpBinding>
    <binding name="CoreService_wsHttpBinding" 
             transactionFlow="true" 
             maxReceivedMessageSize="10485760">
      <readerQuotas maxStringContentLength="10485760" 
                    maxArrayLength="10485760" />
      <security mode="Message">
        <message clientCredentialType="Windows" />
      </security>
    </binding>
  </wsHttpBinding>

TransportWithMessageCredentialTransport 设置为security mode 意味着使用HTTPS 并且会像通​​过HTTP 访问一样抛出异常

更新 我确实是这么说的。您有 TransportWithMessageCredential 假设您有 HTTPS。如果您打算使用 HTTPs,您应该在您的网站上禁用 HTTP,但请记住,它还需要相当多的配置才能使客户端使用 HTTPs。您始终可以将消息安全模式与 HTTP 一起使用。您未注释的部分仅适用于具有消息安全性的 LDAP。您可以完美地使用具有传输安全性的 LDAP,然后使用 HTTP。

【讨论】:

谢谢大家,我正在尝试连接到此核心服务,但出现错误:tridion/webservices/CoreService2011.svc/basicHttp 上没有可以接受消息的端点侦听。这通常是由不正确的地址或 SOAP 操作引起的。有关更多详细信息,请参阅 InnerException(如果存在)。 @Lucas url 和端口是否正确?你能验证你可以通过浏览器访问tridion/webservices/CoreService2011.svc吗?我希望你有完整的域名而不是 tridion?如果它没有帮助 - 请提出另一个包含所有详细信息的问题【参考方案2】:

在 IIS 中检查您的网络服务。这应该是应用程序并检查您的 web.config 服务安装位置。

可能是您面临多站点托管问题

将此行放入webconfig,如果已经存在则替换为旧行

<serviceHostingEnvironment aspNetCompatibilityEnabled="true" 
                           multipleSiteBindingsEnabled="true"/>

【讨论】:

谢谢 - 我们现在看到此错误:找不到与具有绑定 WSHttpBinding 的端点的方案 https 匹配的基地址。注册的基地址方案是 [http]。还有什么想法吗? 明确的答案,我们是否有兴趣提交Area 51 Tridion specific proposal。如果有时间,请使用同一个 SO 帐户注册。

以上是关于如何在 Tridion 服务器上配置 Tridion 核心服务?的主要内容,如果未能解决你的问题,请参考以下文章

csharp 创建一个SDL Tridion用户trhough CoreService。假设将Tridion核心服务客户端DLL配置为app.config

csharp 创建一个SDL Tridion用户trhough CoreService。假设将Tridion核心服务客户端DLL配置为app.config

csharp 使用SDL Tridion Core Service发布页面。此示例显示如何在没有配置文件和使用B的情况下使用Core Service API

csharp 使用SDL Tridion Core Service发布页面。此示例显示如何在没有配置文件和使用B的情况下使用Core Service API

xml SDL Tridion 2011/2013 SmartTarget的CD logback配置示例。我用它来解决开发现状上的SmartTarget问题

xml SDL Tridion 2011/2013 SmartTarget的CD logback配置示例。我用它来解决开发现状上的SmartTarget问题