业务组件操作的消息架构

Siebel 业务组件操作的消息架构

下表列出了 Siebel 适配器在 Siebel 业务组件上公开的操作的消息架构。

操作 XML 结构 说明
插入 插入消息:

<Insert xmlns="[VERSION]/BusinessObjects/[BO]/[BC]/Operation"> <ArrayOf[BC]InsertRecord> <[BC]InsertRecord> <[FIELD1_NAME]>value1</[FIELD1_NAME]> <[FIELD2_NAME]>value2</[FIELD2_NAME]> … </[BC]InsertRecord> … </ArrayOf[BC]InsertRecord> </Insert>

[VERSION] = 消息版本字符串;例如 , "http://Microsoft.LobServices.Siebel/2007/03"

[BO] = 业务对象的名称;例如,帐户。

[BC] = 业务组件的名称;例如,帐户。

[FIELD1_NAME] = 业务组件字段名称;例如,Account_x0020_Status。

插入响应消息:

<InsertResponset xmlns="[VERSION]/BusinessObjects/[BO]/[BC]/Operation"> <InsertResult> <string xmlns="http://schemas.microsoft.com/2003/10/Serialization/Arrays">[ID1]</string> <string xmlns="http://schemas.microsoft.com/2003/10/Serialization/Arrays">[ID2]</string> … </InsertResult> </InsertResponse>

[VERSION] = 消息版本字符串;例如, "http://Microsoft.LobServices.Siebel/2007/03"

[BO] = 业务对象的名称;例如,帐户。

[BC] = 业务组件的名称;例如,帐户。

[ID] = 记录 ID;例如 42-6ODBL。
将一条或多条记录插入业务组件。

响应包含插入的所有记录的记录 ID。

如果至少一次插入成功,则不会引发异常,并且响应将包含成功插入的记录的 ID。 但是,如果所有插入都失败, (XmlReaderParsingException 或 TargetSystemException) 引发异常。
查询 查询消息:

<Query xmlns="[VERSION]/BusinessObjects/[BO]/[BC]/Operation"> <ViewMode>[View_mode]</ViewMode> <[BC]QueryInputRecord> <SearchExpr>[Search_expr]</SearchExpr> <SortSpec>Sort_spec</SortSpec> <QueryFields> <string xmlns="http://schemas.microsoft.com/2003/10/Serialization/Arrays">[Field1_name]</string> <string xmlns="http://schemas.microsoft.com/2003/10/Serialization/Arrays">[Field2_name]</string> … </QueryFields> </[BC]QueryInputRecord> </Query>

[VERSION] = 消息版本字符串;例如 , "http://Microsoft.LobServices.Siebel/2007/03"

[View_mode] = 要应用的视图模式。 这是一个可选参数。 有关可能值的说明,请参阅 Siebel 文档。

[Search_expr] = Siebel 搜索表达式;例如,[Name] LIKE “3Com*”。

[Sort_spec] = Siebel 排序规范;例如,Name (DESC) 、Location。

[FIELD1_NAME] = 业务组件字段名称;例如,帐户状态。

查询响应消息:

<QueryResponse xmlns=" [VERSION]/BusinessObjects/[BO]/[BC]/Operation"> <QueryResult> <[BC]QueryRecord> <[FIELD1_NAME]>value1</[FIELD1_NAME]> <[FIELD2_NAME]>value2</[FIELD2_NAME]> … </[BC]QueryRecord > </QueryResult> </QueryResponse>

[VERSION] = 消息版本字符串;例如 , "http://Microsoft.LobServices.Siebel/2007/03"

[BO] = 业务对象的名称;例如,帐户。

[BC] = 业务组件的名称;例如,帐户。

[FIELD1_NAME] = 业务组件字段名称;例如,Account_x0020_Status。
从目标业务组件查询一条或多条记录。 查询操作采用以下参数:

<SearchExpr> 目标业务组件下的所有记录都与搜索表达式进行比较,并返回匹配的记录。

<SortSpec> 排序规范确定与搜索表达式匹配的记录的返回顺序。 此参数是可选的。

<QueryFields> 字段名称列表,指定查询操作应在目标业务组件中检索的字段。 每条记录中仅返回此列表中的字段。 应通过使用业务组件中字段的原始名称而不是 XML 编码的名称来指定每个字段;例如,“名字”而不是“First_x0032_Name”。 此参数是可选的。 如果未指定查询字段,则返回所有字段。
更新 更新消息:

