3

我正在尝试使用 CoreService 2010 Basic HTTP 接口在 Tridion 中发布单个组件。

使用 Soap UI,我正在发送

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
  <S:Body>
    <ns4:Publish xmlns="http://www.sdltridion.com/ContentManager/R6" xmlns:ns2="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns:ns3="http://www.sdltridion.com/Security" xmlns:ns4="http://www.sdltridion.com/ContentManager/CoreService/2010" xmlns:ns5="http://schemas.microsoft.com/2003/10/Serialization/">
      <ns4:ids>
        <ns2:string>tcm:292-39250</ns2:string>
      </ns4:ids>
      <ns4:publishInstruction>
        <ResolveInstruction>
          <IncludeChildPublications>true</IncludeChildPublications>
          <IncludeComponentLinks>false</IncludeComponentLinks>
          <IncludeWorkflow>false</IncludeWorkflow>
        </ResolveInstruction>
        <RenderInstruction/>
      </ns4:publishInstruction>
      <ns4:targets>
        <ns2:string>tcm:0-5-65537</ns2:string>
      </ns4:targets>
      <ns4:priority>Normal</ns4:priority>
      <ns4:readOptions>
        <ns4:LoadFlags>None</ns4:LoadFlags>
      </ns4:readOptions>
    </ns4:Publish>
  </S:Body>
</S:Envelope>

然后接收:

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
   <s:Header>
      <ActivityId CorrelationId="7bfbbb48-8111-40ba-9e6e-8a7073a21a09" xmlns="http://schemas.microsoft.com/2004/09/ServiceModel/Diagnostics">00000000-0000-0000-0000-000000000000</ActivityId>
   </s:Header>
   <s:Body>
      <PublishResponse xmlns="http://www.sdltridion.com/ContentManager/CoreService/2010">
         <PublishResult xmlns:a="http://www.sdltridion.com/ContentManager/R6" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"/>
      </PublishResponse>
   </s:Body>
</s:Envelope>

我期待在这里看到一个 PublicationTransaction,我做错了什么?

我的请求基于此网址http://blog.building-blocks.com/publishing-components-using-the-core-service-in-sdl-tridion-2011,看来我不需要更多,但也许我错过了一些东西。

4

1 回答 1

4

发布是针对(发布)目标类型执行的操作,但您在请求中提到了发布目标 (tcm:0-5-65537)。

(出版物)目标类型是 SDL Tridion 用户(即作者和编辑)已知的“逻辑”项目。它是同时设置了安全性的项目,它是当用户想要发布某些内容时在 UI 中选择的项目。典型的名称是“staging”和“live”。官方文档是这样说的:目标类型为一个或多个发布目标指定一个用户友好的名称,并为目标指定权限设置。

发布目标或多或少是“技术”项,它包含不同的目标和启用此目标的发布的配置。这在其属性中链接到目标类型。不幸的是,发布目标的典型名称也是“staging”和“live”,这是最初混淆的地方。官方文档将其表述为:发布目标定义了使用不同协议发布内容所需的信息。

URI 中的项目类型可以显示差异:

65537 = Publication Target
65538 = Target Type
于 2012-12-18T16:52:55.093 回答