Here is an example of a soap call that comes back empty.   Is it
because the back end wasn't implemented?  Or I am doing this wrong?

in the juddi.log, I see this:

2011-10-03 14:32:56,617 DEBUG [org.apache.juddi.query.EntityQuery] - select dist
inct be.entityKey from BusinessEntity be , BusinessService bs , BindingTemplate
bt , TmodelInstanceInfo TmodelInstanceI_0 where ( be.entityKey = bs.businessEnti
ty.entityKey and bs.entityKey = bt.businessService.entityKey and bt.entityKey =
TmodelInstanceI_0.bindingTemplate.entityKey ) and ( (TmodelInstanceI_0.tmodelKey
 = ?) )

1       java.lang.String
uddi:mymetadata.sk92129.org:fubar:ent:tmodels:1.1:servi
celayer
^M

where the tmodelKey
(uddi:metadata.myorg.org:FUBAR:Ent:tModels:1.1:serviceLayer) exists in
one of my business services.

  <businessService serviceKey="uddi:snipsnip" businessKey="uddi:snipsnip">
      <name xml:lang="en">Source Selection Service</name>
      <description xml:lang="en">A Web Service supporting snip
snip.</description>
      <bindingTemplates>
        <bindingTemplate bindingKey="uddi:snip-snip-service-ws"
serviceKey="uddi:snipsnip-service">
          <description>snipsnip.</description>
          <accessPoint
useType="wsdlDeployment">http://127.0.0.1:33010/axis/SnipSnipWebService</accessPoint>
          <!--tModelInstanceDetails>
            <tModelInstanceInfo tModelKey="" />
          </tModelInstanceDetails-->
          <categoryBag>
            <keyedReference keyName="uddi-org:types:wsdl"
keyValue="wsdlDeployment"
tModelKey="uddi:uddi.org:categorization:types"/>
            <keyedReference keyName="SNIP Enterprise Service Layer"
keyValue="SNIP Common"
tModelKey="uddi:mymetadata.sk92129.org:FUBAR:Ent:tModels:1.1:serviceLayer"/>
            <keyedReference keyName="SNIP Enterprise Service Line"
keyValue="SNIP"
tModelKey="uddi:mymetadata.sk92129.org:FUBAR:Ent:tModels:1.1:serviceLine"/>
            <keyedReference keyName="SNIP Enterprise Service Line"
keyValue="Data Access"
tModelKey="uddi:mymetadata.sk92129.org:FUBAR:Ent:tModels:1.1:serviceLine"/>
            <keyedReference keyName="SNIP Enterprise Service Family"
keyValue="SNIP PROCESSING"
tModelKey="uddi:mymetadata.sk92129.org:FUBAR:Ent:tModels:1.1:serviceFamily"/>
            <keyedReference keyName="SNIP Enterprise Functional
Capability" keyValue="SNIP set that meets the desired accuracy of the
service consumer."
tModelKey="uddi:mymetadata.sk92129.org:FUBAR:Ent:tModels:1.1:function"/>
            <keyedReference keyName="SNIP Enterprise Context"
keyValue="Imagery"
tModelKey="uddi:mymetadata.sk92129.org:FUBAR:Ent:tModels:1.1:context"/>
          </categoryBag>
        </bindingTemplate>
      </bindingTemplates>
    </businessService>



<?xml version="1.0" ?>
      <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/";>
         <S:Body>
            <ns2:find_business xmlns:ns2="urn:uddi-org:api_v3"
xmlns:ns3="urn:uddi-org:custody_v3" xmlns:ns4="urn:uddi-org:repl_v3"
xmlns:ns5="http://www.w3.org/2000/09/xmldsig#";
xmlns:ns6="urn:uddi-org:sub_v3" xmlns:ns7="urn:uddi-org:subr_v3"
xmlns:ns8="urn:uddi-org:vscache_v3" xmlns:ns9="urn:uddi-org:policy_v3"
xmlns:ns10="urn:uddi-org:vs_v3"
xmlns:ns11="urn:uddi-org:policy_v3_instanceParms">
               
<ns2:authInfo>authtoken:c84501d8-30a6-4fa2-9ac5-035356dd096e</ns2:authInfo>
               <ns2:findQualifiers>
                  <ns2:findQualifier>approximateMatch</ns2:findQualifier>
               </ns2:findQualifiers>
               <ns2:name>%</ns2:name>
               <ns2:tModelBag>

<ns2:tModelKey>uddi:mymetadata.sk92129.org:FUBAR:Ent:tModels:1.1:serviceLayer</ns2:tModelKey>
               </ns2:tModelBag>
            </ns2:find_business>
         </S:Body>
      </S:Envelope>