<Update xmlns="[VERSION]/BusinessObjects/[BO]/[BC]/Operation"> <ViewMode>[View_mode]</ViewMode> <ArrayOf[BC]UpdateRecord> <[BC]UpdateRecord> <[FIELD1_NAME]>value1</[FIELD1_NAME]> <[FIELD2_NAME]>value2</[FIELD2_NAME]> … <Id>[Record_ID]</Id> </[BC]UpdateRecord> … </ArrayOf[BC]UpdateRecord> </Update>

[VERSION] = 消息版本字符串;例如 , "http://Microsoft.LobServices.Siebel/2007/03"

[BO] = 业务对象的名称;例如,帐户。

[BC] = 业务组件的名称;例如,帐户。

[View_mode] = 查询需要更新的记录时要应用的视图模式。 这是一个可选参数。 有关可能值的说明,请参阅 Siebel 文档。

[FIELD1_NAME] = 业务组件字段名称;例如,Account_x0020_Status。

[Record_ID] = 要更新的记录的记录 ID;例如,42-60DBL。

更新响应消息:

<UpdateResponse xmlns="[VERSION]/BusinessObjects/[BO]/[BC]/Operation"> <UpdateResult> <string xmlns="http://schemas.microsoft.com/2003/10/Serialization/Arrays">[ID1]</string> <string xmlns="http://schemas.microsoft.com/2003/10/Serialization/Arrays">[ID2]</string> … </UpdateResult> </UpdateResponse>

[VERSION] = 消息版本字符串;例如 , "http://Microsoft.LobServices.Siebel/2007/03"

[BO] = 业务对象的名称;例如,帐户。

[BC] = 业务组件的名称;例如,帐户。

[ID] = 记录 ID;例如 42-6ODBL。
更新由更新记录列表指定的一个或多个记录。

每个更新记录包含要更新的字段列表,以及标识要更新的记录的单个必需 <Id> 元素。

响应包含更新的所有记录的记录 ID 的列表。

如果至少一次更新成功,则不会引发异常,并且响应将包含已成功更新的记录的 ID。 但是,如果所有更新都失败,则会 (XmlReaderParsingException 或 TargetSystemException) 引发异常。
删除 删除消息:

<Delete xmlns="[VERSION]/BusinessObjects/[BO]/[BC]/Operation"> <ViewMode>[View_mode]</ViewMode> <Id> <string xmlns="http://schemas.microsoft.com/2003/10/Serialization/Arrays">[ID1]</string> <string xmlns="http://schemas.microsoft.com/2003/10/Serialization/Arrays">[ID2]</string> … </Id> <SearchExpr>Search_expr</SearchExpr> </Delete>

[VERSION] = 消息版本字符串;例如 , "http://Microsoft.LobServices.Siebel/2007/03"

[BO] = 业务对象的名称;例如,帐户。

[BC] = 业务组件的名称;例如,帐户。

[View_mode] = 查询需要删除的记录时要应用的视图模式。 这是一个可选参数。 有关可能值的说明,请参阅 Siebel 文档。

[ID] = 记录 ID;例如 42-6ODBL。

Search_expr = Siebel 搜索表达式;例如,[Name] LIKE “3Com*”。

删除响应消息

<DeleteResponse xmlns="[VERSION]/BusinessObjects/[BO]/[BC]/Operation"> <DeleteResult> <string xmlns="http://schemas.microsoft.com/2003/10/Serialization/Arrays">[ID1]</string> <string xmlns="http://schemas.microsoft.com/2003/10/Serialization/Arrays">[ID2]</string> … </DeleteResult> </DeleteResponse>

[VERSION] = 消息版本字符串;例如 , "http://Microsoft.LobServices.Siebel/2007/03"

[BO] = 业务对象的名称;例如,帐户。

[BC] = 业务组件的名称;例如,帐户。

[ID] = 记录 ID;例如 42-6ODBL。
删除与一组记录 ID 或搜索表达式匹配的一个或多个记录。

重要: Delete 操作采用搜索表达式或一组记录 ID。 不能在同一 Delete 操作中指定这两个参数。

响应包含已删除的所有行的记录 ID 的列表。

