我正在尝试使用 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 适配器时会出现问题。
这方面的文档非常薄,没有深入的示例,任何帮助将不胜感激。
谢谢你。