On Fri, Sep 30, 2011 at 6:27 AM, Kurt T Stam <[email protected]> wrote:
> Hi Sean,
>
> Well in general it would look something like
>
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
> xmlns:urn="urn:uddi-org:api_v3">
> <soapenv:Header/>
> <soapenv:Body>
> <urn:find_business >
>
> <urn:findQualifiers>
> <!--1 or more repetitions:-->
> <urn:findQualifier>approximateMatch</urn:findQualifier>
> </urn:findQualifiers>
> <!--Zero or more repetitions:-->
> <urn:name >%</urn:name>
>
> </urn:find_business>
> </soapenv:Body>
> </soapenv:Envelope>
>
> But I don't have particular examples of 'ALL_LIKE_KEYS', 'AND_ALL_KEYS'
> That said I hope that gets you going, but I have noticed that not all of the
> find qualifiers have been implemented, but it is pretty straightforward to
> do so.
>
> If you find some are missing, please log jiras for them,
> and and you want to help out, we'll gladly accept patches (and are always
> looking for good developers
> to become committers if the patches look good!)
>
> Cheers,
>
> --Kurt
>
>
>
> On 9/29/11 4:04 PM, S K wrote:
>>
>> Hi Kurt,
>>
>> do you have some sample (soap ui project files and) requests to the
>> http://localhost:8080/juddiv3/services/inquiry?wsdl for the
>> find_service or find_business using those FindQualifiers?
>>
>> I have access to the soapui 4.x free version or the 3.6.1 pro version.
>>
>> Thanks for all your help...
>>
>> Sean
>>
>> On Thu, Sep 29, 2011 at 11:25 AM, Kurt T Stam<[email protected]>  wrote:
>>>
>>> Hi SK,
>>>
>>> The easiest way to get help is to use SoapUI and post the XML request
>>> along
>>> with what you are expecting and the results you are getting rather then
>>> posting code!
>>>
>>> --Kurt
>>>
>>> On 9/29/11 1:40 PM, S K wrote:
>>>>
>>>> Hello.
>>>>
>>>> Does anyone have either any sample query XMLs or sample java inquiry
>>>> client code that would exercise the various FindQualifiers
>>>> (ALL_LIKE_KEYS, AND_ALL_KEYS, etc).
>>>>
>>>> I have generated my own tModel and some sample businesses and services
>>>> but I am finding that the FindQualifiers does not work -- except for
>>>> the CASE INSENSITIVE qualifier.
>>>>
>>>> I am trying to build a search GUI to make searching for businesses or
>>>> services easier.
>>>>
>>>> For example, I have this junit test code, I have wrapped and
>>>> encapsulated some of the JUDDI inquiry parameter building in my own
>>>> classes, but I think you will understand my junit code...
>>>>
>>>>
>>>>        @Before
>>>>        public void setUp() {
>>>>                try {
>>>>                        String clazz =
>>>> UDDIClientContainer.getUDDIClerkManager(null).
>>>>
>>>>  getClientConfig().getUDDINode("default").getProxyTransport();
>>>>                        Class transportClass = ClassUtil.forName(clazz,
>>>> Transport.class);
>>>>                        if (transportClass!=null) {
>>>>                                Transport transport = (Transport)
>>>> transportClass.getConstructor(String.class).newInstance("default");
>>>>                                UDDISecurityPortType security =
>>>> transport.getUDDISecurityService();
>>>>                                inquiry =
>>>> transport.getUDDIInquiryService();
>>>>
>>>>                                // Our publisher is now saved, so now we
>>>> want to retrieve its
>>>> authentication token
>>>>                                GetAuthToken getAuthTokenMyPub = new
>>>> GetAuthToken();
>>>>                                getAuthTokenMyPub.setUserID("uddi");
>>>>                                getAuthTokenMyPub.setCred("uddi");
>>>>                                AuthToken myPubAuthToken =
>>>> security.getAuthToken(getAuthTokenMyPub);
>>>>                                System.out.println ("myPub AUTHTOKEN = "
>>>> +
>>>> myPubAuthToken.getAuthInfo());
>>>>                                assertTrue(myPubAuthToken.getAuthInfo()
>>>> !=
>>>> null);
>>>>                                authInfo = myPubAuthToken.getAuthInfo();
>>>>                        }
>>>>                }
>>>>                catch (Exception e) {
>>>>                        e.printStackTrace();
>>>>                }
>>>>        }
>>>>
>>>> @Test
>>>>        public void testOrLike() {
>>>>                try {
>>>>                                InquiryOptions opt = new
>>>> InquiryOptions();
>>>>
>>>>
>>>>  opt.setCaseInsensitivity(InquiryOptions.SEARCH_OPTION_CASE_INSENSITIVE_TRUE);
>>>>
>>>>  opt.setMatchType(InquiryOptions.SEARCH_OPTION_MATCH_TYPE_APPROXIMATE);
>>>>
>>>>
>>>>  opt.setConditionalOperator(InquiryOptions.SEARCH_OPTION_CONDITIONAL_OR_LIKE_KEYS);
>>>>                                String results =
>>>> InquiryUtil.findService("service", opt, authInfo,
>>>>                                                inquiry);
>>>>                                System.out.println(results);
>>>>                                // seems to return nothing --- it should
>>>> return something, right?
>>>>                }
>>>>                catch (Exception e) {
>>>>                        e.printStackTrace();
>>>>                }
>>>>        }
>>>
>
>

Reply via email to