如果至少一次删除成功,则不会引发异常,并且响应将包含已成功删除的记录的 ID。 但是,如果所有删除都失败,则会 (XmlReaderParsingException 或 TargetSystemException) 引发异常。
协会 关联消息:

<Associate xmlns="[VERSION]/BusinessObjects/[BO]/[BC]/Operation"> <ViewMode>[View_mode]</ViewMode> <ParentSearchExpr>Par_search</ParentSearchExpr> <ParentMVGField>Field_name</ParentMVGField> <ChildSearchExpr>Chld_search</ChildSearchExpr> </Associate>

[VERSION] = 消息版本字符串;例如 , "http://Microsoft.LobServices.Siebel/2007/03"

[BO] = 业务对象的名称;例如,帐户。

[BC] = 业务组件的名称;例如,帐户。

[View_mode] = 要应用于父业务组件记录和子业务组件记录查询的视图模式。 如果指定了值,该值将同时应用于父搜索和子搜索。 此参数为可选参数。 有关可能值的说明,请参阅 Siebel 文档。

[Par_search] = 与一个父业务组件记录匹配的搜索表达式;例如,[Id] LIKE AB-12345。

[Chld_search] = 与将与父业务组件记录关联的一个子业务组件记录匹配的搜索表达式;例如,[Id] LIKE CD-12345。

[Field_name] = 父业务组件的多值组字段名称;例如,帐户业务组件中的“帐单到名字”。

关联响应消息:

<AssociateResponse xmlns="[VERSION]/BusinessObjects/[BO]/[BC]/Operation"> <AssociateResult> <ChildID>[CHILD_ID]</ChildID> <ParentID>[PARENT_ID]</ParentID> </AssociateResult> </AssociateResponse>

[VERSION] = 消息版本字符串;例如 , "http://Microsoft.LobServices.Siebel/2007/03"

[BO] = 业务对象的名称;例如,帐户。

[BC] = 业务组件的名称;例如,帐户。

[CHILD_ID] = 子记录 ID;例如 42-6ODBL。

[PARENT_ID] = 父记录 ID;例如 42-6ODBL。
关联操作仅适用于具有多值组的业务组件 (MVG) 字段。 它通过指定父记录和子记录的搜索表达式来关联记录。

Associate 操作:

- 将所选父业务组件记录与一个选定的子业务组件记录相关联

- 建立 1:1 关联。 一个父记录将与一个子记录相关联

- 应为 1:N 关联创建多个 1:1 关联,应为 M:N 关联创建多个 1:N 关联

请注意:

父搜索表达式必须与父表中的唯一记录匹配。

子搜索表达式必须与子表中的唯一记录匹配。

返回值包含关联的子行的记录 ID 和关联的父行的记录 ID。 如果父搜索表达式或子搜索表达式返回多个匹配记录,将引发异常。
取消关联 取消关联消息:

<Dissociate xmlns="[VERSION]/BusinessObjects/[BO]/[BC]/Operation"> <ViewMode>[View_mode]</ViewMode> <ParentSearchExpr>Par_search</ParentSearchExpr> <ParentMVGField>Field_name</ParentMVGField> <ChildSearchExpr>Chld_search</ChildSearchExpr> </Dissociate>

[VERSION] = 消息版本字符串;例如 , "http://Microsoft.LobServices.Siebel/2007/03"

[BO] = 业务对象的名称;例如,帐户。

[BC] = 业务组件的名称;例如,帐户。

[View_mode] = 要应用于父业务组件记录和子业务组件记录查询的视图模式。 如果指定了值,该值将同时应用于父搜索和子搜索。 此参数为可选参数。 有关允许值的说明,请参阅 Siebel 文档。

[Par_search] = 与一个父业务组件记录匹配的搜索表达式;例如,[Id] LIKE AB-12345。

[Chld_search] = 与将取消与父业务组件记录关联的一个子业务组件记录匹配的搜索表达式;例如,[Id] LIKE CD-12345。

[Field_name] = 父业务组件的多值组字段名称;例如,帐户业务组件中的“帐单到名字”。

取消关联响应消息:

<DissociateResponse xmlns="[VERSION]/BusinessObjects/[BO]/[BC]/Operation"> <DissociateResult> <ChildID>[CHILD_ID]</ChildID> <ParentID>[PARENT_ID]</ParentID> </DissociateResult> </DisocciateResponse>

