使用CoreService 2010在Tridion 2011 SP1中发布不会返回任何发布事务

时间:2012-12-04 21:35:58

标签: soap tridion tridion-2011

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

使用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提出请求,但似乎我不需要更多,但也许我错过了一些东西。

1 个答案:

答案 0 :(得分:4)

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

A(出版物)目标类型是SDL Tridion用户(即作者和编辑)已知的“逻辑”项目。它也是设置安全性的项目,它是用户想要发布内容时在UI中选择的项目。典型的名称是“升级”和“现场”。官方文档说明如下:目标类型为一个或多个发布目标指定用户友好名称,并指定目标的权限设置。

发布目标或多或少是“技术”项目,它包含不同的目标以及为此目标启用的发布的配置。这与其属性中的目标类型相关联。不幸的是,出版物目标的典型名称也是“升级”和“现场”,这是最初的混淆来自的地方。官方文档将其命名为:发布目标定义了使用不同协议发布内容所需的信息。

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

65537 = Publication Target
65538 = Target Type