views:

118

answers:

0

I am trying to query Commerce Server 2007 using the Biztalk Adapter.

I am using the OrdersAdapter and trying to query for all orders with a specific line item on them.

The message xml is

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

If I query by PurchaseOrder.OrderStatus or some property on the purchase order, it works fine. however if i try to use the line item property as the criteria it fails with this error.

The 'ProductId' property is not a searchable property of entity 'PurchaseOrder'. Searchable properties can be discovered by inspecting the DataSet returned by the GetSearchableProperties method.

I did query the GetSearchableProperties service specified and it did indeed say that LineItem.ProductId is a searchable property. Furthermore if I do this query with the .NET API, i can see it producing the exact xml i am using and it works. The problem comes when using the BTS Adapter.

The documentation for this is pretty thin with no in depth examples, any help would be greatly appreciated.

Thank You.