“读取 OData”活动
此活动会将 OData URL 以及查询参数、有效内容和 HTTP 头视为输入,并创建提供所使用对象、主键详细信息以及有效内容(如存在)的详细信息的输出。此输出用作业务逻辑执行的一部分以及编排中的其他活动。
用于“读取 OData”活动的配置属性
字段名 | 描述 |
---|---|
OData 版本 | 此活动使用的 OData 版本。在单个编排中,需要在所有活动上使用相同版本。当前唯一支持的版本为 4.0。 |
选择输入数据 | 选择有关如何向“读取 OData”活动提供业务数据结构的一个选项。将基于提供的此业务结构创建 OData API。
|
给定包含帐户和产品对象的样本 XML 模式示例。
<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
xmlns:ras="http://www.sample.com/xmlns/prod/sample"
targetNamespace="http://www.sample.com/xmlns/prod/sample">
<element name="account" type="ras:AccountObject"/>
<element name="product" type="ras:ProductObject"/>
<complexType name="AccountObject">
<sequence maxOccurs="1" minOccurs="1">
<element maxOccurs="1" minOccurs="0" name="accountId" type="int"/>
<element maxOccurs="1" minOccurs="0" name="accountName" type="string"/>
<element maxOccurs="1" minOccurs="0" name="valid" type="boolean"/>
</sequence>
</complexType>
<complexType name="ProductObject">
<sequence maxOccurs="1" minOccurs="1">
<element maxOccurs="1" minOccurs="1" name="pid" type="int"/>
<element maxOccurs="1" minOccurs="0" name="productName" type="string"/>
<element maxOccurs="1" minOccurs="0" name="description" type="string"/>
<element maxOccurs="1" minOccurs="0" name="stock" type="int"/>
</sequence>
</complexType>
</schema>
字段名 | 描述 |
---|---|
serviceName | 这是 OData ReST API 的名称并且将作为 URL 的一部分。此属性的值必须与 HTTP“接收请求”活动的“配置”面板中的“URL(主机名之后的路径)”属性的值相同。在点击具有此名称的 URL(例如:http://host/serviceName)时,将在响应中提供服务文档。 |
protocol | OData ReST API 支持的协议。该值需要缺省为两个受支持的值(HTTP 或 HTTPS)之一。 |
host | API 运行所在的主机。必须从 HTTP“接收请求”活动的输出映射此属性的值。 |
method | 请求的 http 方法。必须从 HTTP“接收请求”活动的输出映射此属性的值。 |
uri | HTTP 请求的 URL。必须从 HTTP“接收请求”活动的输出映射此属性的值。 |
Accept | Accept 头值。此属性的值可设置为缺省值或者从 HTTP“接收请求”活动的输出进行映射。受支持的值为 application/json 和 application/xml。 |
Content-Type | Content-Type 头值。此属性的值可设置为缺省值或者从 HTTP“接收请求”活动的输出进行映射。受支持的值为 application/json 和 application/xml。 |
PrimaryKeys | 需在所选业务数据结构中标为主键的字段。该属性为字符串数组类型,可采用多个值来支持组合主键。 字段值语法如下。
例如:对于上述提供的模式,值可以是 account:accountId 或 product:pid |
readODataInputPayload | 需为 POST、PUT 和 PATCH HTTP 方法传递的 OData 请求有效内容。必须从 HTTP“接收请求”输出的主体属性映射此属性的值。 |
readODataHttpHeadersInput | 可以从 HTTP“接收请求”活动的头输出映射此属性。 |
响应中的某些属性与输入中可用的属性相同。以下说明了其他映射输出属性:
字段名 | 描述 |
---|---|
isMetadataDocumentRequest | 当此属性为 True 时,它指示针对元数据文档进行请求调用 (/serviceName/$metadata),并在“metadataDocument”属性中提供响应元数据文档 |
metadataDocument | 此属性包含进行 /serviceName/$metadata 调用时的元数据文档。 |
isServiceDocumentRequest | 当此属性为 True 时,它指示针对服务文档进行请求调用 (/serviceName),并在“serviceDocument”属性中提供响应服务文档 |
serviceDocument | 此属性包含进行 /serviceName 调用时的服务文档。 |
resourcePath | 此属性包含调用的 URL 路径。 |
entities | 此属性为字符串数组类型,包含 URL 中请求的实体集名称。例如,如果 serviceName 为 /test 并且选中的业务数据结构为 account(来自于以上模式),那么用于获取所有帐户详细信息的 URL 为 http://hostname/test/accounts。在此示例中,实体集名称为 accounts。 |
fieldName | 如果在业务数据结构中提供字段名称请求,那么将在此属性中提供字段的名称。例如,如果请求的 URL 为 http://hostname/test/accounts(5)/accountName,那么 fieldName 的值将为 accountName。 |
additionalpath | 如果请求 URL 中有诸如 $value 或 $count 等任何其他令牌,那么此属性中将存在该值。 |
primaryKeys | 如果请求 URL 包含主键,那么此字段中存在该信息。 URL 示例: http://hostname/test/accounts(5) http://hostname/test/salesorder(orderid='so1',name='ask') primaryKeys 结构将包含主键的字段名称、值和数据类型。 |
readODataHttpHeadersOutput | 包含作为请求的一部分发送的头信息。 |
readODataQueryParametersOutput | 包含由 OData 定义的标准查询参数及任何其他查询参数。 |
readODataOutputPayload | 如果有效内容作为请求的一部分发送(针对 POST 和 PUT 操作),那么将解析此有效内容,并填充在响应业务数据结构中。 |