2

我正在尝试使用 Biztalk 适配器查询 Commerce Server 2007。

我正在使用 OrdersAdapter 并尝试查询所有带有特定行项目的订单。

消息 xml 是

<CommerceServerOrdersQuery>
 <CLAUSE OPER="equal" xmlns="http://schemas.microsoft.com/CommerceServer/2004/02/Expressions">
  <PROPERTY ID="LineItem.ProductId" MULTIVAL="false" TYPE="String" />
  <IMMED-VAL TYPE="String">
   <VALUE>xxx</VALUE>
  </IMMED-VAL>
 </CLAUSE>
</CommerceServerOrdersQuery>

如果我通过 PurchaseOrder.OrderStatus 或采购订单上的某些属性进行查询,它可以正常工作。但是,如果我尝试使用行项目属性作为标准,它会因此错误而失败。

“ProductId”属性不是实体“PurchaseOrder”的可搜索属性。通过检查 GetSearchableProperties 方法返回的 DataSet 可以发现可搜索的属性。

我确实查询了指定的 GetSearchableProperties 服务,它确实说 LineItem.ProductId 是一个可搜索的属性。此外,如果我使用 .NET API 进行此查询,我可以看到它生成了我正在使用的确切 xml,并且它可以工作。使用 BTS 适配器时会出现问题。

这方面的文档非常薄,没有深入的示例,任何帮助将不胜感激。

谢谢你。

4

0 回答 0