在哪里/如何通过oracle服务云检索通过Web服务发送的文件附件?

时间:2015-11-06 06:21:32

标签: php oracle web-services rightnow-crm oracle-service-cloud

我通过webservices将在Base64中编码的文件附件发送到OSC,我需要在客户门户上显示。现在我无法在对象资源管理器中检索文件附件。我应该在哪里看?有什么建议吗?

这是我使用的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> 

1 个答案:

答案 0 :(得分:1)

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

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

通过客户门户网站显示与事件相关的文件附件有更简单的机制。但是,您需要为自定义对象连接点。