本文详细介绍如何将“创建通信解决方案”与您的环境相集成。
从自定义门户调用“创建通信”应用程序的一种方法是使用以下请求参数准备URL:
信件模板的标识符(使用cmLetterId参数)或信件模板的名称(使用cmLetterName参数)
从所需数据源获取的XML数据的URL(使用cmDataUrl参数)。
例如,自定义门户会将URL准备为
https://[server]:[port]/[contextPath]/aem/forms/createcorrespondence.html?random=[timestamp]&cmLetterId=[letter identifier]&cmDataUrl=[data URL]
,可以是门户链接中的href。
如果门户手头有信件模板名称,则URL可能为
https://[server]:[port]/content/cm/createcorrespondence.html?cmLetterName=[letter name]&cmDataUrl=[data URL]
。
以这种方式调用是不安全的,因为通过在URL中公布相同(显示得很清楚)的参数,将必需的参数作为GET请求传递。
在调用创建通信应用程序之前,请保存并上传数据,以在给定的dataURL中调用创建通信UI。 这可以通过自定义门户本身或通过其他后端流程来完成。
调用创建通信应用程序的另一种(也是更安全的)方法是,只需点击 https://[server]:[port]/[contextPath]/aem/forms/createcorrespondence.html
时,将参数和数据作为POST请求发送以调用创建通信应用程序(向最终用户隐藏它们)。 这还意味着您现在可以在内联传递Create Correspondence应用程序的XML数据(作为同一请求的一部分,使用cmData参数),在以前的方法中,这是不可能的/理想的。
名称 | 类型 | 描述 |
cmLetterInstanceId | 字符串 | 信件实例的标识符。 |
cmLetterName | 字符串 | 信件模板的标识符。 如果服务器上存在多个同名的CM字母,则在URL中使用cmLetterName参数会引发错误“存在多个带有名称的字母”。 在这种情况下,请在URL中使用cmLetterId参数,而不是cmLetterName。 |
cmLetterId | 字符串 | 信件模板的名称。 |
表中的参数顺序指定用于加载信件的参数的首选项。
名称 | 类型 | 描述 |
cmDataUrl |
URL | 使用基本协议(如cq、ftp、http或文件)从源文件获取XML数据。 |
cmLetterInstanceId | 字符串 | 使用信件实例中可用的xml数据。 |
cmUseTestData | 布尔值 | 重复使用数据字典中附加的测试数据。 |
表中参数的顺序指定用于加载XML数据的参数的首选项。
名称 | 类型 | 描述 |
cmPreview |
布尔值 | 如果在预览模式下打开信件,则为true |
随机 | 时间戳 | 用于解决浏览器缓存问题。 |
如果您对cmDataURL使用http或cq协议,则http/cq的URL应当可以匿名访问。