ERP Connector 自定义选项
背景
ERP Connector 自定义一节中所述,以下选项可用于自定义 ERP Connector,即
1. 使用分布目标扩展;
2. 使用自定义 Info*Engine 任务将响应消息传送到所需目标位置。
除此之外,还可以按照 Windchill ESI 服务自定义一节和 Windchill 自定义一节中所述,分别对 ESI 服务和 Windchill 进行自定义,从而满足其他自定义情景的需求。
本节介绍了默认 I*E 任务,这些任务用于将 ESI 响应传送到预设支持的目标位置 (即文件、FTP 和电子邮件类型的分布目标)。
Info*Engine 任务
ERP Connector 使用某些 Info*Engine 任务将 ESI 响应传送到相关发布目标,并根据需要调用 PostResult RPC。以下各部分介绍了预设使用的任务。有关传递到任务的输入参数的信息,请参阅可配置选项部分。
* 
ExportTo<XXX>.xml 中的每个 I*E 任务均通过执行 <Windchill>/tasks/com/ptc/windchill/esi/export/ParseAndProcessResult.xml 中的任务来调用 PostResult RPC。
ExportToFile
此任务利用名为 Write-To-File 的自定义 webject。给出内容后,此任务会创建一个文件,其名称和位置分别由 webject 参数 FILE_NAMEPATH 中的值确定。
• webject 参数:
参数:FILE_NAME
说明:要创建的文件的名称。此参数可通过以下方法来获取:将 ERP Connector 首选项 ESI Response File Prefix 的值、与要导出的主要业务对象关联的组织名称以及从任务参数 transaction 获得的底层 ESI 事务处理的 idNumber 属性串连在一起。将下划线 ('_') 字符用作合并标记之间的分隔符,并使用文件扩展名 .xml 或 .jar (具体取决于数据是以 ESI XML 还是 PLM 格式导出的)。
* 
此任务利用 ESIUtility API getResponseFileName() 获取文件名。
参数
PATH
说明:需要创建文件的位置的路径。此参数是从分布目标属性 Path 获取的。
参数:CONTENT
说明:要写入到文件的数据 (XML 形式的 ESI 响应)。此参数是从与任务关联的 VDB 获取的。只有在未指定 GROUP_IN 参数时,才需要此参数。
* 
只有在以 ESI XML 格式导出数据时,此参数才具有相关性。
参数:XSL_URL
说明:在写入文件之前要应用于 XML 数据的 XSL 样式表的 URL。此参数是从分布目标属性 XSL_URL 获取的。
参数:XSL_DBUSER
说明:用于访问 XSL 样式表的用户名。如果指定了 XSL_PASSWD 参数,则此参数为必填项。此参数是从分布目标属性 XSL_DBUser. 获取的。
参数:XSL_PASSWD
说明:用于访问 XSL 样式表的密码。此参数是从分布目标属性 XSL_Password 获取的。
参数:XSL_PARAM
说明:将样式表应用于 XML 数据时所要使用的 XSL 参数。此参数是从分布目标属性 XSL_Parameters 获取的。
注意:只有在以 ESI XML 格式导出数据时,参数 XSL_URL、XSL_DBUSER、XSL_PASSWD 和 XSL_PARAM 才相关。
参数:GROUP_IN
说明:输入 Info*Engine 组的名称,其中包含用来表示 ESI 响应消息、主要业务对象以及要将数据导出到的分布目标的 IeCollection 对象。这些项分别保存在名为 CONTENT、PRIMARY_OBJECT 和 DISTRIBUTION_TARGET 的 Att 对象中
。只有在未指定 CONTENT 参数时 (例如以 PLM 格式导出数据时),才需要此参数。
默认值:input。
参数:GROUP_OUT
说明:执行任务时要创建的输出 Info*Engine 组的名称。
默认值:output。
ExportToFTP
此任务利用名为 Write-To-Ftp 的自定义 webject。给出内容后,此任务会创建一个文件,其名称和 FTP 位置分别由 webject 参数 FILE_NAME 和 FTP_URL 中的值确定。
webject 参数:
参数:FILE_NAME
说明:要在指定的 FTP 位置创建的文件名。此参数可通过以下方法来获取:将 ERP Connector 首选项 ESI Response File Prefix 的值、与要导出的主要业务对象关联的组织名称以及从任务参数 idNumber 获得的底层 ESI 事务处理的 transaction 属性串连在一起。将下划线 ('_') 字符用作合并标记之间的分隔符,并使用文件扩展名 .xml 或 .jar (具体取决于数据是以 ESI XML 还是 PLM 格式导出的)。
* 
此任务利用 ESIUtility API getResponseFileName() 获取文件名。
参数:FTP_URL
说明:FTP 服务器的 URL 由服务器的用户名和密码以及其他属性构成。如果未提供用户名和密码,则采用匿名登录。URL 是使用分布目标属性 FTP_UserIDFTP_PasswordFTP_HostFTP_PortFTP_Path 构建的。
参数:FTP_MODE
说明:与 FTP 操作关联的传输模式。这可能需要以下值:
ASCII (或 a) - 用于文本内容。
BINARY (或 i) - 用于二进制/图像文件。
参数:CONTENT
说明:要写入到位于指定 FTP 位置的文件中的数据 (XML 形式的 ESI 响应)。此参数是从与任务关联的 VDB 获取的。只有在未指定 GROUP_IN 参数时,才需要此参数。
1. 可以选择为参数 SOURCE_FILE 指定值 - 在这种情况下,为 CONTENT 指定的值将被忽略,但指定文件的内容将上传到 FTP 位置。
2. 只有在以 ESI XML 格式导出数据时,CONTENT 参数才具有相关性。
参数:SOURCE_FILE
说明:内容要上传到 FTP 服务器的文件的路径。如果未指定此参数,则 CONTENT 参数中的值 (或 GROUP_IN 参数中名为 CONTENT 的 Att 值) 将被写入 <Windchill>/temp 下的文件中 (通过调用 writeToFile(task : Task) API),然后其内容将被上传到 FTP 位置。
* 
writeToFile(task : Task) API 与通过 Write-To-File webject 调用的 API 相同,旨在向文件目标传送 ESI 响应。
参数:XSL_URL
说明:在写入 FTP 位置之前要应用于 XML 数据的 XSL 样式表的 URL。此参数是从分布目标属性 XSL_URL 获取的。
参数:XSL_DBUSER
说明:用于访问 XSL 样式表的用户名。如果指定了 XSL_PASSWD 参数,则此参数为必填项。此参数是从分布目标属性 XSL_DBUser. 获取的。
参数:XSL_PASSWD
说明:用于访问 XSL 样式表的密码。此参数是从分布目标属性 XSL_Password 获取的。
参数:XSL_PARAM
说明:将样式表应用于 XML 数据时所要使用的 XSL 参数。此参数是从分布目标属性 XSL_Parameters 获取的。
* 
如果为 webject 指定了 SOURCE_FILE,或以 PLM 格式导出数据时,将忽略参数 XSL_URL、XSL_DBUSER、XSL_PASSWD 和 XSL_PARAM。
参数:GROUP_IN
说明:输入 Info*Engine 组的名称,其中包含用来表示 ESI 响应消息、主要业务对象以及要将数据导出到的分布目标的 IeCollection 对象。这些项分别保存在名为 CONTENT、PRIMARY_OBJECT 和 DISTRIBUTION_TARGET 的 Att 对象中。只有在未指定 CONTENT 参数时 (例如以 PLM 格式导出数据时),才需要此参数。
默认值:input。
* 
可以选择为参数 SOURCE_FILE 指定值 - 在这种情况下,为 GROUP_IN 指定的值将被忽略,但指定文件的内容将上传到 FTP 位置。
参数:GROUP_OUT
说明:执行任务时要创建的输出 Info*Engine 组的名称。
默认值:output。
ExportToSMTP
此任务利用名为 Send-Mail 的消息 webject。给出内容后,此任务会向所提供的电子邮件地址发送 ESI 响应。
* 
有关 Send-Mail webject 的详细信息,请参阅 Info*Engine User's Guide
注意:
• webject 参数:
参数:MAIL_SERVER
说明:要发送内容以传递给收件人的 SMTP 服务器的 Internet 域名。此参数是从分布目标属性 EmailHost 获取的。如果未对分布目标指定此属性,则从 Windchill 特性 wt.mail.mailhost 中获取此参数。
说明:应将电子邮件发送到的地址 (或以逗号分隔的地址列表)。此参数是从分布目标属性 To 获取的。
参数:CC
说明:应将电子邮件作为“抄送”副本发送到的地址 (或以逗号分隔的地址列表)。如果未提供用户名和密码,则采用匿名登录。此参数是从分布目标属性 Cc 获取的。
参数:BCC
说明:应将电子邮件作为“密件抄送”副本发送到的地址 (或以逗号分隔的地址列表)。如果未提供用户名和密码,则采用匿名登录。此参数是从分布目标属性 Bcc 获取的。
参数:FROM
说明:消息发起人的电子邮件地址。此参数是从分布目标属性 From 获取的。如果未对分布目标指定此属性,则从 Windchill 特性 wt.mail.from 中获取此参数。
参数:REPLY_TO
说明:应将回复发送至的电子邮件地址 (或以逗号分隔的地址列表)。此参数是从分布目标属性 ReplyTo 获取的。
参数:SUBJECT
说明:正在发送的消息的主题标题。此参数可通过以下方法来获取:将字符串“事务处理 ID 的 ESI 发行”作为前缀添加到基础事务处理的 idNumber 属性,进而从任务参数 transaction 中获取。
参数:CONTENT
说明:要发送到目标位置地址的数据 (XML 形式的 ESI 响应)。此参数是从与任务关联的 VDB 获取的。
* 
1. 上述说明仅适用于以 ESI XML 格式导出数据的情况。以 PLM 格式导出数据时,仅将 CONTENT 参数设置为以下消息 - "See the attachment for the output."
2. 以 ESI XML 格式导出数据时,发送到目标位置地址的电子邮件不仅会保留 ESI 响应消息作为其正文,还会将其作为附件。但是,以 PLM 格式导出数据时,电子邮件会保留 (1) 中所述的消息作为其正文,而保留输出 jar 文件作为附件。
参数:XSL_URL
说明:在发送到指定地址之前要应用于 XML 数据的 XSL 样式表的 URL。
参数:XSL_DBUSER
说明:用于访问 XSL 样式表的用户名。如果指定了 XSL_PASSWD 参数,则此参数为必填项。
参数:XSL_PASSWD
说明:用于访问 XSL 样式表的密码。
参数:XSL_PARAM
说明:将样式表应用于 XML 数据时所要使用的 XSL 参数。
注意:只有在以 ESI XML 格式导出数据时,参数 XSL_URL、XSL_DBUSER、XSL_PASSWD 和 XSL_PARAM 才相关。
参数:GROUP_OUT
说明:执行任务时要创建的输出 Info*Engine 组的名称。
默认值:output。
ParseAndProcessResult
如“可配置选项”一节中所述,如果出现以下两种情况之一,ExportTo<XXX>.xml 中的每个任务均会调用 ParseAndProcessResult.xml 中的任务:
1. 相关 webject 可以成功执行,并且 ERP Connector 首选项 Enable Post Result 具有值 Yes,或者
2. 执行 webject 时遇到错误。
ParseAndProcessResult.xml 中的任务通过执行由 ERP Connector 首选项 ESIPostResultMethod 指定的 I*E 任务来调用 PostResult RPC。处理给定的 ESI 事务处理时,对于每个子事务处理都会调用一次 PostResult RPC,对于事务处理调用一次 PostResult RPC。由于发布中的 ESI 事务处理数量与目标位置数量一样多,进而针对每个目标位置重复此过程。
以下参数将传递到 ParseAndProcessResult.xml 中的任务:
参数名称
说明
supporting-adapter
Windchill 适配器实例的名称。在使用 Apply-Service webject 执行 PostResult RPC 时,此参数用作 INSTANCE 参数。
target
将 ESI 响应消息发送到的 ESITarget 对象。
response
XML 形式的 ESI 响应消息。
successful
如果 ESI 响应可以传送成功,则为此参数传送 true;否则,传送 false。
msg
用于对子事务处理或事务处理设置消息属性的消息。
objectID
已发布的主要业务对象的 UFID。
type
表示主要业务对象类型的字符串 - 例如 "com.ptc.windchill.esi.Part"。此参数用于设置子事务处理的 releaseClass 属性。
transactionID
表示基础事务处理的 ESITransaction 对象的 idNumber 属性。
username
已发布对象的 Windchill 用户的名称。
* 
默认情况下,ParseAndProcessResult.xml 中的任务会调用 <Windchill>/tasks/com/ptc/windchill/esi/releaseResult/PostResult.xml 中的任务。此外,该任务还会将 <Windchill>/tasks/com/ptc/windchill/esi/lite/GetPostResultInfoForTarget.xsl 中的样式表应用于 ESI 响应消息,以将某些自变量提取到子事务的 PostResult RPC 中。有关 PostResult RPC 和传递给它的参数的详细信息,请参阅 Windchill Enterprise Systems Integration Open Application Programming Interface Guide
可配置选项
ERP Connector 首选项用于控制 ERP Connector 分布目标的某些可配置选项。
选项包括:
指定其中包含 ESI 响应的文件名的前缀。例如,写入文件目标 (或作为电子邮件目标的附件发送) 的文件的名称可通过以下方法获取:将此首选项的值、与要导出的主要业务对象关联的组织名称以及底层 ESI 事务处理的 idNumber 属性串连在一起,并在这些项之间使用下划线 ('_') 字符作为分隔符。
首选项名称“ESI 响应文件前缀”
默认值ESIResponse_
定义是否应缓存生成的 ESI 响应消息。此首选项设置为 Yes 时,生成的 ESI 响应将被缓存在由其他首选项指定的位置。缓存文件与其中包含正常 ESI 响应的文件同名。
首选项名称“启用响应缓存”
默认值“是”
• 定义创建 ESI 响应缓存版本的位置的路径。仅当“启用响应缓存”首选项的值设置为“是”时,此首选项才有意义。
首选项名称“ESI 响应缓存位置”
默认值<Windchill>/logs/esicache
典型自定义
下面列出了一些可通过 ERP Connector 实现的自定义方案:
将 XML 形式的 ESI 响应发送到除了文件、FTP 或电子邮件以外的其他目标类型,例如,发送到 JMS 队列。这需要创建可变类型分布目标扩展,并根据需要定义其属性。还需要创作自定义 Info*Engine 任务,该任务用来调用自定义 webject (即,类型 EXT)。
使用自定义 Info*Engine 任务将 ESI 响应传送至任何可用目标类型 (文件、FTP 或电子邮件)。
自定义 ESI 服务以生成自定义格式的 ESI 响应。例如,可以通过多种方式修改 ESI 响应元信息文件来实现此目的。此外,在使用自定义目标时,可以使用 getDestinationId() 和 getPlantName() API 的自定义版本。有关可用于自定义 ESI 服务的各种选项,请参阅“Windchill ESI 服务自定义”一节。
* 
以 PLM 格式导出数据时,修改 ESI 响应元信息文件的内容对 ESI 响应消息的格式没有任何影响。
这对您有帮助吗?