Uploaded image for project: 'jUDDI'
  1. jUDDI
  2. JUDDI-545

combineCategoryBags findQualifier not performing correctly when used in find_business call

    Details

      Description

      The same issue as described in JUDDI-456 seems to be present when issuing a find_business call containing the combineCategoryBags findQualifier.

      Taking the same example as described in JUDDI-456, when I issue the query:

      <find_business>
      <findQualifiers>
      <findQualifier>combineCategoryBags</findQualifier>
      </findQualifiers>
      <categoryBag>
      <keyedReference keyValue="value-z" tModelKey="uddi:tmodel:01"/>
      <keyedReference keyValue="value-x" tModelKey="uddi:tmodel:02"/>
      </categoryBag>
      </find_business>

      I get no results.

      According to my understanding of the spec, the categoryBags under businessEntity, businessService and bindingTemplate should be combined when resolving this query:

      "In the case of find_business, this qualifier makes the categoryBag entries for the full businessEntity element behave as though all categoryBag elements found at the businessEntity level and in all contained or referenced businessService elements and bindingTemplate elements were combined. Searching for a category will yield a positive match on a registered business if any of the categoryBag elements contained within the full businessEntity element (including the categoryBag elements within contained or referenced businessService elements or bindingTemplate elements) contains the filter criteria."

      I was also able to produce a similar unexpected result when first issuing a find_business query (without the combineCategoryBags qualifier) that returns a result, then adding the combineCategoryBags findQualifier and issuing the query again. The second time I no longer get results.

        Activity

        Hide
        kurtstam Kurt T Stam added a comment -

        Hi David,

        Can you add the request to setup the data, so we can reproduce your example exactly? It likely is a small issue in how the findQualifier is implemented. If you have the code checked out you could step it through; we are planning to release 3.1.4 soon so if you could supply a patch I will make sure it goes in quick .

        Thx,

        --Kurt

        Show
        kurtstam Kurt T Stam added a comment - Hi David, Can you add the request to setup the data, so we can reproduce your example exactly? It likely is a small issue in how the findQualifier is implemented. If you have the code checked out you could step it through; we are planning to release 3.1.4 soon so if you could supply a patch I will make sure it goes in quick . Thx, --Kurt
        Hide
        dvoets David Voets added a comment -

        Hi Kurt,

        These are the requests to set up the data (should be the same as for JUDDI-456):

        <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns="urn:uddi-org:api_v3" xmlns:urn="urn:uddi-org:api_v3" xmlns:xd="http://www.w3.org/2000/09/xmldsig#">
        <soapenv:Header/>
        <soapenv:Body>
        <urn:save_business>
        <urn:authInfo>authtoken:f79431f1-3f27-4731-b3ef-4df6cab49454</urn:authInfo>
        <businessEntity>
        <name>uddi:business:01</name>
        <businessServices>
        <businessService>
        <name>uddi:service:01</name>
        <bindingTemplates>
        <bindingTemplate>
        <accessPoint>http://www.testing.com/binding:01</accessPoint>
        <categoryBag>
        <keyedReference tModelKey="uddi:tmodel:01" keyValue="value-y"/>
        </categoryBag>
        </bindingTemplate>
        </bindingTemplates>
        <categoryBag>
        <keyedReference tModelKey="uddi:tmodel:02" keyValue="value-x"/>
        </categoryBag>
        </businessService>
        </businessServices>
        </businessEntity>
        </urn:save_business>
        </soapenv:Body>
        </soapenv:Envelope>

        <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns="urn:uddi-org:api_v3" xmlns:urn="urn:uddi-org:api_v3" xmlns:xd="http://www.w3.org/2000/09/xmldsig#">
        <soapenv:Header/>
        <soapenv:Body>
        <urn:save_business>
        <urn:authInfo>authtoken:f79431f1-3f27-4731-b3ef-4df6cab49454</urn:authInfo>
        <businessEntity>
        <name>uddi:business:01</name>
        <businessServices>
        <businessService>
        <name>uddi:service:02</name>
        <bindingTemplates>
        <bindingTemplate>
        <accessPoint>http://www.testing.com/binding:02</accessPoint>
        <categoryBag>
        <keyedReference tModelKey="uddi:tmodel:01" keyValue="value-z"/>
        </categoryBag>
        </bindingTemplate>
        </bindingTemplates>
        <categoryBag>
        <keyedReference tModelKey="uddi:tmodel:02" keyValue="value-x"/>
        </categoryBag>
        </businessService>
        </businessServices>
        </businessEntity>
        </urn:save_business>
        </soapenv:Body>
        </soapenv:Envelope>

        Show
        dvoets David Voets added a comment - Hi Kurt, These are the requests to set up the data (should be the same as for JUDDI-456 ): <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns="urn:uddi-org:api_v3" xmlns:urn="urn:uddi-org:api_v3" xmlns:xd="http://www.w3.org/2000/09/xmldsig#"> <soapenv:Header/> <soapenv:Body> <urn:save_business> <urn:authInfo>authtoken:f79431f1-3f27-4731-b3ef-4df6cab49454</urn:authInfo> <businessEntity> <name>uddi:business:01</name> <businessServices> <businessService> <name>uddi:service:01</name> <bindingTemplates> <bindingTemplate> <accessPoint> http://www.testing.com/binding:01 </accessPoint> <categoryBag> <keyedReference tModelKey="uddi:tmodel:01" keyValue="value-y"/> </categoryBag> </bindingTemplate> </bindingTemplates> <categoryBag> <keyedReference tModelKey="uddi:tmodel:02" keyValue="value-x"/> </categoryBag> </businessService> </businessServices> </businessEntity> </urn:save_business> </soapenv:Body> </soapenv:Envelope> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns="urn:uddi-org:api_v3" xmlns:urn="urn:uddi-org:api_v3" xmlns:xd="http://www.w3.org/2000/09/xmldsig#"> <soapenv:Header/> <soapenv:Body> <urn:save_business> <urn:authInfo>authtoken:f79431f1-3f27-4731-b3ef-4df6cab49454</urn:authInfo> <businessEntity> <name>uddi:business:01</name> <businessServices> <businessService> <name>uddi:service:02</name> <bindingTemplates> <bindingTemplate> <accessPoint> http://www.testing.com/binding:02 </accessPoint> <categoryBag> <keyedReference tModelKey="uddi:tmodel:01" keyValue="value-z"/> </categoryBag> </bindingTemplate> </bindingTemplates> <categoryBag> <keyedReference tModelKey="uddi:tmodel:02" keyValue="value-x"/> </categoryBag> </businessService> </businessServices> </businessEntity> </urn:save_business> </soapenv:Body> </soapenv:Envelope>
        Hide
        kurtstam Kurt T Stam added a comment -

        Yep we only go "2 deep", and businesses can go "3 deep". CategoryBags on business and service are combined, however, categoryBags on BindingTemplates (on businesses) are not taken into account. We have to add this. Working on it now (finally).

        Show
        kurtstam Kurt T Stam added a comment - Yep we only go "2 deep", and businesses can go "3 deep". CategoryBags on business and service are combined, however, categoryBags on BindingTemplates (on businesses) are not taken into account. We have to add this. Working on it now (finally).
        Hide
        kurtstam Kurt T Stam added a comment -

        fixed - reimplemented combinedCategory queries

        Show
        kurtstam Kurt T Stam added a comment - fixed - reimplemented combinedCategory queries

          People

          • Assignee:
            kstam Kurt T Stam
            Reporter:
            dvoets David Voets
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development