[VERSION] = 消息版本字符串;例如 , "http://Microsoft.LobServices.Siebel/2007/03"

[BO] = 业务对象的名称;例如,帐户。

[BC] = 业务组件的名称;例如,帐户。

[CHILD_ID] = 子记录 ID;例如 42-6ODBL。

[PARENT_ID] = 父记录 ID;例如 42-6ODBL。
“取消关联”操作仅适用于具有多值组的业务组件 (MVG) 字段。 它通过指定父记录和子记录的搜索表达式来取消关联记录。

取消关联操作:

取消所选父业务组件记录与一个选定的子业务组件记录的关联

建立 1:1 取消关联。 一个父记录将与一个子记录取消关联

应对 1:N 取消关联进行多个 1:1 取消关联,并且应为 M:N 取消关联进行多个 1:N 取消关联

请注意,子搜索表达式必须将关联记录与父搜索表达式匹配的父记录中的唯一记录匹配。

重要: ASSOCIATE 和 DISSOCIATE 操作的子搜索表达式存在差异。 在 ASSOCIATE 操作中,子搜索表达式搜索子业务组件中的所有记录。 在 DISSOCIATE 操作中,子搜索表达式仅搜索子业务组件中与父业务组件中的记录关联的那些记录,其中父记录与父搜索表达式匹配。

返回值包含已取消关联的子记录的记录 ID 和已取消关联的父记录的记录 ID。 如果父搜索表达式或子搜索表达式返回多个匹配记录,将引发异常。
Query_[MVG_Child_Business_Comp] Query_[MVG_Child_Business_Comp] 消息:

<Query_[CHILD_BC] xmlns="BusinessObjects/[BO]/[BC]/Operation"> <ViewMode>View_mode</ViewMode> <ParentSearchExpr>Par_search</ParentSearchExpr> <ParentMVGField>Field_name</ParentMVGField> <[CHILD_BC]QueryInputRecord> <SearchExpr>Chld_search </SearchExpr> <QueryFields> <string>field1</string> <string>field2</string> … </QueryFields> </[CHILD_BC]QueryInputRecord> </Query_[CHILD_BC]>

[VERSION] = 消息版本字符串;例如 , "http://Microsoft.LobServices.Siebel/2007/03"

[BO] = 业务对象的名称;例如,帐户。

[BC] = 业务组件的名称;例如,帐户。

[View_mode] = 要应用的视图模式;可以是 0 到 9。 这是一个可选参数。 有关这些可能值的说明,请参阅 Siebel 文档。

