我正在尝试使用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提出请求,但似乎我不需要更多,但也许我错过了一些东西。
答案 0 :(得分:4)
发布是针对(发布)目标类型执行的操作,但您在请求中提到了发布目标(tcm:0-5-65537)。
A(出版物)目标类型是SDL Tridion用户(即作者和编辑)已知的“逻辑”项目。它也是设置安全性的项目,它是用户想要发布内容时在UI中选择的项目。典型的名称是“升级”和“现场”。官方文档说明如下:目标类型为一个或多个发布目标指定用户友好名称,并指定目标的权限设置。
发布目标或多或少是“技术”项目,它包含不同的目标以及为此目标启用的发布的配置。这与其属性中的目标类型相关联。不幸的是,出版物目标的典型名称也是“升级”和“现场”,这是最初的混淆来自的地方。官方文档将其命名为:发布目标定义了使用不同协议发布内容所需的信息。
URI中的项目类型可以显示差异:
65537 = Publication Target
65538 = Target Type