Search code examples
soaptridiontridion-2011

Publish in Tridion 2011 SP1 using CoreService 2010 don't return any publishing transactions


I am trying to publish a single Component in Tridion using the CoreService 2010 Basic HTTP interface.

Using Soap UI, I am sending

<?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>

And then receiving:

<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>

I am expecting to see a PublicationTransaction here, what am I doing wrong?

I am based my request on this url http://blog.building-blocks.com/publishing-components-using-the-core-service-in-sdl-tridion-2011, it doesn't appear I need much more, but perhaps I am missing something.


Solution

  • Publishing is an action which is done against a (Publication) Target Type, but you are mentioning a Publication Target (tcm:0-5-65537) in your request.

    A (Publication) Target Type is the "logical" item which is known to SDL Tridion Users (i.e. Authors and Editors). It is the item where security is also set on and it is the item which is selected in the UI when a user wants to publish something. Typical names are "staging" and "live". The official documentation words it as follows: A Target Type specifies a user-friendly name for one or more Publication Targets and specifies permission settings for the target(s).

    The Publication Target is more or less the "technical" item, it contains the different destinations and the configuration for which Publication this target is enabled. This is linked to the Target Type in its properties. Unfortunately typical names for Publication targets are also "staging" and "live", which is where the initial confusion comes from. The official documentation words it as: A Publication Target defines the information required to publish content using different protocols.

    The item types in the URI can show you the difference:

    65537 = Publication Target
    65538 = Target Type