[CHILD_BC] = 与父业务组件的 MVG 字段关联的子业务组件的名称;例如,客户父业务组件) 的联系人 (。

[Par_search] = 匹配 1 个父业务组件记录的搜索表达式;例如,[Id] LIKE AB-12345。

[Field_name] = 父业务组件的多值组字段名称;例如,帐户业务组件中的“帐单到名字”。

[Chld_search] = 匹配 1 个或多个子业务组件记录的搜索表达式;例如,[Id] LIKE CD-12345。

[field1]、[field2]等 = 子业务组件中的查询字段。 字段名称列表,指定子业务组件中应由操作检索的字段。 每条记录中仅返回此列表中的字段。 应使用子业务组件中字段的原始名称(而不是 XML 编码的名称)来指定每个字段;例如,“名字”而不是“First_x0032_Name”。 此参数是可选的。

Query_[MVG_Child_Business_Comp] 响应消息:

<Query_[CHILD_BC]Response xmlns="[VERSION]/BusinessObjects/[BO]/[BC]/Operation"> <Query_[CHILD_BC]Result> <[CHILD_BC]QueryRecord> <[FIELD1_NAME]>value1</[FIELD1_NAME]> <[FIELD2_NAME]>value2</[FIELD2_NAME]> … </[CHILD_BC]QueryRecord > </QueryResult> </QueryResponse>

[VERSION] = 消息版本字符串;例如 , "http://Microsoft.LobServices.Siebel/2007/03"

[BO] = 业务对象的名称;例如,帐户。

[BC] = 业务组件的名称;例如,帐户。

[FIELD1_NAME] = 业务组件字段名称;例如,Account_x0020_Status。

[CHILD_BC] = 与父业务组件的 MVG 字段关联的子业务组件的名称;例如,客户父业务组件) 的联系人 (。
此操作针对具有 MVG 字段的业务组件公开。

它查询与父记录关联的子记录,该记录与父业务组件中的 MVG 字段相关联。

Siebel 业务组件操作的消息操作

下表显示了每个 Siebel 业务组件操作的 SOAP 操作。 仅显示请求消息的操作,响应消息的操作通过将“/response”追加到请求消息操作而形成;例如 , "http://Microsoft.LobServices.Siebel/2007/03/BusinessObjects/Account/Account/Insert/response"

操作 操作 示例
插入 [VERSION]/BusinessObjects/[BO]/[BC]/Insert http://Microsoft.LobServices.Siebel/2007/03/BusinessObjects/Account/Account/Insert
查询 [VERSION]/BusinessObjects/[BO]/[BC]/Query http://Microsoft.LobServices.Siebel/2007/03/BusinessObjects/Account/Account/Query
更新 [VERSION]/BusinessObjects/[BO]/[BC]/Update http://Microsoft.LobServices.Siebel/2007/03/BusinessObjects/Account/Account/Update
删除 [VERSION]/BusinessObjects/[BO]/[BC]/Delete http://Microsoft.LobServices.Siebel/2007/03/BusinessObjects/Account/Account/Delete
协会 [VERSION]/BusinessObjects/[BO]/[BC]/Associate http://Microsoft.LobServices.Siebel/2007/03/BusinessObjects/Account/Account/Associate
取消关联 [VERSION]/BusinessObjects/[BO]/[BC]/Dissociate http://Microsoft.LobServices.Siebel/2007/03/BusinessObjects/Account/Account/Dissociate
Query_[CHILD_BC] [VERSION]/BusinessObjects/[BO]/[BC]/Query_[CHILD_BC] http://Microsoft.LobServices.Siebel/2007/03/BusinessObjects/Account/Account/Query_Contact

[VERSION] = 消息版本字符串;例如 , "http://Microsoft.LobServices.Siebel/2007/03"

[BO] = 业务对象名称;例如,帐户。

[BC] = 业务组件名称;例如,帐户。

与父业务组件的 MVG 字段关联的子业务组件的名称;例如,客户父业务组件) 的联系人 (。

在BizTalk Server解决方案中使用 Siebel 适配器或使用 Windows Communication Foundation (WCF) 通道模型时,必须显式指定消息操作。 有关详细信息,请参阅 开发 Siebel 应用程序

Siebel 业务组件 WCF 客户端方法

下表显示了为 Siebel 业务组件添加适配器服务参考 Visual Studio 插件生成的 WCF 服务模型方法签名。

操作 WCF 服务模型方法
插入 string[] client.Insert([BC]InsertRecord[] ArrayOf[BC]InsertRecord);

[BC] = 业务组件的名称;例如,帐户。
查询 [BC]QueryRecord[] client.Query(System.Nullable<short> ViewMode, [BC]QueryInputRecord [BC]QueryInputRecord);

[BC] = 业务组件的名称,例如帐户。
更新 string[] client.Update(System.Nullable<short> ViewMode, [BC]UpdateRecord[] ArrayOf[BC]UpdateRecord);

[BC] = 业务组件的名称;例如,帐户。
删除 string[] client.Delete(System.Nullable<short> ViewMode, string[] Id, string SearchExpr);
协会 ParentChildRecord client.Associate(System.Nullable<short> ViewMode, string ParentSearchExpr, string ParentMVGField, string ChildSearchExpr);
取消关联 ParentChildRecord client.Dissociate(System.Nullable<short> ViewMode, string ParentSearchExpr, string ParentMVGField, string ChildSearchExpr);
Query_[MVG Child Business Comp] [CHILD_BC]QueryRecord[] client.Query_[CHILD_BC](../../core/system.md ViewModeshort ViewMode, string ParentSearchExpr, string ParentMVGField, [CHILD_BC]QueryInputRecord [CHILD_BC]QueryInputRecord);

[CHILD_BC] = 与父业务组件的 MVG 字段关联的子业务组件的名称;例如,客户父业务组件) 的联系人 (。

另请参阅

适用于 Siebel eBusiness 应用程序的 BizTalk 适配器的消息和消息架构