Выражение XPath в WebSphere Commerce не поддерживает ни AND, ни OR в одной функции поиска

Я новичок в BOD Framework и изо всех сил пытаюсь добавить условие 'и' в строку поиска. В моей расширенной версии StoreFacadeClient.java выражение построено как

"/PhysicalStore[LocationInfo[GeoCode[Latitude=\"{0}\" and Longitude=\"{1}\"]] and StoreIdentifier[UniqueID=\"{2}\"] and search({3})]";

мое поисковое выражение выглядит так (обратите внимание на строку поиска, в которой есть StoreTypes или условие)

{_wcf.ap=IBM_Store_Details;_sto.radiusValue='250';_sto.radiusUom='SMI';_sto.maxStores='25'}/PhysicalStore[LocationInfo[GeoCode[Latitude="40.2421534" and Longitude="-86.72151749999999"]] and StoreIdentifier[UniqueID="10151"] and search(StoreCategory_Commercial="Commercial" or
StoreCategory_NonCommercial="NonCommercial")]

Я намерен добавить Страну также в эту строку поиска

{_wcf.ap=IBM_Store_Details;_sto.radiusValue='250';_sto.radiusUom='SMI';_sto.maxStores='25'}/PhysicalStore[LocationInfo[GeoCode[Latitude="40.2421534" and Longitude="-86.72151749999999"]] and StoreIdentifier[UniqueID="10151"] and search((StoreCategory_Commercial="Commercial" or
StoreCategory_NonCommercial="NonCommercial") and Country="Canada")]

Но я всегда получаю исключение, сказав

CWXFD3302E: Failed to parse the expression {_wcf.ap=IBM_Store_Details;_sto.radiusValue='250';_sto.radiusUom='SMI';_sto.maxStores='25'}/PhysicalStore[LocationInfo[GeoCode[Latitude="40.2421534" and Longitude="-86.72151749999999"]] and StoreIdentifier[UniqueID="10151"] and search((StoreCategory_Commercial="Commercial" or StoreCategory_NonCommercial="NonCommercial") and Country = "Canada" )].
cm.ibm.commerce.foundation.internal.common.exception.FoundationSystemException: CWXFD3302E: Failed to parse the expression {_wcf.ap=IBM_Store_Details;_sto.radiusValue='250';_sto.radiusUom='SMI';_sto.maxStores='25'}/PhysicalStore[LocationInfo[GeoCode[Latitude="40.2421534" and Longitude="-86.72151749999999"]] and StoreIdentifier[UniqueID="10151"] and search((StoreCategory_Commercial="Commercial" or StoreCategory_NonCommercial="NonCommercial") and Country = "Canada" )].     at com.ibm.commerce.foundation.server.services.dataaccess.SelectionCriteria.init(SelectionCriteria.java:164)

Я что-то здесь упускаю? В некоторых публикациях в Интернете предлагается настроить структуру BOD, но я не уверен, как это сделать. Это единственный выход? или есть альтернативы? Не могли бы вы предложить? Благодарю вас!

0 ответов

Другие вопросы по тегам