0

我通过 Web 服务向 OSC 发送了一个以 Base64 编码的文件附件,我需要在客户门户上显示该附件。现在我无法在对象资源管理器中检索文件附件。我应该去哪里看?请问有什么建议吗?

这是我使用的一段xml(顺便说一句,webservices请求工作正常):

        <n0:RNObjects xsi:type="n1:GenericObject">
            <!-- Value to check in OSC // concatenation of Source System ID and Ticket ID -->
            <n2:LookupName>TEST2023</n2:LookupName>
            <!-- Object reference in OSC // Statutory Control -->
            <n1:ObjectType>
                <n1:Namespace>testspace</n1:Namespace>
                <n1:TypeName>typename</n1:TypeName>                 
            </n1:ObjectType>
            <!-- File Attachments -->
            <n3:FileAttachments>
                <n3:FileAttachmentList xsi:type="n3:FileAttachment" action="add">
                    <n3:ContentType>application/octet-stream</n3:ContentType>
                    <n3:Data>dGVzdA==</n3:Data>
                    <n3:FileName>test.csv</n3:FileName>
                    <n3:Name>Test File Attachments</n3:Name>
                </n3:FileAttachmentList>
            </n3:FileAttachments>               
        </n0:RNObjects> 
4

1 回答 1

1

客户门户不公开直接连接到自定义对象的文件附件。您需要创建一种机制来使用 SOAP API 提取与您的自定义对象关联的文件附件数据,然后通过客户门户提供服务。

我可能会建议使用 ROQL 来查询与您的自定义对象关联的文件附件的名称的小部件。然后,您可以使用它来显示要下载的文件列表并生成链接。当用户单击该链接时,您有一个 ajax 回调到一个控制器,该控制器将文件从 SOAP API 拉到 CP 脚本(可能使用 cURL);您可以将文件保存在 /tmp 中。然后,将文件的内容连同指示正确文件类型的标题一起返回给浏览器,以便浏览器可以相应地响应文件类型。

有更简单的机制可以显示通过客户门户连接到事件的文件附件。但是,您需要连接自定义对象的点。

于 2015-11-10T13:42:02.903 回答