You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@juddi.apache.org by S K <sk...@gmail.com> on 2011/09/29 19:40:46 UTC

org.apache.juddi.query.util.FindQualifiers

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();
		}
	}

Re: org.apache.juddi.query.util.FindQualifiers

Posted by S K <sk...@gmail.com>.
Or, basically how do I find a service based on a TModel entry or
keyValue or keyName associated with the specific businessService?
Look below at how my businessService has a categoryBag and has two or
more keyedReference with keyName, keyValue and tmodelKey.




On Mon, Oct 3, 2011 at 2:42 PM, S K <sk...@gmail.com> wrote:
> 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 <ku...@gmail.com> 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<ku...@gmail.com>  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();
>>>>>                }
>>>>>        }
>>>>
>>
>>
>

Re: org.apache.juddi.query.util.FindQualifiers

Posted by S K <sk...@gmail.com>.
thank.. I will try this.

On Tue, Oct 4, 2011 at 7:46 AM, Kurt T Stam <ku...@gmail.com> wrote:
> Hi Sean,
>
> If I save my service using:
>
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:urn="urn:uddi-org:api_v3"
> xmlns:xd="http://www.w3.org/2000/09/xmldsig#">
> <soapenv:Header/>
> <soapenv:Body>
> <urn:save_service>
> <!--Optional:-->
> <urn:authInfo>authtoken:baa5843e-5c44-4d96-ac91-8a6f5c72a767</urn:authInfo>
> <!--1 or more repetitions:-->
> <urn:businessService serviceKey="uddi:juddi.apache.org:service1"
> businessKey="uddi:juddi.apache.org:businesses-asf">
> <!--Zero or more repetitions:-->
> <urn:name xml:lang="en">service1</urn:name>
> <!--Zero or more repetitions:-->
> <urn:description xml:lang="en">description of service1</urn:description>
> <!--Optional:-->
> <urn:bindingTemplates>
> <!--1 or more repetitions:-->
> <urn:bindingTemplate bindingKey="uddi:juddi.apache.org:binding1"
> serviceKey="uddi:juddi.apache.org:service1">
> <!--Zero or more repetitions:-->
> <urn:description xml:lang="en">description of binding1</urn:description>
> <!--Optional:-->
> <urn:accessPoint
> useType="wsdlDeployment">http://127.0.0.1:33010/axis/SnipSnipWebService</urn:accessPoint>
>
> <urn:categoryBag>
> <!--Zero or more repetitions:-->
> <urn:keyedReference tModelKey="uddi:uddi.org:categorization:types"
> keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
>
> </urn:categoryBag>
>
> </urn:bindingTemplate>
> </urn:bindingTemplates>
>
> </urn:businessService>
> </urn:save_service>
> </soapenv:Body>
> </soapenv:Envelope>
>
> Then you can find enpoints that reference 'wsdlDeployment' like so
>
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:urn="urn:uddi-org:api_v3">
> <soapenv:Header/>
> <soapenv:Body>
> <urn:find_binding >
> <urn:categoryBag>
> <urn:keyedReference tModelKey="uddi:uddi.org:categorization:types"
>         keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
> </urn:categoryBag>
> </urn:find_binding>
> </soapenv:Body>
> </soapenv:Envelope>
>
> which gives me
>
> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
> <soap:Body>
> <ns2:bindingDetail xmlns:ns11="urn:uddi-org:vs_v3"
> xmlns:ns10="urn:uddi-org:policy_v3_instanceParms"
> xmlns:ns9="urn:uddi-org:policy_v3" xmlns:ns8="urn:uddi-org:vscache_v3"
> xmlns:ns7="urn:uddi-org:subr_v3" xmlns:ns6="urn:uddi-org:sub_v3"
> xmlns:ns5="urn:uddi-org:custody_v3" xmlns:ns4="urn:uddi-org:repl_v3"
> xmlns:ns3="http://www.w3.org/2000/09/xmldsig#"
> xmlns:ns2="urn:uddi-org:api_v3">
> <ns2:listDescription>
> <ns2:includeCount>8</ns2:includeCount>
> <ns2:actualCount>8</ns2:actualCount>
> <ns2:listHead>1</ns2:listHead>
> </ns2:listDescription>
> <ns2:bindingTemplate bindingKey="uddi:juddi.apache.org:binding1"
> serviceKey="uddi:juddi.apache.org:service1">
> <ns2:description xml:lang="en">description of binding1</ns2:description>
> <ns2:accessPoint
> useType="wsdlDeployment">http://127.0.0.1:33010/axis/SnipSnipWebService</ns2:accessPoint>
> <ns2:categoryBag>
> <ns2:keyedReference tModelKey="uddi:uddi.org:categorization:types"
> keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
> </ns2:categoryBag>
> </ns2:bindingTemplate>
> <ns2:bindingTemplate
> bindingKey="uddi:juddi.apache.org:servicebindings-publisher-ws"
> serviceKey="uddi:juddi.apache.org:services-publisher">
> <ns2:description>jUDDI Publisher Service API V3</ns2:description>
> <ns2:accessPoint
> useType="wsdlDeployment">http://localhost:8080/juddiv3//services/publisher?wsdl</ns2:accessPoint>
> <ns2:categoryBag>
> <ns2:keyedReference tModelKey="uddi:uddi.org:categorization:types"
> keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
> </ns2:categoryBag>
> </ns2:bindingTemplate>
> <ns2:bindingTemplate
> bindingKey="uddi:juddi.apache.org:servicebindings-subscriptionlistener-ws"
> serviceKey="uddi:juddi.apache.org:services-subscriptionlistener">
> <ns2:description>UDDI Subscription Listener API V3</ns2:description>
> <ns2:accessPoint
> useType="wsdlDeployment">http://localhost:8080/juddiv3//services/subscription-listener?wsdl</ns2:accessPoint>
> <ns2:tModelInstanceDetails>
> <ns2:tModelInstanceInfo tModelKey="uddi:uddi.org:v3_subscriptionlistener"/>
> </ns2:tModelInstanceDetails>
> <ns2:categoryBag>
> <ns2:keyedReference tModelKey="uddi:uddi.org:categorization:types"
> keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
> </ns2:categoryBag>
> </ns2:bindingTemplate>
> <ns2:bindingTemplate
> bindingKey="uddi:juddi.apache.org:servicebindings-subscription-ws"
> serviceKey="uddi:juddi.apache.org:services-subscription">
> <ns2:description>UDDI Subscription API V3</ns2:description>
> <ns2:accessPoint
> useType="wsdlDeployment">http://localhost:8080/juddiv3//services/subscription?wsdl</ns2:accessPoint>
> <ns2:tModelInstanceDetails>
> <ns2:tModelInstanceInfo tModelKey="uddi:uddi.org:v3_subscription">
> <ns2:instanceDetails>
> <ns2:instanceParms><![CDATA[<?xml version="1.0" encoding="utf-8" ?>
> <UDDIinstanceParmsContainer
>                xmlns="urn:uddi-org:policy_v3_instanceParms">
> <authInfoUse>required</authInfoUse>
> <filterUsingFindAPI>supported</filterUsingFindAPI>
> </UDDIinstanceParmsContainer>]]></ns2:instanceParms>
> </ns2:instanceDetails>
> </ns2:tModelInstanceInfo>
> </ns2:tModelInstanceDetails>
> <ns2:categoryBag>
> <ns2:keyedReference tModelKey="uddi:uddi.org:categorization:types"
> keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
> </ns2:categoryBag>
> </ns2:bindingTemplate>
> <ns2:bindingTemplate
> bindingKey="uddi:juddi.apache.org:servicebindings-custodytransfer-ws"
> serviceKey="uddi:juddi.apache.org:services-custodytransfer">
> <ns2:description>UDDI Custody and Ownership Transfer API
> V3</ns2:description>
> <ns2:accessPoint
> useType="wsdlDeployment">http://localhost:8080/juddiv3//services/custody-transfer?wsdl</ns2:accessPoint>
> <ns2:tModelInstanceDetails>
> <ns2:tModelInstanceInfo tModelKey="uddi:uddi.org:v3_ownership_transfer">
> <ns2:instanceDetails>
> <ns2:instanceParms>&lt;?xml version="1.0" encoding="utf-8" ?>
> &lt;UDDIinstanceParmsContainer
>                 xmlns="urn:uddi-org:policy_v3_instanceParms">
> &lt;authInfoUse>required&lt;/authInfoUse>
> &lt;/UDDIinstanceParmsContainer></ns2:instanceParms>
> </ns2:instanceDetails>
> </ns2:tModelInstanceInfo>
> </ns2:tModelInstanceDetails>
> <ns2:categoryBag>
> <ns2:keyedReference tModelKey="uddi:uddi.org:categorization:types"
> keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
> </ns2:categoryBag>
> </ns2:bindingTemplate>
> <ns2:bindingTemplate
> bindingKey="uddi:juddi.apache.org:servicebindings-security-ws"
> serviceKey="uddi:juddi.apache.org:services-security">
> <ns2:description>UDDI Security API V3</ns2:description>
> <ns2:accessPoint
> useType="wsdlDeployment">http://localhost:8080/juddiv3//services/security?wsdl</ns2:accessPoint>
> <ns2:tModelInstanceDetails>
> <ns2:tModelInstanceInfo tModelKey="uddi:uddi.org:v3_security"/>
> </ns2:tModelInstanceDetails>
> <ns2:categoryBag>
> <ns2:keyedReference tModelKey="uddi:uddi.org:categorization:types"
> keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
> </ns2:categoryBag>
> </ns2:bindingTemplate>
> <ns2:bindingTemplate
> bindingKey="uddi:juddi.apache.org:servicebindings-publish-ws"
> serviceKey="uddi:juddi.apache.org:services-publish">
> <ns2:description>UDDI Publication API V3</ns2:description>
> <ns2:accessPoint
> useType="wsdlDeployment">http://localhost:8080/juddiv3//services/publish?wsdl</ns2:accessPoint>
> <ns2:tModelInstanceDetails>
> <ns2:tModelInstanceInfo tModelKey="uddi:uddi.org:v3_publication">
> <ns2:instanceDetails>
> <ns2:instanceParms>&lt;?xml version="1.0" encoding="utf-8" ?>
> &lt;UDDIinstanceParmsContainer xmlns="urn:uddi-org:policy_v3_instanceParms">
> &lt;authInfoUse>required&lt;/authInfoUse>
> &lt;/UDDIinstanceParmsContainer></ns2:instanceParms>
> </ns2:instanceDetails>
> </ns2:tModelInstanceInfo>
> </ns2:tModelInstanceDetails>
> <ns2:categoryBag>
> <ns2:keyedReference tModelKey="uddi:uddi.org:categorization:types"
> keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
> </ns2:categoryBag>
> </ns2:bindingTemplate>
> <ns2:bindingTemplate
> bindingKey="uddi:juddi.apache.org:servicebindings-inquiry-ws"
> serviceKey="uddi:juddi.apache.org:services-inquiry">
> <ns2:description>UDDI Inquiry API V3</ns2:description>
> <ns2:accessPoint
> useType="wsdlDeployment">http://localhost:8080/juddiv3//services/inquiry?wsdl</ns2:accessPoint>
> <ns2:tModelInstanceDetails>
> <ns2:tModelInstanceInfo tModelKey="uddi:uddi.org:v3_inquiry">
> <ns2:instanceDetails>
> <ns2:instanceParms>&lt;?xml version="1.0" encoding="utf-8" ?>
> &lt;UDDIinstanceParmsContainer xmlns="urn:uddi-org:policy_v3_instanceParms">
> &lt;defaultSortOrder>
>                      uddi:uddi.org:sortorder:binarysort
> &lt;/defaultSortOrder>
> &lt;/UDDIinstanceParmsContainer></ns2:instanceParms>
> </ns2:instanceDetails>
> </ns2:tModelInstanceInfo>
> </ns2:tModelInstanceDetails>
> <ns2:categoryBag>
> <ns2:keyedReference tModelKey="uddi:uddi.org:categorization:types"
> keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
> </ns2:categoryBag>
> </ns2:bindingTemplate>
> </ns2:bindingDetail>
> </soap:Body>
> </soap:Envelope>
>
> See also:
> http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v202-20040631.htm#_Toc76437781
>
> Maybe this will get you going?
>
> -Kurt
>
> On 10/3/11 5:42 PM, S K wrote:
>>
>> 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<ku...@gmail.com>  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<ku...@gmail.com>
>>>>  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();
>>>>>>                }
>>>>>>        }
>>>
>
>

Re: org.apache.juddi.query.util.FindQualifiers

Posted by Kurt T Stam <ku...@gmail.com>.
Hi Sean,

1. If you want to delete the data in the Derby database, that is located 
in <tomcat_home>/bin/target/juddi-derby-test-db. Or you can simply use 
the API to add the TModel.

2.
 > and I see the tmodel entry in the KeyedReference table. Should I 
verify another table in the schema?
Yes this is the KeyedReference. You have to add the actual TModel that 
it is referencing.

--Kurt



On 10/7/11 3:28 PM, S K wrote:
> Yes, I added an tmodel entry -- and re-initialized juddi
>
> I assume -- to reinitialize juddi  -- I should delete all the contents
> of the tomcat/work and temp/ contents and put the
> juddi_custom_install_data into the webapps/juddiv3/WEB-INF/classes
> directory.
>
> I was using derby to diagnose this -- for development.
>
> On a separate development box, I have the same setup but with
> postgresql configured with juddi -- and I see the tmodel entry in the
> KeyedReference table.  Should I verify another table in the schema?
>
> On Thu, Oct 6, 2011 at 5:31 PM, Kurt T Stam<ku...@gmail.com>  wrote:
>> Hi Sean,
>>
>> Does this TModel exist in your registry?
>>
>> <ns2:keyedReference keyValue="FUBAR Enterprise
>> Service Layer" keyName="Some Kind Of Common"
>> tModelKey="uddi:metadata.sk92129.org:FUBAR:Ent:tModels:1.1:serviceLayer"/>
>>
>> The snippet above is a reference to it, not the actual TModel.
>>
>> --Kurt
>>
>>
>>
>>
>> On 10/5/11 3:30 PM, S K wrote:
>>> Any ideas about this?   I am holding back the urge to debug the
>>> database or query code...
>>>
>>>
>>>
>>> On Tue, Oct 4, 2011 at 5:11 PM, S K<sk...@gmail.com>    wrote:
>>>> Hi Kurt,
>>>>
>>>> Thank you for your help.
>>>>
>>>> Using the example...
>>>>
>>>> I cannot create the service unless I remove the attributes from the
>>>> save_service's bindingTemplate.
>>>>
>>>>> <urn:bindingTemplate bindingKey="uddi:juddi.apache.org:binding1"
>>>>> serviceKey="uddi:juddi.apache.org:service1">
>>>> So I changed this to:
>>>> <urn:bindingTemplate>
>>>>
>>>>
>>>> After I removed these attributes, I was able to successfully send this
>>>> soap request via soapui and have the service created.
>>>>
>>>> Then the find_bindings works as you prescribed in the prior email.
>>>>
>>>> When I wrote the java client side code to search using this particular
>>>> find_binding, it works fine.
>>>>
>>>> However, I wrote an add on junit test that looks for other services
>>>> that we preload via the
>>>>
>>>> juddi-portal-bundle-3.1.0\webapps\juddiv3\WEB-INF\classes\juddi_custom_install_data
>>>>
>>>> For example one of the services that I pre-load looks similar to
>>>> below....
>>>>
>>>>
>>>>
>>>>   <businessService serviceKey="uddi:sk92129.net:state-service"
>>>> businessKey="uddi:sk92129.net:business-entity">
>>>>       <name xml:lang="en">State Service</name>
>>>>       <description xml:lang="en">A Web Service supporting state
>>>> requests.</description>
>>>>       <bindingTemplates>
>>>>         <bindingTemplate
>>>> bindingKey="uddi:sk92129.net:state-service-ws"
>>>> serviceKey="uddi:sk92129.net:state-service">
>>>>           <description>This capability snip snip</description>
>>>>           <accessPoint
>>>>
>>>> useType="wsdlDeployment">http://127.127.1.1:9999/axis/StateWebService</accessPoint>
>>>>           <!--tModelInstanceDetails>
>>>>             <tModelInstanceInfo tModelKey="" />
>>>>           </tModelInstanceDetails-->
>>>>           <categoryBag>
>>>>             <keyedReference keyName="uddi-org:types:wsdl"
>>>> keyValue="wsdlDeployment"
>>>> tModelKey="uddi:uddi.org:categorization:types"/>
>>>>             <keyedReference keyName="FUBAR Enterprise Service Layer"
>>>> keyValue="Some Kind Of Common"
>>>>
>>>> tModelKey="uddi:metadata.sk92129.org:FUBAR:Ent:tModels:1.1:serviceLayer"/>
>>>>             <!-- THERE ARE MORE BUT I SNIPPED THEM -->
>>>>           </categoryBag>
>>>>         </bindingTemplate>
>>>>       </bindingTemplates>
>>>>     </businessService>
>>>>
>>>>
>>>> If I invoke the find_binding on the other tmodel entry in this
>>>> categoryBag above.
>>>>
>>>>   <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
>>>>          <S:Body>
>>>>             <ns2:find_binding 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:499f7491-bf1a-472b-9a4c-97b6180374d7</ns2:authInfo>
>>>>                <ns2:categoryBag>
>>>>                   <ns2:keyedReference keyValue="FUBAR Enterprise
>>>> Service Layer" keyName="Some Kind Of Common"
>>>>
>>>> tModelKey="uddi:metadata.sk92129.org:FUBAR:Ent:tModels:1.1:serviceLayer"/>
>>>>                </ns2:categoryBag>
>>>>             </ns2:find_binding>
>>>>          </S:Body>
>>>>       </S:Envelope>
>>>>
>>>> Then the result is empty.
>>>>
>>>>
>>>> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
>>>>    <soap:Body>
>>>>       <ns2:bindingDetail xmlns:ns11="urn:uddi-org:vs_v3"
>>>> xmlns:ns10="urn:uddi-org:policy_v3_instanceParms"
>>>> xmlns:ns9="urn:uddi-org:custody_v3" xmlns:ns8="urn:uddi-org:repl_v3"
>>>> xmlns:ns7="urn:uddi-org:subr_v3" xmlns:ns6="urn:uddi-org:sub_v3"
>>>> xmlns:ns5="urn:uddi-org:vscache_v3" xmlns:ns4="urn:uddi-org:policy_v3"
>>>> xmlns:ns3="http://www.w3.org/2000/09/xmldsig#"
>>>> xmlns:ns2="urn:uddi-org:api_v3">
>>>>          <ns2:listDescription>
>>>>             <ns2:includeCount>0</ns2:includeCount>
>>>>             <ns2:actualCount>0</ns2:actualCount>
>>>>             <ns2:listHead>0</ns2:listHead>
>>>>          </ns2:listDescription>
>>>>       </ns2:bindingDetail>
>>>>    </soap:Body></soap:Envelope>
>>>>
>>>> What am I missing on this?
>>>>
>>>>
>>>>
>>>> On Tue, Oct 4, 2011 at 7:46 AM, Kurt T Stam<ku...@gmail.com>    wrote:
>>>>> Hi Sean,
>>>>>
>>>>> If I save my service using:
>>>>>
>>>>> <soapenv:Envelope
>>>>> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
>>>>> xmlns:urn="urn:uddi-org:api_v3"
>>>>> xmlns:xd="http://www.w3.org/2000/09/xmldsig#">
>>>>> <soapenv:Header/>
>>>>> <soapenv:Body>
>>>>> <urn:save_service>
>>>>> <!--Optional:-->
>>>>>
>>>>> <urn:authInfo>authtoken:baa5843e-5c44-4d96-ac91-8a6f5c72a767</urn:authInfo>
>>>>> <!--1 or more repetitions:-->
>>>>> <urn:businessService serviceKey="uddi:juddi.apache.org:service1"
>>>>> businessKey="uddi:juddi.apache.org:businesses-asf">
>>>>> <!--Zero or more repetitions:-->
>>>>> <urn:name xml:lang="en">service1</urn:name>
>>>>> <!--Zero or more repetitions:-->
>>>>> <urn:description xml:lang="en">description of service1</urn:description>
>>>>> <!--Optional:-->
>>>>> <urn:bindingTemplates>
>>>>> <!--1 or more repetitions:-->
>>>>> <urn:bindingTemplate bindingKey="uddi:juddi.apache.org:binding1"
>>>>> serviceKey="uddi:juddi.apache.org:service1">
>>>>> <!--Zero or more repetitions:-->
>>>>> <urn:description xml:lang="en">description of binding1</urn:description>
>>>>> <!--Optional:-->
>>>>> <urn:accessPoint
>>>>>
>>>>> useType="wsdlDeployment">http://127.0.0.1:33010/axis/SnipSnipWebService</urn:accessPoint>
>>>>>
>>>>> <urn:categoryBag>
>>>>> <!--Zero or more repetitions:-->
>>>>> <urn:keyedReference tModelKey="uddi:uddi.org:categorization:types"
>>>>> keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
>>>>>
>>>>> </urn:categoryBag>
>>>>>
>>>>> </urn:bindingTemplate>
>>>>> </urn:bindingTemplates>
>>>>>
>>>>> </urn:businessService>
>>>>> </urn:save_service>
>>>>> </soapenv:Body>
>>>>> </soapenv:Envelope>
>>>>>
>>>>> Then you can find enpoints that reference 'wsdlDeployment' like so
>>>>>
>>>>> <soapenv:Envelope
>>>>> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
>>>>> xmlns:urn="urn:uddi-org:api_v3">
>>>>> <soapenv:Header/>
>>>>> <soapenv:Body>
>>>>> <urn:find_binding>
>>>>> <urn:categoryBag>
>>>>> <urn:keyedReference tModelKey="uddi:uddi.org:categorization:types"
>>>>>          keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
>>>>> </urn:categoryBag>
>>>>> </urn:find_binding>
>>>>> </soapenv:Body>
>>>>> </soapenv:Envelope>
>>>>>
>>>>> which gives me
>>>>>
>>>>> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
>>>>> <soap:Body>
>>>>> <ns2:bindingDetail xmlns:ns11="urn:uddi-org:vs_v3"
>>>>> xmlns:ns10="urn:uddi-org:policy_v3_instanceParms"
>>>>> xmlns:ns9="urn:uddi-org:policy_v3" xmlns:ns8="urn:uddi-org:vscache_v3"
>>>>> xmlns:ns7="urn:uddi-org:subr_v3" xmlns:ns6="urn:uddi-org:sub_v3"
>>>>> xmlns:ns5="urn:uddi-org:custody_v3" xmlns:ns4="urn:uddi-org:repl_v3"
>>>>> xmlns:ns3="http://www.w3.org/2000/09/xmldsig#"
>>>>> xmlns:ns2="urn:uddi-org:api_v3">
>>>>> <ns2:listDescription>
>>>>> <ns2:includeCount>8</ns2:includeCount>
>>>>> <ns2:actualCount>8</ns2:actualCount>
>>>>> <ns2:listHead>1</ns2:listHead>
>>>>> </ns2:listDescription>
>>>>> <ns2:bindingTemplate bindingKey="uddi:juddi.apache.org:binding1"
>>>>> serviceKey="uddi:juddi.apache.org:service1">
>>>>> <ns2:description xml:lang="en">description of binding1</ns2:description>
>>>>> <ns2:accessPoint
>>>>>
>>>>> useType="wsdlDeployment">http://127.0.0.1:33010/axis/SnipSnipWebService</ns2:accessPoint>
>>>>> <ns2:categoryBag>
>>>>> <ns2:keyedReference tModelKey="uddi:uddi.org:categorization:types"
>>>>> keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
>>>>> </ns2:categoryBag>
>>>>> </ns2:bindingTemplate>
>>>>> <ns2:bindingTemplate
>>>>> bindingKey="uddi:juddi.apache.org:servicebindings-publisher-ws"
>>>>> serviceKey="uddi:juddi.apache.org:services-publisher">
>>>>> <ns2:description>jUDDI Publisher Service API V3</ns2:description>
>>>>> <ns2:accessPoint
>>>>>
>>>>> useType="wsdlDeployment">http://localhost:8080/juddiv3//services/publisher?wsdl</ns2:accessPoint>
>>>>> <ns2:categoryBag>
>>>>> <ns2:keyedReference tModelKey="uddi:uddi.org:categorization:types"
>>>>> keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
>>>>> </ns2:categoryBag>
>>>>> </ns2:bindingTemplate>
>>>>> <ns2:bindingTemplate
>>>>>
>>>>> bindingKey="uddi:juddi.apache.org:servicebindings-subscriptionlistener-ws"
>>>>> serviceKey="uddi:juddi.apache.org:services-subscriptionlistener">
>>>>> <ns2:description>UDDI Subscription Listener API V3</ns2:description>
>>>>> <ns2:accessPoint
>>>>>
>>>>> useType="wsdlDeployment">http://localhost:8080/juddiv3//services/subscription-listener?wsdl</ns2:accessPoint>
>>>>> <ns2:tModelInstanceDetails>
>>>>> <ns2:tModelInstanceInfo
>>>>> tModelKey="uddi:uddi.org:v3_subscriptionlistener"/>
>>>>> </ns2:tModelInstanceDetails>
>>>>> <ns2:categoryBag>
>>>>> <ns2:keyedReference tModelKey="uddi:uddi.org:categorization:types"
>>>>> keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
>>>>> </ns2:categoryBag>
>>>>> </ns2:bindingTemplate>
>>>>> <ns2:bindingTemplate
>>>>> bindingKey="uddi:juddi.apache.org:servicebindings-subscription-ws"
>>>>> serviceKey="uddi:juddi.apache.org:services-subscription">
>>>>> <ns2:description>UDDI Subscription API V3</ns2:description>
>>>>> <ns2:accessPoint
>>>>>
>>>>> useType="wsdlDeployment">http://localhost:8080/juddiv3//services/subscription?wsdl</ns2:accessPoint>
>>>>> <ns2:tModelInstanceDetails>
>>>>> <ns2:tModelInstanceInfo tModelKey="uddi:uddi.org:v3_subscription">
>>>>> <ns2:instanceDetails>
>>>>> <ns2:instanceParms><![CDATA[<?xml version="1.0" encoding="utf-8" ?>
>>>>> <UDDIinstanceParmsContainer
>>>>>                 xmlns="urn:uddi-org:policy_v3_instanceParms">
>>>>> <authInfoUse>required</authInfoUse>
>>>>> <filterUsingFindAPI>supported</filterUsingFindAPI>
>>>>> </UDDIinstanceParmsContainer>]]></ns2:instanceParms>
>>>>> </ns2:instanceDetails>
>>>>> </ns2:tModelInstanceInfo>
>>>>> </ns2:tModelInstanceDetails>
>>>>> <ns2:categoryBag>
>>>>> <ns2:keyedReference tModelKey="uddi:uddi.org:categorization:types"
>>>>> keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
>>>>> </ns2:categoryBag>
>>>>> </ns2:bindingTemplate>
>>>>> <ns2:bindingTemplate
>>>>> bindingKey="uddi:juddi.apache.org:servicebindings-custodytransfer-ws"
>>>>> serviceKey="uddi:juddi.apache.org:services-custodytransfer">
>>>>> <ns2:description>UDDI Custody and Ownership Transfer API
>>>>> V3</ns2:description>
>>>>> <ns2:accessPoint
>>>>>
>>>>> useType="wsdlDeployment">http://localhost:8080/juddiv3//services/custody-transfer?wsdl</ns2:accessPoint>
>>>>> <ns2:tModelInstanceDetails>
>>>>> <ns2:tModelInstanceInfo tModelKey="uddi:uddi.org:v3_ownership_transfer">
>>>>> <ns2:instanceDetails>
>>>>> <ns2:instanceParms>&lt;?xml version="1.0" encoding="utf-8" ?>
>>>>> &lt;UDDIinstanceParmsContainer
>>>>>                  xmlns="urn:uddi-org:policy_v3_instanceParms">
>>>>> &lt;authInfoUse>required&lt;/authInfoUse>
>>>>> &lt;/UDDIinstanceParmsContainer></ns2:instanceParms>
>>>>> </ns2:instanceDetails>
>>>>> </ns2:tModelInstanceInfo>
>>>>> </ns2:tModelInstanceDetails>
>>>>> <ns2:categoryBag>
>>>>> <ns2:keyedReference tModelKey="uddi:uddi.org:categorization:types"
>>>>> keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
>>>>> </ns2:categoryBag>
>>>>> </ns2:bindingTemplate>
>>>>> <ns2:bindingTemplate
>>>>> bindingKey="uddi:juddi.apache.org:servicebindings-security-ws"
>>>>> serviceKey="uddi:juddi.apache.org:services-security">
>>>>> <ns2:description>UDDI Security API V3</ns2:description>
>>>>> <ns2:accessPoint
>>>>>
>>>>> useType="wsdlDeployment">http://localhost:8080/juddiv3//services/security?wsdl</ns2:accessPoint>
>>>>> <ns2:tModelInstanceDetails>
>>>>> <ns2:tModelInstanceInfo tModelKey="uddi:uddi.org:v3_security"/>
>>>>> </ns2:tModelInstanceDetails>
>>>>> <ns2:categoryBag>
>>>>> <ns2:keyedReference tModelKey="uddi:uddi.org:categorization:types"
>>>>> keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
>>>>> </ns2:categoryBag>
>>>>> </ns2:bindingTemplate>
>>>>> <ns2:bindingTemplate
>>>>> bindingKey="uddi:juddi.apache.org:servicebindings-publish-ws"
>>>>> serviceKey="uddi:juddi.apache.org:services-publish">
>>>>> <ns2:description>UDDI Publication API V3</ns2:description>
>>>>> <ns2:accessPoint
>>>>>
>>>>> useType="wsdlDeployment">http://localhost:8080/juddiv3//services/publish?wsdl</ns2:accessPoint>
>>>>> <ns2:tModelInstanceDetails>
>>>>> <ns2:tModelInstanceInfo tModelKey="uddi:uddi.org:v3_publication">
>>>>> <ns2:instanceDetails>
>>>>> <ns2:instanceParms>&lt;?xml version="1.0" encoding="utf-8" ?>
>>>>> &lt;UDDIinstanceParmsContainer
>>>>> xmlns="urn:uddi-org:policy_v3_instanceParms">
>>>>> &lt;authInfoUse>required&lt;/authInfoUse>
>>>>> &lt;/UDDIinstanceParmsContainer></ns2:instanceParms>
>>>>> </ns2:instanceDetails>
>>>>> </ns2:tModelInstanceInfo>
>>>>> </ns2:tModelInstanceDetails>
>>>>> <ns2:categoryBag>
>>>>> <ns2:keyedReference tModelKey="uddi:uddi.org:categorization:types"
>>>>> keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
>>>>> </ns2:categoryBag>
>>>>> </ns2:bindingTemplate>
>>>>> <ns2:bindingTemplate
>>>>> bindingKey="uddi:juddi.apache.org:servicebindings-inquiry-ws"
>>>>> serviceKey="uddi:juddi.apache.org:services-inquiry">
>>>>> <ns2:description>UDDI Inquiry API V3</ns2:description>
>>>>> <ns2:accessPoint
>>>>>
>>>>> useType="wsdlDeployment">http://localhost:8080/juddiv3//services/inquiry?wsdl</ns2:accessPoint>
>>>>> <ns2:tModelInstanceDetails>
>>>>> <ns2:tModelInstanceInfo tModelKey="uddi:uddi.org:v3_inquiry">
>>>>> <ns2:instanceDetails>
>>>>> <ns2:instanceParms>&lt;?xml version="1.0" encoding="utf-8" ?>
>>>>> &lt;UDDIinstanceParmsContainer
>>>>> xmlns="urn:uddi-org:policy_v3_instanceParms">
>>>>> &lt;defaultSortOrder>
>>>>>                       uddi:uddi.org:sortorder:binarysort
>>>>> &lt;/defaultSortOrder>
>>>>> &lt;/UDDIinstanceParmsContainer></ns2:instanceParms>
>>>>> </ns2:instanceDetails>
>>>>> </ns2:tModelInstanceInfo>
>>>>> </ns2:tModelInstanceDetails>
>>>>> <ns2:categoryBag>
>>>>> <ns2:keyedReference tModelKey="uddi:uddi.org:categorization:types"
>>>>> keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
>>>>> </ns2:categoryBag>
>>>>> </ns2:bindingTemplate>
>>>>> </ns2:bindingDetail>
>>>>> </soap:Body>
>>>>> </soap:Envelope>
>>>>>
>>>>> See also:
>>>>>
>>>>> http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v202-20040631.htm#_Toc76437781
>>>>>
>>>>> Maybe this will get you going?
>>>>>
>>>>> -Kurt
>>>>>
>>>>> On 10/3/11 5:42 PM, S K wrote:
>>>>>> 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<ku...@gmail.com>
>>>>>>   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<ku...@gmail.com>
>>>>>>>>   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();
>>>>>>>>>>                 }
>>>>>>>>>>         }
>>


Re: org.apache.juddi.query.util.FindQualifiers

Posted by S K <sk...@gmail.com>.
Yes, I added an tmodel entry -- and re-initialized juddi

I assume -- to reinitialize juddi  -- I should delete all the contents
of the tomcat/work and temp/ contents and put the
juddi_custom_install_data into the webapps/juddiv3/WEB-INF/classes
directory.

I was using derby to diagnose this -- for development.

On a separate development box, I have the same setup but with
postgresql configured with juddi -- and I see the tmodel entry in the
KeyedReference table.  Should I verify another table in the schema?

On Thu, Oct 6, 2011 at 5:31 PM, Kurt T Stam <ku...@gmail.com> wrote:
> Hi Sean,
>
> Does this TModel exist in your registry?
>
> <ns2:keyedReference keyValue="FUBAR Enterprise
> Service Layer" keyName="Some Kind Of Common"
> tModelKey="uddi:metadata.sk92129.org:FUBAR:Ent:tModels:1.1:serviceLayer"/>
>
> The snippet above is a reference to it, not the actual TModel.
>
> --Kurt
>
>
>
>
> On 10/5/11 3:30 PM, S K wrote:
>>
>> Any ideas about this?   I am holding back the urge to debug the
>> database or query code...
>>
>>
>>
>> On Tue, Oct 4, 2011 at 5:11 PM, S K<sk...@gmail.com>  wrote:
>>>
>>> Hi Kurt,
>>>
>>> Thank you for your help.
>>>
>>> Using the example...
>>>
>>> I cannot create the service unless I remove the attributes from the
>>> save_service's bindingTemplate.
>>>
>>>> <urn:bindingTemplate bindingKey="uddi:juddi.apache.org:binding1"
>>>> serviceKey="uddi:juddi.apache.org:service1">
>>>
>>> So I changed this to:
>>> <urn:bindingTemplate>
>>>
>>>
>>> After I removed these attributes, I was able to successfully send this
>>> soap request via soapui and have the service created.
>>>
>>> Then the find_bindings works as you prescribed in the prior email.
>>>
>>> When I wrote the java client side code to search using this particular
>>> find_binding, it works fine.
>>>
>>> However, I wrote an add on junit test that looks for other services
>>> that we preload via the
>>>
>>> juddi-portal-bundle-3.1.0\webapps\juddiv3\WEB-INF\classes\juddi_custom_install_data
>>>
>>> For example one of the services that I pre-load looks similar to
>>> below....
>>>
>>>
>>>
>>>  <businessService serviceKey="uddi:sk92129.net:state-service"
>>> businessKey="uddi:sk92129.net:business-entity">
>>>      <name xml:lang="en">State Service</name>
>>>      <description xml:lang="en">A Web Service supporting state
>>> requests.</description>
>>>      <bindingTemplates>
>>>        <bindingTemplate
>>> bindingKey="uddi:sk92129.net:state-service-ws"
>>> serviceKey="uddi:sk92129.net:state-service">
>>>          <description>This capability snip snip</description>
>>>          <accessPoint
>>>
>>> useType="wsdlDeployment">http://127.127.1.1:9999/axis/StateWebService</accessPoint>
>>>          <!--tModelInstanceDetails>
>>>            <tModelInstanceInfo tModelKey="" />
>>>          </tModelInstanceDetails-->
>>>          <categoryBag>
>>>            <keyedReference keyName="uddi-org:types:wsdl"
>>> keyValue="wsdlDeployment"
>>> tModelKey="uddi:uddi.org:categorization:types"/>
>>>            <keyedReference keyName="FUBAR Enterprise Service Layer"
>>> keyValue="Some Kind Of Common"
>>>
>>> tModelKey="uddi:metadata.sk92129.org:FUBAR:Ent:tModels:1.1:serviceLayer"/>
>>>            <!-- THERE ARE MORE BUT I SNIPPED THEM -->
>>>          </categoryBag>
>>>        </bindingTemplate>
>>>      </bindingTemplates>
>>>    </businessService>
>>>
>>>
>>> If I invoke the find_binding on the other tmodel entry in this
>>> categoryBag above.
>>>
>>>  <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
>>>         <S:Body>
>>>            <ns2:find_binding 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:499f7491-bf1a-472b-9a4c-97b6180374d7</ns2:authInfo>
>>>               <ns2:categoryBag>
>>>                  <ns2:keyedReference keyValue="FUBAR Enterprise
>>> Service Layer" keyName="Some Kind Of Common"
>>>
>>> tModelKey="uddi:metadata.sk92129.org:FUBAR:Ent:tModels:1.1:serviceLayer"/>
>>>               </ns2:categoryBag>
>>>            </ns2:find_binding>
>>>         </S:Body>
>>>      </S:Envelope>
>>>
>>> Then the result is empty.
>>>
>>>
>>> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
>>>   <soap:Body>
>>>      <ns2:bindingDetail xmlns:ns11="urn:uddi-org:vs_v3"
>>> xmlns:ns10="urn:uddi-org:policy_v3_instanceParms"
>>> xmlns:ns9="urn:uddi-org:custody_v3" xmlns:ns8="urn:uddi-org:repl_v3"
>>> xmlns:ns7="urn:uddi-org:subr_v3" xmlns:ns6="urn:uddi-org:sub_v3"
>>> xmlns:ns5="urn:uddi-org:vscache_v3" xmlns:ns4="urn:uddi-org:policy_v3"
>>> xmlns:ns3="http://www.w3.org/2000/09/xmldsig#"
>>> xmlns:ns2="urn:uddi-org:api_v3">
>>>         <ns2:listDescription>
>>>            <ns2:includeCount>0</ns2:includeCount>
>>>            <ns2:actualCount>0</ns2:actualCount>
>>>            <ns2:listHead>0</ns2:listHead>
>>>         </ns2:listDescription>
>>>      </ns2:bindingDetail>
>>>   </soap:Body></soap:Envelope>
>>>
>>> What am I missing on this?
>>>
>>>
>>>
>>> On Tue, Oct 4, 2011 at 7:46 AM, Kurt T Stam<ku...@gmail.com>  wrote:
>>>>
>>>> Hi Sean,
>>>>
>>>> If I save my service using:
>>>>
>>>> <soapenv:Envelope
>>>> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
>>>> xmlns:urn="urn:uddi-org:api_v3"
>>>> xmlns:xd="http://www.w3.org/2000/09/xmldsig#">
>>>> <soapenv:Header/>
>>>> <soapenv:Body>
>>>> <urn:save_service>
>>>> <!--Optional:-->
>>>>
>>>> <urn:authInfo>authtoken:baa5843e-5c44-4d96-ac91-8a6f5c72a767</urn:authInfo>
>>>> <!--1 or more repetitions:-->
>>>> <urn:businessService serviceKey="uddi:juddi.apache.org:service1"
>>>> businessKey="uddi:juddi.apache.org:businesses-asf">
>>>> <!--Zero or more repetitions:-->
>>>> <urn:name xml:lang="en">service1</urn:name>
>>>> <!--Zero or more repetitions:-->
>>>> <urn:description xml:lang="en">description of service1</urn:description>
>>>> <!--Optional:-->
>>>> <urn:bindingTemplates>
>>>> <!--1 or more repetitions:-->
>>>> <urn:bindingTemplate bindingKey="uddi:juddi.apache.org:binding1"
>>>> serviceKey="uddi:juddi.apache.org:service1">
>>>> <!--Zero or more repetitions:-->
>>>> <urn:description xml:lang="en">description of binding1</urn:description>
>>>> <!--Optional:-->
>>>> <urn:accessPoint
>>>>
>>>> useType="wsdlDeployment">http://127.0.0.1:33010/axis/SnipSnipWebService</urn:accessPoint>
>>>>
>>>> <urn:categoryBag>
>>>> <!--Zero or more repetitions:-->
>>>> <urn:keyedReference tModelKey="uddi:uddi.org:categorization:types"
>>>> keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
>>>>
>>>> </urn:categoryBag>
>>>>
>>>> </urn:bindingTemplate>
>>>> </urn:bindingTemplates>
>>>>
>>>> </urn:businessService>
>>>> </urn:save_service>
>>>> </soapenv:Body>
>>>> </soapenv:Envelope>
>>>>
>>>> Then you can find enpoints that reference 'wsdlDeployment' like so
>>>>
>>>> <soapenv:Envelope
>>>> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
>>>> xmlns:urn="urn:uddi-org:api_v3">
>>>> <soapenv:Header/>
>>>> <soapenv:Body>
>>>> <urn:find_binding>
>>>> <urn:categoryBag>
>>>> <urn:keyedReference tModelKey="uddi:uddi.org:categorization:types"
>>>>         keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
>>>> </urn:categoryBag>
>>>> </urn:find_binding>
>>>> </soapenv:Body>
>>>> </soapenv:Envelope>
>>>>
>>>> which gives me
>>>>
>>>> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
>>>> <soap:Body>
>>>> <ns2:bindingDetail xmlns:ns11="urn:uddi-org:vs_v3"
>>>> xmlns:ns10="urn:uddi-org:policy_v3_instanceParms"
>>>> xmlns:ns9="urn:uddi-org:policy_v3" xmlns:ns8="urn:uddi-org:vscache_v3"
>>>> xmlns:ns7="urn:uddi-org:subr_v3" xmlns:ns6="urn:uddi-org:sub_v3"
>>>> xmlns:ns5="urn:uddi-org:custody_v3" xmlns:ns4="urn:uddi-org:repl_v3"
>>>> xmlns:ns3="http://www.w3.org/2000/09/xmldsig#"
>>>> xmlns:ns2="urn:uddi-org:api_v3">
>>>> <ns2:listDescription>
>>>> <ns2:includeCount>8</ns2:includeCount>
>>>> <ns2:actualCount>8</ns2:actualCount>
>>>> <ns2:listHead>1</ns2:listHead>
>>>> </ns2:listDescription>
>>>> <ns2:bindingTemplate bindingKey="uddi:juddi.apache.org:binding1"
>>>> serviceKey="uddi:juddi.apache.org:service1">
>>>> <ns2:description xml:lang="en">description of binding1</ns2:description>
>>>> <ns2:accessPoint
>>>>
>>>> useType="wsdlDeployment">http://127.0.0.1:33010/axis/SnipSnipWebService</ns2:accessPoint>
>>>> <ns2:categoryBag>
>>>> <ns2:keyedReference tModelKey="uddi:uddi.org:categorization:types"
>>>> keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
>>>> </ns2:categoryBag>
>>>> </ns2:bindingTemplate>
>>>> <ns2:bindingTemplate
>>>> bindingKey="uddi:juddi.apache.org:servicebindings-publisher-ws"
>>>> serviceKey="uddi:juddi.apache.org:services-publisher">
>>>> <ns2:description>jUDDI Publisher Service API V3</ns2:description>
>>>> <ns2:accessPoint
>>>>
>>>> useType="wsdlDeployment">http://localhost:8080/juddiv3//services/publisher?wsdl</ns2:accessPoint>
>>>> <ns2:categoryBag>
>>>> <ns2:keyedReference tModelKey="uddi:uddi.org:categorization:types"
>>>> keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
>>>> </ns2:categoryBag>
>>>> </ns2:bindingTemplate>
>>>> <ns2:bindingTemplate
>>>>
>>>> bindingKey="uddi:juddi.apache.org:servicebindings-subscriptionlistener-ws"
>>>> serviceKey="uddi:juddi.apache.org:services-subscriptionlistener">
>>>> <ns2:description>UDDI Subscription Listener API V3</ns2:description>
>>>> <ns2:accessPoint
>>>>
>>>> useType="wsdlDeployment">http://localhost:8080/juddiv3//services/subscription-listener?wsdl</ns2:accessPoint>
>>>> <ns2:tModelInstanceDetails>
>>>> <ns2:tModelInstanceInfo
>>>> tModelKey="uddi:uddi.org:v3_subscriptionlistener"/>
>>>> </ns2:tModelInstanceDetails>
>>>> <ns2:categoryBag>
>>>> <ns2:keyedReference tModelKey="uddi:uddi.org:categorization:types"
>>>> keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
>>>> </ns2:categoryBag>
>>>> </ns2:bindingTemplate>
>>>> <ns2:bindingTemplate
>>>> bindingKey="uddi:juddi.apache.org:servicebindings-subscription-ws"
>>>> serviceKey="uddi:juddi.apache.org:services-subscription">
>>>> <ns2:description>UDDI Subscription API V3</ns2:description>
>>>> <ns2:accessPoint
>>>>
>>>> useType="wsdlDeployment">http://localhost:8080/juddiv3//services/subscription?wsdl</ns2:accessPoint>
>>>> <ns2:tModelInstanceDetails>
>>>> <ns2:tModelInstanceInfo tModelKey="uddi:uddi.org:v3_subscription">
>>>> <ns2:instanceDetails>
>>>> <ns2:instanceParms><![CDATA[<?xml version="1.0" encoding="utf-8" ?>
>>>> <UDDIinstanceParmsContainer
>>>>                xmlns="urn:uddi-org:policy_v3_instanceParms">
>>>> <authInfoUse>required</authInfoUse>
>>>> <filterUsingFindAPI>supported</filterUsingFindAPI>
>>>> </UDDIinstanceParmsContainer>]]></ns2:instanceParms>
>>>> </ns2:instanceDetails>
>>>> </ns2:tModelInstanceInfo>
>>>> </ns2:tModelInstanceDetails>
>>>> <ns2:categoryBag>
>>>> <ns2:keyedReference tModelKey="uddi:uddi.org:categorization:types"
>>>> keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
>>>> </ns2:categoryBag>
>>>> </ns2:bindingTemplate>
>>>> <ns2:bindingTemplate
>>>> bindingKey="uddi:juddi.apache.org:servicebindings-custodytransfer-ws"
>>>> serviceKey="uddi:juddi.apache.org:services-custodytransfer">
>>>> <ns2:description>UDDI Custody and Ownership Transfer API
>>>> V3</ns2:description>
>>>> <ns2:accessPoint
>>>>
>>>> useType="wsdlDeployment">http://localhost:8080/juddiv3//services/custody-transfer?wsdl</ns2:accessPoint>
>>>> <ns2:tModelInstanceDetails>
>>>> <ns2:tModelInstanceInfo tModelKey="uddi:uddi.org:v3_ownership_transfer">
>>>> <ns2:instanceDetails>
>>>> <ns2:instanceParms>&lt;?xml version="1.0" encoding="utf-8" ?>
>>>> &lt;UDDIinstanceParmsContainer
>>>>                 xmlns="urn:uddi-org:policy_v3_instanceParms">
>>>> &lt;authInfoUse>required&lt;/authInfoUse>
>>>> &lt;/UDDIinstanceParmsContainer></ns2:instanceParms>
>>>> </ns2:instanceDetails>
>>>> </ns2:tModelInstanceInfo>
>>>> </ns2:tModelInstanceDetails>
>>>> <ns2:categoryBag>
>>>> <ns2:keyedReference tModelKey="uddi:uddi.org:categorization:types"
>>>> keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
>>>> </ns2:categoryBag>
>>>> </ns2:bindingTemplate>
>>>> <ns2:bindingTemplate
>>>> bindingKey="uddi:juddi.apache.org:servicebindings-security-ws"
>>>> serviceKey="uddi:juddi.apache.org:services-security">
>>>> <ns2:description>UDDI Security API V3</ns2:description>
>>>> <ns2:accessPoint
>>>>
>>>> useType="wsdlDeployment">http://localhost:8080/juddiv3//services/security?wsdl</ns2:accessPoint>
>>>> <ns2:tModelInstanceDetails>
>>>> <ns2:tModelInstanceInfo tModelKey="uddi:uddi.org:v3_security"/>
>>>> </ns2:tModelInstanceDetails>
>>>> <ns2:categoryBag>
>>>> <ns2:keyedReference tModelKey="uddi:uddi.org:categorization:types"
>>>> keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
>>>> </ns2:categoryBag>
>>>> </ns2:bindingTemplate>
>>>> <ns2:bindingTemplate
>>>> bindingKey="uddi:juddi.apache.org:servicebindings-publish-ws"
>>>> serviceKey="uddi:juddi.apache.org:services-publish">
>>>> <ns2:description>UDDI Publication API V3</ns2:description>
>>>> <ns2:accessPoint
>>>>
>>>> useType="wsdlDeployment">http://localhost:8080/juddiv3//services/publish?wsdl</ns2:accessPoint>
>>>> <ns2:tModelInstanceDetails>
>>>> <ns2:tModelInstanceInfo tModelKey="uddi:uddi.org:v3_publication">
>>>> <ns2:instanceDetails>
>>>> <ns2:instanceParms>&lt;?xml version="1.0" encoding="utf-8" ?>
>>>> &lt;UDDIinstanceParmsContainer
>>>> xmlns="urn:uddi-org:policy_v3_instanceParms">
>>>> &lt;authInfoUse>required&lt;/authInfoUse>
>>>> &lt;/UDDIinstanceParmsContainer></ns2:instanceParms>
>>>> </ns2:instanceDetails>
>>>> </ns2:tModelInstanceInfo>
>>>> </ns2:tModelInstanceDetails>
>>>> <ns2:categoryBag>
>>>> <ns2:keyedReference tModelKey="uddi:uddi.org:categorization:types"
>>>> keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
>>>> </ns2:categoryBag>
>>>> </ns2:bindingTemplate>
>>>> <ns2:bindingTemplate
>>>> bindingKey="uddi:juddi.apache.org:servicebindings-inquiry-ws"
>>>> serviceKey="uddi:juddi.apache.org:services-inquiry">
>>>> <ns2:description>UDDI Inquiry API V3</ns2:description>
>>>> <ns2:accessPoint
>>>>
>>>> useType="wsdlDeployment">http://localhost:8080/juddiv3//services/inquiry?wsdl</ns2:accessPoint>
>>>> <ns2:tModelInstanceDetails>
>>>> <ns2:tModelInstanceInfo tModelKey="uddi:uddi.org:v3_inquiry">
>>>> <ns2:instanceDetails>
>>>> <ns2:instanceParms>&lt;?xml version="1.0" encoding="utf-8" ?>
>>>> &lt;UDDIinstanceParmsContainer
>>>> xmlns="urn:uddi-org:policy_v3_instanceParms">
>>>> &lt;defaultSortOrder>
>>>>                      uddi:uddi.org:sortorder:binarysort
>>>> &lt;/defaultSortOrder>
>>>> &lt;/UDDIinstanceParmsContainer></ns2:instanceParms>
>>>> </ns2:instanceDetails>
>>>> </ns2:tModelInstanceInfo>
>>>> </ns2:tModelInstanceDetails>
>>>> <ns2:categoryBag>
>>>> <ns2:keyedReference tModelKey="uddi:uddi.org:categorization:types"
>>>> keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
>>>> </ns2:categoryBag>
>>>> </ns2:bindingTemplate>
>>>> </ns2:bindingDetail>
>>>> </soap:Body>
>>>> </soap:Envelope>
>>>>
>>>> See also:
>>>>
>>>> http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v202-20040631.htm#_Toc76437781
>>>>
>>>> Maybe this will get you going?
>>>>
>>>> -Kurt
>>>>
>>>> On 10/3/11 5:42 PM, S K wrote:
>>>>>
>>>>> 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<ku...@gmail.com>
>>>>>  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<ku...@gmail.com>
>>>>>>>  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();
>>>>>>>>>                }
>>>>>>>>>        }
>>>>
>
>

Re: org.apache.juddi.query.util.FindQualifiers

Posted by Kurt T Stam <ku...@gmail.com>.
Hi Sean,

Does this TModel exist in your registry?

<ns2:keyedReference keyValue="FUBAR Enterprise
Service Layer" keyName="Some Kind Of Common"
tModelKey="uddi:metadata.sk92129.org:FUBAR:Ent:tModels:1.1:serviceLayer"/>

The snippet above is a reference to it, not the actual TModel.

--Kurt




On 10/5/11 3:30 PM, S K wrote:
> Any ideas about this?   I am holding back the urge to debug the
> database or query code...
>
>
>
> On Tue, Oct 4, 2011 at 5:11 PM, S K<sk...@gmail.com>  wrote:
>> Hi Kurt,
>>
>> Thank you for your help.
>>
>> Using the example...
>>
>> I cannot create the service unless I remove the attributes from the
>> save_service's bindingTemplate.
>>
>>> <urn:bindingTemplate bindingKey="uddi:juddi.apache.org:binding1"
>>> serviceKey="uddi:juddi.apache.org:service1">
>> So I changed this to:
>> <urn:bindingTemplate>
>>
>>
>> After I removed these attributes, I was able to successfully send this
>> soap request via soapui and have the service created.
>>
>> Then the find_bindings works as you prescribed in the prior email.
>>
>> When I wrote the java client side code to search using this particular
>> find_binding, it works fine.
>>
>> However, I wrote an add on junit test that looks for other services
>> that we preload via the
>> juddi-portal-bundle-3.1.0\webapps\juddiv3\WEB-INF\classes\juddi_custom_install_data
>>
>> For example one of the services that I pre-load looks similar to below....
>>
>>
>>
>>   <businessService serviceKey="uddi:sk92129.net:state-service"
>> businessKey="uddi:sk92129.net:business-entity">
>>       <name xml:lang="en">State Service</name>
>>       <description xml:lang="en">A Web Service supporting state
>> requests.</description>
>>       <bindingTemplates>
>>         <bindingTemplate
>> bindingKey="uddi:sk92129.net:state-service-ws"
>> serviceKey="uddi:sk92129.net:state-service">
>>           <description>This capability snip snip</description>
>>           <accessPoint
>> useType="wsdlDeployment">http://127.127.1.1:9999/axis/StateWebService</accessPoint>
>>           <!--tModelInstanceDetails>
>>             <tModelInstanceInfo tModelKey="" />
>>           </tModelInstanceDetails-->
>>           <categoryBag>
>>             <keyedReference keyName="uddi-org:types:wsdl"
>> keyValue="wsdlDeployment"
>> tModelKey="uddi:uddi.org:categorization:types"/>
>>             <keyedReference keyName="FUBAR Enterprise Service Layer"
>> keyValue="Some Kind Of Common"
>> tModelKey="uddi:metadata.sk92129.org:FUBAR:Ent:tModels:1.1:serviceLayer"/>
>>             <!-- THERE ARE MORE BUT I SNIPPED THEM -->
>>           </categoryBag>
>>         </bindingTemplate>
>>       </bindingTemplates>
>>     </businessService>
>>
>>
>> If I invoke the find_binding on the other tmodel entry in this
>> categoryBag above.
>>
>>   <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
>>          <S:Body>
>>             <ns2:find_binding 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:499f7491-bf1a-472b-9a4c-97b6180374d7</ns2:authInfo>
>>                <ns2:categoryBag>
>>                   <ns2:keyedReference keyValue="FUBAR Enterprise
>> Service Layer" keyName="Some Kind Of Common"
>> tModelKey="uddi:metadata.sk92129.org:FUBAR:Ent:tModels:1.1:serviceLayer"/>
>>                </ns2:categoryBag>
>>             </ns2:find_binding>
>>          </S:Body>
>>       </S:Envelope>
>>
>> Then the result is empty.
>>
>>
>> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
>>    <soap:Body>
>>       <ns2:bindingDetail xmlns:ns11="urn:uddi-org:vs_v3"
>> xmlns:ns10="urn:uddi-org:policy_v3_instanceParms"
>> xmlns:ns9="urn:uddi-org:custody_v3" xmlns:ns8="urn:uddi-org:repl_v3"
>> xmlns:ns7="urn:uddi-org:subr_v3" xmlns:ns6="urn:uddi-org:sub_v3"
>> xmlns:ns5="urn:uddi-org:vscache_v3" xmlns:ns4="urn:uddi-org:policy_v3"
>> xmlns:ns3="http://www.w3.org/2000/09/xmldsig#"
>> xmlns:ns2="urn:uddi-org:api_v3">
>>          <ns2:listDescription>
>>             <ns2:includeCount>0</ns2:includeCount>
>>             <ns2:actualCount>0</ns2:actualCount>
>>             <ns2:listHead>0</ns2:listHead>
>>          </ns2:listDescription>
>>       </ns2:bindingDetail>
>>    </soap:Body></soap:Envelope>
>>
>> What am I missing on this?
>>
>>
>>
>> On Tue, Oct 4, 2011 at 7:46 AM, Kurt T Stam<ku...@gmail.com>  wrote:
>>> Hi Sean,
>>>
>>> If I save my service using:
>>>
>>> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
>>> xmlns:urn="urn:uddi-org:api_v3"
>>> xmlns:xd="http://www.w3.org/2000/09/xmldsig#">
>>> <soapenv:Header/>
>>> <soapenv:Body>
>>> <urn:save_service>
>>> <!--Optional:-->
>>> <urn:authInfo>authtoken:baa5843e-5c44-4d96-ac91-8a6f5c72a767</urn:authInfo>
>>> <!--1 or more repetitions:-->
>>> <urn:businessService serviceKey="uddi:juddi.apache.org:service1"
>>> businessKey="uddi:juddi.apache.org:businesses-asf">
>>> <!--Zero or more repetitions:-->
>>> <urn:name xml:lang="en">service1</urn:name>
>>> <!--Zero or more repetitions:-->
>>> <urn:description xml:lang="en">description of service1</urn:description>
>>> <!--Optional:-->
>>> <urn:bindingTemplates>
>>> <!--1 or more repetitions:-->
>>> <urn:bindingTemplate bindingKey="uddi:juddi.apache.org:binding1"
>>> serviceKey="uddi:juddi.apache.org:service1">
>>> <!--Zero or more repetitions:-->
>>> <urn:description xml:lang="en">description of binding1</urn:description>
>>> <!--Optional:-->
>>> <urn:accessPoint
>>> useType="wsdlDeployment">http://127.0.0.1:33010/axis/SnipSnipWebService</urn:accessPoint>
>>>
>>> <urn:categoryBag>
>>> <!--Zero or more repetitions:-->
>>> <urn:keyedReference tModelKey="uddi:uddi.org:categorization:types"
>>> keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
>>>
>>> </urn:categoryBag>
>>>
>>> </urn:bindingTemplate>
>>> </urn:bindingTemplates>
>>>
>>> </urn:businessService>
>>> </urn:save_service>
>>> </soapenv:Body>
>>> </soapenv:Envelope>
>>>
>>> Then you can find enpoints that reference 'wsdlDeployment' like so
>>>
>>> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
>>> xmlns:urn="urn:uddi-org:api_v3">
>>> <soapenv:Header/>
>>> <soapenv:Body>
>>> <urn:find_binding>
>>> <urn:categoryBag>
>>> <urn:keyedReference tModelKey="uddi:uddi.org:categorization:types"
>>>          keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
>>> </urn:categoryBag>
>>> </urn:find_binding>
>>> </soapenv:Body>
>>> </soapenv:Envelope>
>>>
>>> which gives me
>>>
>>> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
>>> <soap:Body>
>>> <ns2:bindingDetail xmlns:ns11="urn:uddi-org:vs_v3"
>>> xmlns:ns10="urn:uddi-org:policy_v3_instanceParms"
>>> xmlns:ns9="urn:uddi-org:policy_v3" xmlns:ns8="urn:uddi-org:vscache_v3"
>>> xmlns:ns7="urn:uddi-org:subr_v3" xmlns:ns6="urn:uddi-org:sub_v3"
>>> xmlns:ns5="urn:uddi-org:custody_v3" xmlns:ns4="urn:uddi-org:repl_v3"
>>> xmlns:ns3="http://www.w3.org/2000/09/xmldsig#"
>>> xmlns:ns2="urn:uddi-org:api_v3">
>>> <ns2:listDescription>
>>> <ns2:includeCount>8</ns2:includeCount>
>>> <ns2:actualCount>8</ns2:actualCount>
>>> <ns2:listHead>1</ns2:listHead>
>>> </ns2:listDescription>
>>> <ns2:bindingTemplate bindingKey="uddi:juddi.apache.org:binding1"
>>> serviceKey="uddi:juddi.apache.org:service1">
>>> <ns2:description xml:lang="en">description of binding1</ns2:description>
>>> <ns2:accessPoint
>>> useType="wsdlDeployment">http://127.0.0.1:33010/axis/SnipSnipWebService</ns2:accessPoint>
>>> <ns2:categoryBag>
>>> <ns2:keyedReference tModelKey="uddi:uddi.org:categorization:types"
>>> keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
>>> </ns2:categoryBag>
>>> </ns2:bindingTemplate>
>>> <ns2:bindingTemplate
>>> bindingKey="uddi:juddi.apache.org:servicebindings-publisher-ws"
>>> serviceKey="uddi:juddi.apache.org:services-publisher">
>>> <ns2:description>jUDDI Publisher Service API V3</ns2:description>
>>> <ns2:accessPoint
>>> useType="wsdlDeployment">http://localhost:8080/juddiv3//services/publisher?wsdl</ns2:accessPoint>
>>> <ns2:categoryBag>
>>> <ns2:keyedReference tModelKey="uddi:uddi.org:categorization:types"
>>> keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
>>> </ns2:categoryBag>
>>> </ns2:bindingTemplate>
>>> <ns2:bindingTemplate
>>> bindingKey="uddi:juddi.apache.org:servicebindings-subscriptionlistener-ws"
>>> serviceKey="uddi:juddi.apache.org:services-subscriptionlistener">
>>> <ns2:description>UDDI Subscription Listener API V3</ns2:description>
>>> <ns2:accessPoint
>>> useType="wsdlDeployment">http://localhost:8080/juddiv3//services/subscription-listener?wsdl</ns2:accessPoint>
>>> <ns2:tModelInstanceDetails>
>>> <ns2:tModelInstanceInfo tModelKey="uddi:uddi.org:v3_subscriptionlistener"/>
>>> </ns2:tModelInstanceDetails>
>>> <ns2:categoryBag>
>>> <ns2:keyedReference tModelKey="uddi:uddi.org:categorization:types"
>>> keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
>>> </ns2:categoryBag>
>>> </ns2:bindingTemplate>
>>> <ns2:bindingTemplate
>>> bindingKey="uddi:juddi.apache.org:servicebindings-subscription-ws"
>>> serviceKey="uddi:juddi.apache.org:services-subscription">
>>> <ns2:description>UDDI Subscription API V3</ns2:description>
>>> <ns2:accessPoint
>>> useType="wsdlDeployment">http://localhost:8080/juddiv3//services/subscription?wsdl</ns2:accessPoint>
>>> <ns2:tModelInstanceDetails>
>>> <ns2:tModelInstanceInfo tModelKey="uddi:uddi.org:v3_subscription">
>>> <ns2:instanceDetails>
>>> <ns2:instanceParms><![CDATA[<?xml version="1.0" encoding="utf-8" ?>
>>> <UDDIinstanceParmsContainer
>>>                 xmlns="urn:uddi-org:policy_v3_instanceParms">
>>> <authInfoUse>required</authInfoUse>
>>> <filterUsingFindAPI>supported</filterUsingFindAPI>
>>> </UDDIinstanceParmsContainer>]]></ns2:instanceParms>
>>> </ns2:instanceDetails>
>>> </ns2:tModelInstanceInfo>
>>> </ns2:tModelInstanceDetails>
>>> <ns2:categoryBag>
>>> <ns2:keyedReference tModelKey="uddi:uddi.org:categorization:types"
>>> keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
>>> </ns2:categoryBag>
>>> </ns2:bindingTemplate>
>>> <ns2:bindingTemplate
>>> bindingKey="uddi:juddi.apache.org:servicebindings-custodytransfer-ws"
>>> serviceKey="uddi:juddi.apache.org:services-custodytransfer">
>>> <ns2:description>UDDI Custody and Ownership Transfer API
>>> V3</ns2:description>
>>> <ns2:accessPoint
>>> useType="wsdlDeployment">http://localhost:8080/juddiv3//services/custody-transfer?wsdl</ns2:accessPoint>
>>> <ns2:tModelInstanceDetails>
>>> <ns2:tModelInstanceInfo tModelKey="uddi:uddi.org:v3_ownership_transfer">
>>> <ns2:instanceDetails>
>>> <ns2:instanceParms>&lt;?xml version="1.0" encoding="utf-8" ?>
>>> &lt;UDDIinstanceParmsContainer
>>>                  xmlns="urn:uddi-org:policy_v3_instanceParms">
>>> &lt;authInfoUse>required&lt;/authInfoUse>
>>> &lt;/UDDIinstanceParmsContainer></ns2:instanceParms>
>>> </ns2:instanceDetails>
>>> </ns2:tModelInstanceInfo>
>>> </ns2:tModelInstanceDetails>
>>> <ns2:categoryBag>
>>> <ns2:keyedReference tModelKey="uddi:uddi.org:categorization:types"
>>> keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
>>> </ns2:categoryBag>
>>> </ns2:bindingTemplate>
>>> <ns2:bindingTemplate
>>> bindingKey="uddi:juddi.apache.org:servicebindings-security-ws"
>>> serviceKey="uddi:juddi.apache.org:services-security">
>>> <ns2:description>UDDI Security API V3</ns2:description>
>>> <ns2:accessPoint
>>> useType="wsdlDeployment">http://localhost:8080/juddiv3//services/security?wsdl</ns2:accessPoint>
>>> <ns2:tModelInstanceDetails>
>>> <ns2:tModelInstanceInfo tModelKey="uddi:uddi.org:v3_security"/>
>>> </ns2:tModelInstanceDetails>
>>> <ns2:categoryBag>
>>> <ns2:keyedReference tModelKey="uddi:uddi.org:categorization:types"
>>> keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
>>> </ns2:categoryBag>
>>> </ns2:bindingTemplate>
>>> <ns2:bindingTemplate
>>> bindingKey="uddi:juddi.apache.org:servicebindings-publish-ws"
>>> serviceKey="uddi:juddi.apache.org:services-publish">
>>> <ns2:description>UDDI Publication API V3</ns2:description>
>>> <ns2:accessPoint
>>> useType="wsdlDeployment">http://localhost:8080/juddiv3//services/publish?wsdl</ns2:accessPoint>
>>> <ns2:tModelInstanceDetails>
>>> <ns2:tModelInstanceInfo tModelKey="uddi:uddi.org:v3_publication">
>>> <ns2:instanceDetails>
>>> <ns2:instanceParms>&lt;?xml version="1.0" encoding="utf-8" ?>
>>> &lt;UDDIinstanceParmsContainer xmlns="urn:uddi-org:policy_v3_instanceParms">
>>> &lt;authInfoUse>required&lt;/authInfoUse>
>>> &lt;/UDDIinstanceParmsContainer></ns2:instanceParms>
>>> </ns2:instanceDetails>
>>> </ns2:tModelInstanceInfo>
>>> </ns2:tModelInstanceDetails>
>>> <ns2:categoryBag>
>>> <ns2:keyedReference tModelKey="uddi:uddi.org:categorization:types"
>>> keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
>>> </ns2:categoryBag>
>>> </ns2:bindingTemplate>
>>> <ns2:bindingTemplate
>>> bindingKey="uddi:juddi.apache.org:servicebindings-inquiry-ws"
>>> serviceKey="uddi:juddi.apache.org:services-inquiry">
>>> <ns2:description>UDDI Inquiry API V3</ns2:description>
>>> <ns2:accessPoint
>>> useType="wsdlDeployment">http://localhost:8080/juddiv3//services/inquiry?wsdl</ns2:accessPoint>
>>> <ns2:tModelInstanceDetails>
>>> <ns2:tModelInstanceInfo tModelKey="uddi:uddi.org:v3_inquiry">
>>> <ns2:instanceDetails>
>>> <ns2:instanceParms>&lt;?xml version="1.0" encoding="utf-8" ?>
>>> &lt;UDDIinstanceParmsContainer xmlns="urn:uddi-org:policy_v3_instanceParms">
>>> &lt;defaultSortOrder>
>>>                       uddi:uddi.org:sortorder:binarysort
>>> &lt;/defaultSortOrder>
>>> &lt;/UDDIinstanceParmsContainer></ns2:instanceParms>
>>> </ns2:instanceDetails>
>>> </ns2:tModelInstanceInfo>
>>> </ns2:tModelInstanceDetails>
>>> <ns2:categoryBag>
>>> <ns2:keyedReference tModelKey="uddi:uddi.org:categorization:types"
>>> keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
>>> </ns2:categoryBag>
>>> </ns2:bindingTemplate>
>>> </ns2:bindingDetail>
>>> </soap:Body>
>>> </soap:Envelope>
>>>
>>> See also:
>>> http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v202-20040631.htm#_Toc76437781
>>>
>>> Maybe this will get you going?
>>>
>>> -Kurt
>>>
>>> On 10/3/11 5:42 PM, S K wrote:
>>>> 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<ku...@gmail.com>    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<ku...@gmail.com>
>>>>>>   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();
>>>>>>>>                 }
>>>>>>>>         }
>>>


Re: org.apache.juddi.query.util.FindQualifiers

Posted by Kurt T Stam <ku...@gmail.com>.
Why hold back? That's power of open source :)! --K

On 10/5/11 3:30 PM, S K wrote:
> Any ideas about this?   I am holding back the urge to debug the
> database or query code...
>
>
>
> On Tue, Oct 4, 2011 at 5:11 PM, S K<sk...@gmail.com>  wrote:
>> Hi Kurt,
>>
>> Thank you for your help.
>>
>> Using the example...
>>
>> I cannot create the service unless I remove the attributes from the
>> save_service's bindingTemplate.
>>
>>> <urn:bindingTemplate bindingKey="uddi:juddi.apache.org:binding1"
>>> serviceKey="uddi:juddi.apache.org:service1">
>> So I changed this to:
>> <urn:bindingTemplate>
>>
>>
>> After I removed these attributes, I was able to successfully send this
>> soap request via soapui and have the service created.
>>
>> Then the find_bindings works as you prescribed in the prior email.
>>
>> When I wrote the java client side code to search using this particular
>> find_binding, it works fine.
>>
>> However, I wrote an add on junit test that looks for other services
>> that we preload via the
>> juddi-portal-bundle-3.1.0\webapps\juddiv3\WEB-INF\classes\juddi_custom_install_data
>>
>> For example one of the services that I pre-load looks similar to below....
>>
>>
>>
>>   <businessService serviceKey="uddi:sk92129.net:state-service"
>> businessKey="uddi:sk92129.net:business-entity">
>>       <name xml:lang="en">State Service</name>
>>       <description xml:lang="en">A Web Service supporting state
>> requests.</description>
>>       <bindingTemplates>
>>         <bindingTemplate
>> bindingKey="uddi:sk92129.net:state-service-ws"
>> serviceKey="uddi:sk92129.net:state-service">
>>           <description>This capability snip snip</description>
>>           <accessPoint
>> useType="wsdlDeployment">http://127.127.1.1:9999/axis/StateWebService</accessPoint>
>>           <!--tModelInstanceDetails>
>>             <tModelInstanceInfo tModelKey="" />
>>           </tModelInstanceDetails-->
>>           <categoryBag>
>>             <keyedReference keyName="uddi-org:types:wsdl"
>> keyValue="wsdlDeployment"
>> tModelKey="uddi:uddi.org:categorization:types"/>
>>             <keyedReference keyName="FUBAR Enterprise Service Layer"
>> keyValue="Some Kind Of Common"
>> tModelKey="uddi:metadata.sk92129.org:FUBAR:Ent:tModels:1.1:serviceLayer"/>
>>             <!-- THERE ARE MORE BUT I SNIPPED THEM -->
>>           </categoryBag>
>>         </bindingTemplate>
>>       </bindingTemplates>
>>     </businessService>
>>
>>
>> If I invoke the find_binding on the other tmodel entry in this
>> categoryBag above.
>>
>>   <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
>>          <S:Body>
>>             <ns2:find_binding 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:499f7491-bf1a-472b-9a4c-97b6180374d7</ns2:authInfo>
>>                <ns2:categoryBag>
>>                   <ns2:keyedReference keyValue="FUBAR Enterprise
>> Service Layer" keyName="Some Kind Of Common"
>> tModelKey="uddi:metadata.sk92129.org:FUBAR:Ent:tModels:1.1:serviceLayer"/>
>>                </ns2:categoryBag>
>>             </ns2:find_binding>
>>          </S:Body>
>>       </S:Envelope>
>>
>> Then the result is empty.
>>
>>
>> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
>>    <soap:Body>
>>       <ns2:bindingDetail xmlns:ns11="urn:uddi-org:vs_v3"
>> xmlns:ns10="urn:uddi-org:policy_v3_instanceParms"
>> xmlns:ns9="urn:uddi-org:custody_v3" xmlns:ns8="urn:uddi-org:repl_v3"
>> xmlns:ns7="urn:uddi-org:subr_v3" xmlns:ns6="urn:uddi-org:sub_v3"
>> xmlns:ns5="urn:uddi-org:vscache_v3" xmlns:ns4="urn:uddi-org:policy_v3"
>> xmlns:ns3="http://www.w3.org/2000/09/xmldsig#"
>> xmlns:ns2="urn:uddi-org:api_v3">
>>          <ns2:listDescription>
>>             <ns2:includeCount>0</ns2:includeCount>
>>             <ns2:actualCount>0</ns2:actualCount>
>>             <ns2:listHead>0</ns2:listHead>
>>          </ns2:listDescription>
>>       </ns2:bindingDetail>
>>    </soap:Body></soap:Envelope>
>>
>> What am I missing on this?
>>
>>
>>
>> On Tue, Oct 4, 2011 at 7:46 AM, Kurt T Stam<ku...@gmail.com>  wrote:
>>> Hi Sean,
>>>
>>> If I save my service using:
>>>
>>> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
>>> xmlns:urn="urn:uddi-org:api_v3"
>>> xmlns:xd="http://www.w3.org/2000/09/xmldsig#">
>>> <soapenv:Header/>
>>> <soapenv:Body>
>>> <urn:save_service>
>>> <!--Optional:-->
>>> <urn:authInfo>authtoken:baa5843e-5c44-4d96-ac91-8a6f5c72a767</urn:authInfo>
>>> <!--1 or more repetitions:-->
>>> <urn:businessService serviceKey="uddi:juddi.apache.org:service1"
>>> businessKey="uddi:juddi.apache.org:businesses-asf">
>>> <!--Zero or more repetitions:-->
>>> <urn:name xml:lang="en">service1</urn:name>
>>> <!--Zero or more repetitions:-->
>>> <urn:description xml:lang="en">description of service1</urn:description>
>>> <!--Optional:-->
>>> <urn:bindingTemplates>
>>> <!--1 or more repetitions:-->
>>> <urn:bindingTemplate bindingKey="uddi:juddi.apache.org:binding1"
>>> serviceKey="uddi:juddi.apache.org:service1">
>>> <!--Zero or more repetitions:-->
>>> <urn:description xml:lang="en">description of binding1</urn:description>
>>> <!--Optional:-->
>>> <urn:accessPoint
>>> useType="wsdlDeployment">http://127.0.0.1:33010/axis/SnipSnipWebService</urn:accessPoint>
>>>
>>> <urn:categoryBag>
>>> <!--Zero or more repetitions:-->
>>> <urn:keyedReference tModelKey="uddi:uddi.org:categorization:types"
>>> keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
>>>
>>> </urn:categoryBag>
>>>
>>> </urn:bindingTemplate>
>>> </urn:bindingTemplates>
>>>
>>> </urn:businessService>
>>> </urn:save_service>
>>> </soapenv:Body>
>>> </soapenv:Envelope>
>>>
>>> Then you can find enpoints that reference 'wsdlDeployment' like so
>>>
>>> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
>>> xmlns:urn="urn:uddi-org:api_v3">
>>> <soapenv:Header/>
>>> <soapenv:Body>
>>> <urn:find_binding>
>>> <urn:categoryBag>
>>> <urn:keyedReference tModelKey="uddi:uddi.org:categorization:types"
>>>          keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
>>> </urn:categoryBag>
>>> </urn:find_binding>
>>> </soapenv:Body>
>>> </soapenv:Envelope>
>>>
>>> which gives me
>>>
>>> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
>>> <soap:Body>
>>> <ns2:bindingDetail xmlns:ns11="urn:uddi-org:vs_v3"
>>> xmlns:ns10="urn:uddi-org:policy_v3_instanceParms"
>>> xmlns:ns9="urn:uddi-org:policy_v3" xmlns:ns8="urn:uddi-org:vscache_v3"
>>> xmlns:ns7="urn:uddi-org:subr_v3" xmlns:ns6="urn:uddi-org:sub_v3"
>>> xmlns:ns5="urn:uddi-org:custody_v3" xmlns:ns4="urn:uddi-org:repl_v3"
>>> xmlns:ns3="http://www.w3.org/2000/09/xmldsig#"
>>> xmlns:ns2="urn:uddi-org:api_v3">
>>> <ns2:listDescription>
>>> <ns2:includeCount>8</ns2:includeCount>
>>> <ns2:actualCount>8</ns2:actualCount>
>>> <ns2:listHead>1</ns2:listHead>
>>> </ns2:listDescription>
>>> <ns2:bindingTemplate bindingKey="uddi:juddi.apache.org:binding1"
>>> serviceKey="uddi:juddi.apache.org:service1">
>>> <ns2:description xml:lang="en">description of binding1</ns2:description>
>>> <ns2:accessPoint
>>> useType="wsdlDeployment">http://127.0.0.1:33010/axis/SnipSnipWebService</ns2:accessPoint>
>>> <ns2:categoryBag>
>>> <ns2:keyedReference tModelKey="uddi:uddi.org:categorization:types"
>>> keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
>>> </ns2:categoryBag>
>>> </ns2:bindingTemplate>
>>> <ns2:bindingTemplate
>>> bindingKey="uddi:juddi.apache.org:servicebindings-publisher-ws"
>>> serviceKey="uddi:juddi.apache.org:services-publisher">
>>> <ns2:description>jUDDI Publisher Service API V3</ns2:description>
>>> <ns2:accessPoint
>>> useType="wsdlDeployment">http://localhost:8080/juddiv3//services/publisher?wsdl</ns2:accessPoint>
>>> <ns2:categoryBag>
>>> <ns2:keyedReference tModelKey="uddi:uddi.org:categorization:types"
>>> keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
>>> </ns2:categoryBag>
>>> </ns2:bindingTemplate>
>>> <ns2:bindingTemplate
>>> bindingKey="uddi:juddi.apache.org:servicebindings-subscriptionlistener-ws"
>>> serviceKey="uddi:juddi.apache.org:services-subscriptionlistener">
>>> <ns2:description>UDDI Subscription Listener API V3</ns2:description>
>>> <ns2:accessPoint
>>> useType="wsdlDeployment">http://localhost:8080/juddiv3//services/subscription-listener?wsdl</ns2:accessPoint>
>>> <ns2:tModelInstanceDetails>
>>> <ns2:tModelInstanceInfo tModelKey="uddi:uddi.org:v3_subscriptionlistener"/>
>>> </ns2:tModelInstanceDetails>
>>> <ns2:categoryBag>
>>> <ns2:keyedReference tModelKey="uddi:uddi.org:categorization:types"
>>> keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
>>> </ns2:categoryBag>
>>> </ns2:bindingTemplate>
>>> <ns2:bindingTemplate
>>> bindingKey="uddi:juddi.apache.org:servicebindings-subscription-ws"
>>> serviceKey="uddi:juddi.apache.org:services-subscription">
>>> <ns2:description>UDDI Subscription API V3</ns2:description>
>>> <ns2:accessPoint
>>> useType="wsdlDeployment">http://localhost:8080/juddiv3//services/subscription?wsdl</ns2:accessPoint>
>>> <ns2:tModelInstanceDetails>
>>> <ns2:tModelInstanceInfo tModelKey="uddi:uddi.org:v3_subscription">
>>> <ns2:instanceDetails>
>>> <ns2:instanceParms><![CDATA[<?xml version="1.0" encoding="utf-8" ?>
>>> <UDDIinstanceParmsContainer
>>>                 xmlns="urn:uddi-org:policy_v3_instanceParms">
>>> <authInfoUse>required</authInfoUse>
>>> <filterUsingFindAPI>supported</filterUsingFindAPI>
>>> </UDDIinstanceParmsContainer>]]></ns2:instanceParms>
>>> </ns2:instanceDetails>
>>> </ns2:tModelInstanceInfo>
>>> </ns2:tModelInstanceDetails>
>>> <ns2:categoryBag>
>>> <ns2:keyedReference tModelKey="uddi:uddi.org:categorization:types"
>>> keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
>>> </ns2:categoryBag>
>>> </ns2:bindingTemplate>
>>> <ns2:bindingTemplate
>>> bindingKey="uddi:juddi.apache.org:servicebindings-custodytransfer-ws"
>>> serviceKey="uddi:juddi.apache.org:services-custodytransfer">
>>> <ns2:description>UDDI Custody and Ownership Transfer API
>>> V3</ns2:description>
>>> <ns2:accessPoint
>>> useType="wsdlDeployment">http://localhost:8080/juddiv3//services/custody-transfer?wsdl</ns2:accessPoint>
>>> <ns2:tModelInstanceDetails>
>>> <ns2:tModelInstanceInfo tModelKey="uddi:uddi.org:v3_ownership_transfer">
>>> <ns2:instanceDetails>
>>> <ns2:instanceParms>&lt;?xml version="1.0" encoding="utf-8" ?>
>>> &lt;UDDIinstanceParmsContainer
>>>                  xmlns="urn:uddi-org:policy_v3_instanceParms">
>>> &lt;authInfoUse>required&lt;/authInfoUse>
>>> &lt;/UDDIinstanceParmsContainer></ns2:instanceParms>
>>> </ns2:instanceDetails>
>>> </ns2:tModelInstanceInfo>
>>> </ns2:tModelInstanceDetails>
>>> <ns2:categoryBag>
>>> <ns2:keyedReference tModelKey="uddi:uddi.org:categorization:types"
>>> keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
>>> </ns2:categoryBag>
>>> </ns2:bindingTemplate>
>>> <ns2:bindingTemplate
>>> bindingKey="uddi:juddi.apache.org:servicebindings-security-ws"
>>> serviceKey="uddi:juddi.apache.org:services-security">
>>> <ns2:description>UDDI Security API V3</ns2:description>
>>> <ns2:accessPoint
>>> useType="wsdlDeployment">http://localhost:8080/juddiv3//services/security?wsdl</ns2:accessPoint>
>>> <ns2:tModelInstanceDetails>
>>> <ns2:tModelInstanceInfo tModelKey="uddi:uddi.org:v3_security"/>
>>> </ns2:tModelInstanceDetails>
>>> <ns2:categoryBag>
>>> <ns2:keyedReference tModelKey="uddi:uddi.org:categorization:types"
>>> keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
>>> </ns2:categoryBag>
>>> </ns2:bindingTemplate>
>>> <ns2:bindingTemplate
>>> bindingKey="uddi:juddi.apache.org:servicebindings-publish-ws"
>>> serviceKey="uddi:juddi.apache.org:services-publish">
>>> <ns2:description>UDDI Publication API V3</ns2:description>
>>> <ns2:accessPoint
>>> useType="wsdlDeployment">http://localhost:8080/juddiv3//services/publish?wsdl</ns2:accessPoint>
>>> <ns2:tModelInstanceDetails>
>>> <ns2:tModelInstanceInfo tModelKey="uddi:uddi.org:v3_publication">
>>> <ns2:instanceDetails>
>>> <ns2:instanceParms>&lt;?xml version="1.0" encoding="utf-8" ?>
>>> &lt;UDDIinstanceParmsContainer xmlns="urn:uddi-org:policy_v3_instanceParms">
>>> &lt;authInfoUse>required&lt;/authInfoUse>
>>> &lt;/UDDIinstanceParmsContainer></ns2:instanceParms>
>>> </ns2:instanceDetails>
>>> </ns2:tModelInstanceInfo>
>>> </ns2:tModelInstanceDetails>
>>> <ns2:categoryBag>
>>> <ns2:keyedReference tModelKey="uddi:uddi.org:categorization:types"
>>> keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
>>> </ns2:categoryBag>
>>> </ns2:bindingTemplate>
>>> <ns2:bindingTemplate
>>> bindingKey="uddi:juddi.apache.org:servicebindings-inquiry-ws"
>>> serviceKey="uddi:juddi.apache.org:services-inquiry">
>>> <ns2:description>UDDI Inquiry API V3</ns2:description>
>>> <ns2:accessPoint
>>> useType="wsdlDeployment">http://localhost:8080/juddiv3//services/inquiry?wsdl</ns2:accessPoint>
>>> <ns2:tModelInstanceDetails>
>>> <ns2:tModelInstanceInfo tModelKey="uddi:uddi.org:v3_inquiry">
>>> <ns2:instanceDetails>
>>> <ns2:instanceParms>&lt;?xml version="1.0" encoding="utf-8" ?>
>>> &lt;UDDIinstanceParmsContainer xmlns="urn:uddi-org:policy_v3_instanceParms">
>>> &lt;defaultSortOrder>
>>>                       uddi:uddi.org:sortorder:binarysort
>>> &lt;/defaultSortOrder>
>>> &lt;/UDDIinstanceParmsContainer></ns2:instanceParms>
>>> </ns2:instanceDetails>
>>> </ns2:tModelInstanceInfo>
>>> </ns2:tModelInstanceDetails>
>>> <ns2:categoryBag>
>>> <ns2:keyedReference tModelKey="uddi:uddi.org:categorization:types"
>>> keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
>>> </ns2:categoryBag>
>>> </ns2:bindingTemplate>
>>> </ns2:bindingDetail>
>>> </soap:Body>
>>> </soap:Envelope>
>>>
>>> See also:
>>> http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v202-20040631.htm#_Toc76437781
>>>
>>> Maybe this will get you going?
>>>
>>> -Kurt
>>>
>>> On 10/3/11 5:42 PM, S K wrote:
>>>> 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<ku...@gmail.com>    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<ku...@gmail.com>
>>>>>>   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();
>>>>>>>>                 }
>>>>>>>>         }
>>>


Re: org.apache.juddi.query.util.FindQualifiers

Posted by S K <sk...@gmail.com>.
Any ideas about this?   I am holding back the urge to debug the
database or query code...



On Tue, Oct 4, 2011 at 5:11 PM, S K <sk...@gmail.com> wrote:
> Hi Kurt,
>
> Thank you for your help.
>
> Using the example...
>
> I cannot create the service unless I remove the attributes from the
> save_service's bindingTemplate.
>
>> <urn:bindingTemplate bindingKey="uddi:juddi.apache.org:binding1"
>> serviceKey="uddi:juddi.apache.org:service1">
>
> So I changed this to:
> <urn:bindingTemplate >
>
>
> After I removed these attributes, I was able to successfully send this
> soap request via soapui and have the service created.
>
> Then the find_bindings works as you prescribed in the prior email.
>
> When I wrote the java client side code to search using this particular
> find_binding, it works fine.
>
> However, I wrote an add on junit test that looks for other services
> that we preload via the
> juddi-portal-bundle-3.1.0\webapps\juddiv3\WEB-INF\classes\juddi_custom_install_data
>
> For example one of the services that I pre-load looks similar to below....
>
>
>
>  <businessService serviceKey="uddi:sk92129.net:state-service"
> businessKey="uddi:sk92129.net:business-entity">
>      <name xml:lang="en">State Service</name>
>      <description xml:lang="en">A Web Service supporting state
> requests.</description>
>      <bindingTemplates>
>        <bindingTemplate
> bindingKey="uddi:sk92129.net:state-service-ws"
> serviceKey="uddi:sk92129.net:state-service">
>          <description>This capability snip snip</description>
>          <accessPoint
> useType="wsdlDeployment">http://127.127.1.1:9999/axis/StateWebService</accessPoint>
>          <!--tModelInstanceDetails>
>            <tModelInstanceInfo tModelKey="" />
>          </tModelInstanceDetails-->
>          <categoryBag>
>            <keyedReference keyName="uddi-org:types:wsdl"
> keyValue="wsdlDeployment"
> tModelKey="uddi:uddi.org:categorization:types"/>
>            <keyedReference keyName="FUBAR Enterprise Service Layer"
> keyValue="Some Kind Of Common"
> tModelKey="uddi:metadata.sk92129.org:FUBAR:Ent:tModels:1.1:serviceLayer"/>
>            <!-- THERE ARE MORE BUT I SNIPPED THEM -->
>          </categoryBag>
>        </bindingTemplate>
>      </bindingTemplates>
>    </businessService>
>
>
> If I invoke the find_binding on the other tmodel entry in this
> categoryBag above.
>
>  <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
>         <S:Body>
>            <ns2:find_binding 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:499f7491-bf1a-472b-9a4c-97b6180374d7</ns2:authInfo>
>               <ns2:categoryBag>
>                  <ns2:keyedReference keyValue="FUBAR Enterprise
> Service Layer" keyName="Some Kind Of Common"
> tModelKey="uddi:metadata.sk92129.org:FUBAR:Ent:tModels:1.1:serviceLayer"/>
>               </ns2:categoryBag>
>            </ns2:find_binding>
>         </S:Body>
>      </S:Envelope>
>
> Then the result is empty.
>
>
> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
>   <soap:Body>
>      <ns2:bindingDetail xmlns:ns11="urn:uddi-org:vs_v3"
> xmlns:ns10="urn:uddi-org:policy_v3_instanceParms"
> xmlns:ns9="urn:uddi-org:custody_v3" xmlns:ns8="urn:uddi-org:repl_v3"
> xmlns:ns7="urn:uddi-org:subr_v3" xmlns:ns6="urn:uddi-org:sub_v3"
> xmlns:ns5="urn:uddi-org:vscache_v3" xmlns:ns4="urn:uddi-org:policy_v3"
> xmlns:ns3="http://www.w3.org/2000/09/xmldsig#"
> xmlns:ns2="urn:uddi-org:api_v3">
>         <ns2:listDescription>
>            <ns2:includeCount>0</ns2:includeCount>
>            <ns2:actualCount>0</ns2:actualCount>
>            <ns2:listHead>0</ns2:listHead>
>         </ns2:listDescription>
>      </ns2:bindingDetail>
>   </soap:Body></soap:Envelope>
>
> What am I missing on this?
>
>
>
> On Tue, Oct 4, 2011 at 7:46 AM, Kurt T Stam <ku...@gmail.com> wrote:
>> Hi Sean,
>>
>> If I save my service using:
>>
>> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
>> xmlns:urn="urn:uddi-org:api_v3"
>> xmlns:xd="http://www.w3.org/2000/09/xmldsig#">
>> <soapenv:Header/>
>> <soapenv:Body>
>> <urn:save_service>
>> <!--Optional:-->
>> <urn:authInfo>authtoken:baa5843e-5c44-4d96-ac91-8a6f5c72a767</urn:authInfo>
>> <!--1 or more repetitions:-->
>> <urn:businessService serviceKey="uddi:juddi.apache.org:service1"
>> businessKey="uddi:juddi.apache.org:businesses-asf">
>> <!--Zero or more repetitions:-->
>> <urn:name xml:lang="en">service1</urn:name>
>> <!--Zero or more repetitions:-->
>> <urn:description xml:lang="en">description of service1</urn:description>
>> <!--Optional:-->
>> <urn:bindingTemplates>
>> <!--1 or more repetitions:-->
>> <urn:bindingTemplate bindingKey="uddi:juddi.apache.org:binding1"
>> serviceKey="uddi:juddi.apache.org:service1">
>> <!--Zero or more repetitions:-->
>> <urn:description xml:lang="en">description of binding1</urn:description>
>> <!--Optional:-->
>> <urn:accessPoint
>> useType="wsdlDeployment">http://127.0.0.1:33010/axis/SnipSnipWebService</urn:accessPoint>
>>
>> <urn:categoryBag>
>> <!--Zero or more repetitions:-->
>> <urn:keyedReference tModelKey="uddi:uddi.org:categorization:types"
>> keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
>>
>> </urn:categoryBag>
>>
>> </urn:bindingTemplate>
>> </urn:bindingTemplates>
>>
>> </urn:businessService>
>> </urn:save_service>
>> </soapenv:Body>
>> </soapenv:Envelope>
>>
>> Then you can find enpoints that reference 'wsdlDeployment' like so
>>
>> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
>> xmlns:urn="urn:uddi-org:api_v3">
>> <soapenv:Header/>
>> <soapenv:Body>
>> <urn:find_binding >
>> <urn:categoryBag>
>> <urn:keyedReference tModelKey="uddi:uddi.org:categorization:types"
>>         keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
>> </urn:categoryBag>
>> </urn:find_binding>
>> </soapenv:Body>
>> </soapenv:Envelope>
>>
>> which gives me
>>
>> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
>> <soap:Body>
>> <ns2:bindingDetail xmlns:ns11="urn:uddi-org:vs_v3"
>> xmlns:ns10="urn:uddi-org:policy_v3_instanceParms"
>> xmlns:ns9="urn:uddi-org:policy_v3" xmlns:ns8="urn:uddi-org:vscache_v3"
>> xmlns:ns7="urn:uddi-org:subr_v3" xmlns:ns6="urn:uddi-org:sub_v3"
>> xmlns:ns5="urn:uddi-org:custody_v3" xmlns:ns4="urn:uddi-org:repl_v3"
>> xmlns:ns3="http://www.w3.org/2000/09/xmldsig#"
>> xmlns:ns2="urn:uddi-org:api_v3">
>> <ns2:listDescription>
>> <ns2:includeCount>8</ns2:includeCount>
>> <ns2:actualCount>8</ns2:actualCount>
>> <ns2:listHead>1</ns2:listHead>
>> </ns2:listDescription>
>> <ns2:bindingTemplate bindingKey="uddi:juddi.apache.org:binding1"
>> serviceKey="uddi:juddi.apache.org:service1">
>> <ns2:description xml:lang="en">description of binding1</ns2:description>
>> <ns2:accessPoint
>> useType="wsdlDeployment">http://127.0.0.1:33010/axis/SnipSnipWebService</ns2:accessPoint>
>> <ns2:categoryBag>
>> <ns2:keyedReference tModelKey="uddi:uddi.org:categorization:types"
>> keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
>> </ns2:categoryBag>
>> </ns2:bindingTemplate>
>> <ns2:bindingTemplate
>> bindingKey="uddi:juddi.apache.org:servicebindings-publisher-ws"
>> serviceKey="uddi:juddi.apache.org:services-publisher">
>> <ns2:description>jUDDI Publisher Service API V3</ns2:description>
>> <ns2:accessPoint
>> useType="wsdlDeployment">http://localhost:8080/juddiv3//services/publisher?wsdl</ns2:accessPoint>
>> <ns2:categoryBag>
>> <ns2:keyedReference tModelKey="uddi:uddi.org:categorization:types"
>> keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
>> </ns2:categoryBag>
>> </ns2:bindingTemplate>
>> <ns2:bindingTemplate
>> bindingKey="uddi:juddi.apache.org:servicebindings-subscriptionlistener-ws"
>> serviceKey="uddi:juddi.apache.org:services-subscriptionlistener">
>> <ns2:description>UDDI Subscription Listener API V3</ns2:description>
>> <ns2:accessPoint
>> useType="wsdlDeployment">http://localhost:8080/juddiv3//services/subscription-listener?wsdl</ns2:accessPoint>
>> <ns2:tModelInstanceDetails>
>> <ns2:tModelInstanceInfo tModelKey="uddi:uddi.org:v3_subscriptionlistener"/>
>> </ns2:tModelInstanceDetails>
>> <ns2:categoryBag>
>> <ns2:keyedReference tModelKey="uddi:uddi.org:categorization:types"
>> keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
>> </ns2:categoryBag>
>> </ns2:bindingTemplate>
>> <ns2:bindingTemplate
>> bindingKey="uddi:juddi.apache.org:servicebindings-subscription-ws"
>> serviceKey="uddi:juddi.apache.org:services-subscription">
>> <ns2:description>UDDI Subscription API V3</ns2:description>
>> <ns2:accessPoint
>> useType="wsdlDeployment">http://localhost:8080/juddiv3//services/subscription?wsdl</ns2:accessPoint>
>> <ns2:tModelInstanceDetails>
>> <ns2:tModelInstanceInfo tModelKey="uddi:uddi.org:v3_subscription">
>> <ns2:instanceDetails>
>> <ns2:instanceParms><![CDATA[<?xml version="1.0" encoding="utf-8" ?>
>> <UDDIinstanceParmsContainer
>>                xmlns="urn:uddi-org:policy_v3_instanceParms">
>> <authInfoUse>required</authInfoUse>
>> <filterUsingFindAPI>supported</filterUsingFindAPI>
>> </UDDIinstanceParmsContainer>]]></ns2:instanceParms>
>> </ns2:instanceDetails>
>> </ns2:tModelInstanceInfo>
>> </ns2:tModelInstanceDetails>
>> <ns2:categoryBag>
>> <ns2:keyedReference tModelKey="uddi:uddi.org:categorization:types"
>> keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
>> </ns2:categoryBag>
>> </ns2:bindingTemplate>
>> <ns2:bindingTemplate
>> bindingKey="uddi:juddi.apache.org:servicebindings-custodytransfer-ws"
>> serviceKey="uddi:juddi.apache.org:services-custodytransfer">
>> <ns2:description>UDDI Custody and Ownership Transfer API
>> V3</ns2:description>
>> <ns2:accessPoint
>> useType="wsdlDeployment">http://localhost:8080/juddiv3//services/custody-transfer?wsdl</ns2:accessPoint>
>> <ns2:tModelInstanceDetails>
>> <ns2:tModelInstanceInfo tModelKey="uddi:uddi.org:v3_ownership_transfer">
>> <ns2:instanceDetails>
>> <ns2:instanceParms>&lt;?xml version="1.0" encoding="utf-8" ?>
>> &lt;UDDIinstanceParmsContainer
>>                 xmlns="urn:uddi-org:policy_v3_instanceParms">
>> &lt;authInfoUse>required&lt;/authInfoUse>
>> &lt;/UDDIinstanceParmsContainer></ns2:instanceParms>
>> </ns2:instanceDetails>
>> </ns2:tModelInstanceInfo>
>> </ns2:tModelInstanceDetails>
>> <ns2:categoryBag>
>> <ns2:keyedReference tModelKey="uddi:uddi.org:categorization:types"
>> keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
>> </ns2:categoryBag>
>> </ns2:bindingTemplate>
>> <ns2:bindingTemplate
>> bindingKey="uddi:juddi.apache.org:servicebindings-security-ws"
>> serviceKey="uddi:juddi.apache.org:services-security">
>> <ns2:description>UDDI Security API V3</ns2:description>
>> <ns2:accessPoint
>> useType="wsdlDeployment">http://localhost:8080/juddiv3//services/security?wsdl</ns2:accessPoint>
>> <ns2:tModelInstanceDetails>
>> <ns2:tModelInstanceInfo tModelKey="uddi:uddi.org:v3_security"/>
>> </ns2:tModelInstanceDetails>
>> <ns2:categoryBag>
>> <ns2:keyedReference tModelKey="uddi:uddi.org:categorization:types"
>> keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
>> </ns2:categoryBag>
>> </ns2:bindingTemplate>
>> <ns2:bindingTemplate
>> bindingKey="uddi:juddi.apache.org:servicebindings-publish-ws"
>> serviceKey="uddi:juddi.apache.org:services-publish">
>> <ns2:description>UDDI Publication API V3</ns2:description>
>> <ns2:accessPoint
>> useType="wsdlDeployment">http://localhost:8080/juddiv3//services/publish?wsdl</ns2:accessPoint>
>> <ns2:tModelInstanceDetails>
>> <ns2:tModelInstanceInfo tModelKey="uddi:uddi.org:v3_publication">
>> <ns2:instanceDetails>
>> <ns2:instanceParms>&lt;?xml version="1.0" encoding="utf-8" ?>
>> &lt;UDDIinstanceParmsContainer xmlns="urn:uddi-org:policy_v3_instanceParms">
>> &lt;authInfoUse>required&lt;/authInfoUse>
>> &lt;/UDDIinstanceParmsContainer></ns2:instanceParms>
>> </ns2:instanceDetails>
>> </ns2:tModelInstanceInfo>
>> </ns2:tModelInstanceDetails>
>> <ns2:categoryBag>
>> <ns2:keyedReference tModelKey="uddi:uddi.org:categorization:types"
>> keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
>> </ns2:categoryBag>
>> </ns2:bindingTemplate>
>> <ns2:bindingTemplate
>> bindingKey="uddi:juddi.apache.org:servicebindings-inquiry-ws"
>> serviceKey="uddi:juddi.apache.org:services-inquiry">
>> <ns2:description>UDDI Inquiry API V3</ns2:description>
>> <ns2:accessPoint
>> useType="wsdlDeployment">http://localhost:8080/juddiv3//services/inquiry?wsdl</ns2:accessPoint>
>> <ns2:tModelInstanceDetails>
>> <ns2:tModelInstanceInfo tModelKey="uddi:uddi.org:v3_inquiry">
>> <ns2:instanceDetails>
>> <ns2:instanceParms>&lt;?xml version="1.0" encoding="utf-8" ?>
>> &lt;UDDIinstanceParmsContainer xmlns="urn:uddi-org:policy_v3_instanceParms">
>> &lt;defaultSortOrder>
>>                      uddi:uddi.org:sortorder:binarysort
>> &lt;/defaultSortOrder>
>> &lt;/UDDIinstanceParmsContainer></ns2:instanceParms>
>> </ns2:instanceDetails>
>> </ns2:tModelInstanceInfo>
>> </ns2:tModelInstanceDetails>
>> <ns2:categoryBag>
>> <ns2:keyedReference tModelKey="uddi:uddi.org:categorization:types"
>> keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
>> </ns2:categoryBag>
>> </ns2:bindingTemplate>
>> </ns2:bindingDetail>
>> </soap:Body>
>> </soap:Envelope>
>>
>> See also:
>> http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v202-20040631.htm#_Toc76437781
>>
>> Maybe this will get you going?
>>
>> -Kurt
>>
>> On 10/3/11 5:42 PM, S K wrote:
>>>
>>> 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<ku...@gmail.com>  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<ku...@gmail.com>
>>>>>  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();
>>>>>>>                }
>>>>>>>        }
>>>>
>>
>>
>

Re: org.apache.juddi.query.util.FindQualifiers

Posted by S K <sk...@gmail.com>.
Hi Kurt,

Thank you for your help.

Using the example...

I cannot create the service unless I remove the attributes from the
save_service's bindingTemplate.

> <urn:bindingTemplate bindingKey="uddi:juddi.apache.org:binding1"
> serviceKey="uddi:juddi.apache.org:service1">

So I changed this to:
<urn:bindingTemplate >


After I removed these attributes, I was able to successfully send this
soap request via soapui and have the service created.

Then the find_bindings works as you prescribed in the prior email.

When I wrote the java client side code to search using this particular
find_binding, it works fine.

However, I wrote an add on junit test that looks for other services
that we preload via the
juddi-portal-bundle-3.1.0\webapps\juddiv3\WEB-INF\classes\juddi_custom_install_data

For example one of the services that I pre-load looks similar to below....



 <businessService serviceKey="uddi:sk92129.net:state-service"
businessKey="uddi:sk92129.net:business-entity">
      <name xml:lang="en">State Service</name>
      <description xml:lang="en">A Web Service supporting state
requests.</description>
      <bindingTemplates>
        <bindingTemplate
bindingKey="uddi:sk92129.net:state-service-ws"
serviceKey="uddi:sk92129.net:state-service">
          <description>This capability snip snip</description>
          <accessPoint
useType="wsdlDeployment">http://127.127.1.1:9999/axis/StateWebService</accessPoint>
          <!--tModelInstanceDetails>
            <tModelInstanceInfo tModelKey="" />
          </tModelInstanceDetails-->
          <categoryBag>
            <keyedReference keyName="uddi-org:types:wsdl"
keyValue="wsdlDeployment"
tModelKey="uddi:uddi.org:categorization:types"/>
            <keyedReference keyName="FUBAR Enterprise Service Layer"
keyValue="Some Kind Of Common"
tModelKey="uddi:metadata.sk92129.org:FUBAR:Ent:tModels:1.1:serviceLayer"/>
            <!-- THERE ARE MORE BUT I SNIPPED THEM -->
          </categoryBag>
        </bindingTemplate>
      </bindingTemplates>
    </businessService>


If I invoke the find_binding on the other tmodel entry in this
categoryBag above.

 <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
         <S:Body>
            <ns2:find_binding 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:499f7491-bf1a-472b-9a4c-97b6180374d7</ns2:authInfo>
               <ns2:categoryBag>
                  <ns2:keyedReference keyValue="FUBAR Enterprise
Service Layer" keyName="Some Kind Of Common"
tModelKey="uddi:metadata.sk92129.org:FUBAR:Ent:tModels:1.1:serviceLayer"/>
               </ns2:categoryBag>
            </ns2:find_binding>
         </S:Body>
      </S:Envelope>

Then the result is empty.


<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <soap:Body>
      <ns2:bindingDetail xmlns:ns11="urn:uddi-org:vs_v3"
xmlns:ns10="urn:uddi-org:policy_v3_instanceParms"
xmlns:ns9="urn:uddi-org:custody_v3" xmlns:ns8="urn:uddi-org:repl_v3"
xmlns:ns7="urn:uddi-org:subr_v3" xmlns:ns6="urn:uddi-org:sub_v3"
xmlns:ns5="urn:uddi-org:vscache_v3" xmlns:ns4="urn:uddi-org:policy_v3"
xmlns:ns3="http://www.w3.org/2000/09/xmldsig#"
xmlns:ns2="urn:uddi-org:api_v3">
         <ns2:listDescription>
            <ns2:includeCount>0</ns2:includeCount>
            <ns2:actualCount>0</ns2:actualCount>
            <ns2:listHead>0</ns2:listHead>
         </ns2:listDescription>
      </ns2:bindingDetail>
   </soap:Body></soap:Envelope>

What am I missing on this?



On Tue, Oct 4, 2011 at 7:46 AM, Kurt T Stam <ku...@gmail.com> wrote:
> Hi Sean,
>
> If I save my service using:
>
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:urn="urn:uddi-org:api_v3"
> xmlns:xd="http://www.w3.org/2000/09/xmldsig#">
> <soapenv:Header/>
> <soapenv:Body>
> <urn:save_service>
> <!--Optional:-->
> <urn:authInfo>authtoken:baa5843e-5c44-4d96-ac91-8a6f5c72a767</urn:authInfo>
> <!--1 or more repetitions:-->
> <urn:businessService serviceKey="uddi:juddi.apache.org:service1"
> businessKey="uddi:juddi.apache.org:businesses-asf">
> <!--Zero or more repetitions:-->
> <urn:name xml:lang="en">service1</urn:name>
> <!--Zero or more repetitions:-->
> <urn:description xml:lang="en">description of service1</urn:description>
> <!--Optional:-->
> <urn:bindingTemplates>
> <!--1 or more repetitions:-->
> <urn:bindingTemplate bindingKey="uddi:juddi.apache.org:binding1"
> serviceKey="uddi:juddi.apache.org:service1">
> <!--Zero or more repetitions:-->
> <urn:description xml:lang="en">description of binding1</urn:description>
> <!--Optional:-->
> <urn:accessPoint
> useType="wsdlDeployment">http://127.0.0.1:33010/axis/SnipSnipWebService</urn:accessPoint>
>
> <urn:categoryBag>
> <!--Zero or more repetitions:-->
> <urn:keyedReference tModelKey="uddi:uddi.org:categorization:types"
> keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
>
> </urn:categoryBag>
>
> </urn:bindingTemplate>
> </urn:bindingTemplates>
>
> </urn:businessService>
> </urn:save_service>
> </soapenv:Body>
> </soapenv:Envelope>
>
> Then you can find enpoints that reference 'wsdlDeployment' like so
>
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:urn="urn:uddi-org:api_v3">
> <soapenv:Header/>
> <soapenv:Body>
> <urn:find_binding >
> <urn:categoryBag>
> <urn:keyedReference tModelKey="uddi:uddi.org:categorization:types"
>         keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
> </urn:categoryBag>
> </urn:find_binding>
> </soapenv:Body>
> </soapenv:Envelope>
>
> which gives me
>
> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
> <soap:Body>
> <ns2:bindingDetail xmlns:ns11="urn:uddi-org:vs_v3"
> xmlns:ns10="urn:uddi-org:policy_v3_instanceParms"
> xmlns:ns9="urn:uddi-org:policy_v3" xmlns:ns8="urn:uddi-org:vscache_v3"
> xmlns:ns7="urn:uddi-org:subr_v3" xmlns:ns6="urn:uddi-org:sub_v3"
> xmlns:ns5="urn:uddi-org:custody_v3" xmlns:ns4="urn:uddi-org:repl_v3"
> xmlns:ns3="http://www.w3.org/2000/09/xmldsig#"
> xmlns:ns2="urn:uddi-org:api_v3">
> <ns2:listDescription>
> <ns2:includeCount>8</ns2:includeCount>
> <ns2:actualCount>8</ns2:actualCount>
> <ns2:listHead>1</ns2:listHead>
> </ns2:listDescription>
> <ns2:bindingTemplate bindingKey="uddi:juddi.apache.org:binding1"
> serviceKey="uddi:juddi.apache.org:service1">
> <ns2:description xml:lang="en">description of binding1</ns2:description>
> <ns2:accessPoint
> useType="wsdlDeployment">http://127.0.0.1:33010/axis/SnipSnipWebService</ns2:accessPoint>
> <ns2:categoryBag>
> <ns2:keyedReference tModelKey="uddi:uddi.org:categorization:types"
> keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
> </ns2:categoryBag>
> </ns2:bindingTemplate>
> <ns2:bindingTemplate
> bindingKey="uddi:juddi.apache.org:servicebindings-publisher-ws"
> serviceKey="uddi:juddi.apache.org:services-publisher">
> <ns2:description>jUDDI Publisher Service API V3</ns2:description>
> <ns2:accessPoint
> useType="wsdlDeployment">http://localhost:8080/juddiv3//services/publisher?wsdl</ns2:accessPoint>
> <ns2:categoryBag>
> <ns2:keyedReference tModelKey="uddi:uddi.org:categorization:types"
> keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
> </ns2:categoryBag>
> </ns2:bindingTemplate>
> <ns2:bindingTemplate
> bindingKey="uddi:juddi.apache.org:servicebindings-subscriptionlistener-ws"
> serviceKey="uddi:juddi.apache.org:services-subscriptionlistener">
> <ns2:description>UDDI Subscription Listener API V3</ns2:description>
> <ns2:accessPoint
> useType="wsdlDeployment">http://localhost:8080/juddiv3//services/subscription-listener?wsdl</ns2:accessPoint>
> <ns2:tModelInstanceDetails>
> <ns2:tModelInstanceInfo tModelKey="uddi:uddi.org:v3_subscriptionlistener"/>
> </ns2:tModelInstanceDetails>
> <ns2:categoryBag>
> <ns2:keyedReference tModelKey="uddi:uddi.org:categorization:types"
> keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
> </ns2:categoryBag>
> </ns2:bindingTemplate>
> <ns2:bindingTemplate
> bindingKey="uddi:juddi.apache.org:servicebindings-subscription-ws"
> serviceKey="uddi:juddi.apache.org:services-subscription">
> <ns2:description>UDDI Subscription API V3</ns2:description>
> <ns2:accessPoint
> useType="wsdlDeployment">http://localhost:8080/juddiv3//services/subscription?wsdl</ns2:accessPoint>
> <ns2:tModelInstanceDetails>
> <ns2:tModelInstanceInfo tModelKey="uddi:uddi.org:v3_subscription">
> <ns2:instanceDetails>
> <ns2:instanceParms><![CDATA[<?xml version="1.0" encoding="utf-8" ?>
> <UDDIinstanceParmsContainer
>                xmlns="urn:uddi-org:policy_v3_instanceParms">
> <authInfoUse>required</authInfoUse>
> <filterUsingFindAPI>supported</filterUsingFindAPI>
> </UDDIinstanceParmsContainer>]]></ns2:instanceParms>
> </ns2:instanceDetails>
> </ns2:tModelInstanceInfo>
> </ns2:tModelInstanceDetails>
> <ns2:categoryBag>
> <ns2:keyedReference tModelKey="uddi:uddi.org:categorization:types"
> keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
> </ns2:categoryBag>
> </ns2:bindingTemplate>
> <ns2:bindingTemplate
> bindingKey="uddi:juddi.apache.org:servicebindings-custodytransfer-ws"
> serviceKey="uddi:juddi.apache.org:services-custodytransfer">
> <ns2:description>UDDI Custody and Ownership Transfer API
> V3</ns2:description>
> <ns2:accessPoint
> useType="wsdlDeployment">http://localhost:8080/juddiv3//services/custody-transfer?wsdl</ns2:accessPoint>
> <ns2:tModelInstanceDetails>
> <ns2:tModelInstanceInfo tModelKey="uddi:uddi.org:v3_ownership_transfer">
> <ns2:instanceDetails>
> <ns2:instanceParms>&lt;?xml version="1.0" encoding="utf-8" ?>
> &lt;UDDIinstanceParmsContainer
>                 xmlns="urn:uddi-org:policy_v3_instanceParms">
> &lt;authInfoUse>required&lt;/authInfoUse>
> &lt;/UDDIinstanceParmsContainer></ns2:instanceParms>
> </ns2:instanceDetails>
> </ns2:tModelInstanceInfo>
> </ns2:tModelInstanceDetails>
> <ns2:categoryBag>
> <ns2:keyedReference tModelKey="uddi:uddi.org:categorization:types"
> keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
> </ns2:categoryBag>
> </ns2:bindingTemplate>
> <ns2:bindingTemplate
> bindingKey="uddi:juddi.apache.org:servicebindings-security-ws"
> serviceKey="uddi:juddi.apache.org:services-security">
> <ns2:description>UDDI Security API V3</ns2:description>
> <ns2:accessPoint
> useType="wsdlDeployment">http://localhost:8080/juddiv3//services/security?wsdl</ns2:accessPoint>
> <ns2:tModelInstanceDetails>
> <ns2:tModelInstanceInfo tModelKey="uddi:uddi.org:v3_security"/>
> </ns2:tModelInstanceDetails>
> <ns2:categoryBag>
> <ns2:keyedReference tModelKey="uddi:uddi.org:categorization:types"
> keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
> </ns2:categoryBag>
> </ns2:bindingTemplate>
> <ns2:bindingTemplate
> bindingKey="uddi:juddi.apache.org:servicebindings-publish-ws"
> serviceKey="uddi:juddi.apache.org:services-publish">
> <ns2:description>UDDI Publication API V3</ns2:description>
> <ns2:accessPoint
> useType="wsdlDeployment">http://localhost:8080/juddiv3//services/publish?wsdl</ns2:accessPoint>
> <ns2:tModelInstanceDetails>
> <ns2:tModelInstanceInfo tModelKey="uddi:uddi.org:v3_publication">
> <ns2:instanceDetails>
> <ns2:instanceParms>&lt;?xml version="1.0" encoding="utf-8" ?>
> &lt;UDDIinstanceParmsContainer xmlns="urn:uddi-org:policy_v3_instanceParms">
> &lt;authInfoUse>required&lt;/authInfoUse>
> &lt;/UDDIinstanceParmsContainer></ns2:instanceParms>
> </ns2:instanceDetails>
> </ns2:tModelInstanceInfo>
> </ns2:tModelInstanceDetails>
> <ns2:categoryBag>
> <ns2:keyedReference tModelKey="uddi:uddi.org:categorization:types"
> keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
> </ns2:categoryBag>
> </ns2:bindingTemplate>
> <ns2:bindingTemplate
> bindingKey="uddi:juddi.apache.org:servicebindings-inquiry-ws"
> serviceKey="uddi:juddi.apache.org:services-inquiry">
> <ns2:description>UDDI Inquiry API V3</ns2:description>
> <ns2:accessPoint
> useType="wsdlDeployment">http://localhost:8080/juddiv3//services/inquiry?wsdl</ns2:accessPoint>
> <ns2:tModelInstanceDetails>
> <ns2:tModelInstanceInfo tModelKey="uddi:uddi.org:v3_inquiry">
> <ns2:instanceDetails>
> <ns2:instanceParms>&lt;?xml version="1.0" encoding="utf-8" ?>
> &lt;UDDIinstanceParmsContainer xmlns="urn:uddi-org:policy_v3_instanceParms">
> &lt;defaultSortOrder>
>                      uddi:uddi.org:sortorder:binarysort
> &lt;/defaultSortOrder>
> &lt;/UDDIinstanceParmsContainer></ns2:instanceParms>
> </ns2:instanceDetails>
> </ns2:tModelInstanceInfo>
> </ns2:tModelInstanceDetails>
> <ns2:categoryBag>
> <ns2:keyedReference tModelKey="uddi:uddi.org:categorization:types"
> keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
> </ns2:categoryBag>
> </ns2:bindingTemplate>
> </ns2:bindingDetail>
> </soap:Body>
> </soap:Envelope>
>
> See also:
> http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v202-20040631.htm#_Toc76437781
>
> Maybe this will get you going?
>
> -Kurt
>
> On 10/3/11 5:42 PM, S K wrote:
>>
>> 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<ku...@gmail.com>  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<ku...@gmail.com>
>>>>  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();
>>>>>>                }
>>>>>>        }
>>>
>
>

Re: org.apache.juddi.query.util.FindQualifiers

Posted by Kurt T Stam <ku...@gmail.com>.
Hi Sean,

If I save my service using:

<soapenv:Envelope 
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:urn="urn:uddi-org:api_v3" 
xmlns:xd="http://www.w3.org/2000/09/xmldsig#">
<soapenv:Header/>
<soapenv:Body>
<urn:save_service>
<!--Optional:-->
<urn:authInfo>authtoken:baa5843e-5c44-4d96-ac91-8a6f5c72a767</urn:authInfo>
<!--1 or more repetitions:-->
<urn:businessService serviceKey="uddi:juddi.apache.org:service1" 
businessKey="uddi:juddi.apache.org:businesses-asf">
<!--Zero or more repetitions:-->
<urn:name xml:lang="en">service1</urn:name>
<!--Zero or more repetitions:-->
<urn:description xml:lang="en">description of service1</urn:description>
<!--Optional:-->
<urn:bindingTemplates>
<!--1 or more repetitions:-->
<urn:bindingTemplate bindingKey="uddi:juddi.apache.org:binding1" 
serviceKey="uddi:juddi.apache.org:service1">
<!--Zero or more repetitions:-->
<urn:description xml:lang="en">description of binding1</urn:description>
<!--Optional:-->
<urn:accessPoint 
useType="wsdlDeployment">http://127.0.0.1:33010/axis/SnipSnipWebService</urn:accessPoint>

<urn:categoryBag>
<!--Zero or more repetitions:-->
<urn:keyedReference tModelKey="uddi:uddi.org:categorization:types" 
keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>

</urn:categoryBag>

</urn:bindingTemplate>
</urn:bindingTemplates>

</urn:businessService>
</urn:save_service>
</soapenv:Body>
</soapenv:Envelope>

Then you can find enpoints that reference 'wsdlDeployment' like so

<soapenv:Envelope 
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:urn="urn:uddi-org:api_v3">
<soapenv:Header/>
<soapenv:Body>
<urn:find_binding >
<urn:categoryBag>
<urn:keyedReference tModelKey="uddi:uddi.org:categorization:types"
          keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
</urn:categoryBag>
</urn:find_binding>
</soapenv:Body>
</soapenv:Envelope>

which gives me

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns2:bindingDetail xmlns:ns11="urn:uddi-org:vs_v3" 
xmlns:ns10="urn:uddi-org:policy_v3_instanceParms" 
xmlns:ns9="urn:uddi-org:policy_v3" xmlns:ns8="urn:uddi-org:vscache_v3" 
xmlns:ns7="urn:uddi-org:subr_v3" xmlns:ns6="urn:uddi-org:sub_v3" 
xmlns:ns5="urn:uddi-org:custody_v3" xmlns:ns4="urn:uddi-org:repl_v3" 
xmlns:ns3="http://www.w3.org/2000/09/xmldsig#" 
xmlns:ns2="urn:uddi-org:api_v3">
<ns2:listDescription>
<ns2:includeCount>8</ns2:includeCount>
<ns2:actualCount>8</ns2:actualCount>
<ns2:listHead>1</ns2:listHead>
</ns2:listDescription>
<ns2:bindingTemplate bindingKey="uddi:juddi.apache.org:binding1" 
serviceKey="uddi:juddi.apache.org:service1">
<ns2:description xml:lang="en">description of binding1</ns2:description>
<ns2:accessPoint 
useType="wsdlDeployment">http://127.0.0.1:33010/axis/SnipSnipWebService</ns2:accessPoint>
<ns2:categoryBag>
<ns2:keyedReference tModelKey="uddi:uddi.org:categorization:types" 
keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
</ns2:categoryBag>
</ns2:bindingTemplate>
<ns2:bindingTemplate 
bindingKey="uddi:juddi.apache.org:servicebindings-publisher-ws" 
serviceKey="uddi:juddi.apache.org:services-publisher">
<ns2:description>jUDDI Publisher Service API V3</ns2:description>
<ns2:accessPoint 
useType="wsdlDeployment">http://localhost:8080/juddiv3//services/publisher?wsdl</ns2:accessPoint>
<ns2:categoryBag>
<ns2:keyedReference tModelKey="uddi:uddi.org:categorization:types" 
keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
</ns2:categoryBag>
</ns2:bindingTemplate>
<ns2:bindingTemplate 
bindingKey="uddi:juddi.apache.org:servicebindings-subscriptionlistener-ws" 
serviceKey="uddi:juddi.apache.org:services-subscriptionlistener">
<ns2:description>UDDI Subscription Listener API V3</ns2:description>
<ns2:accessPoint 
useType="wsdlDeployment">http://localhost:8080/juddiv3//services/subscription-listener?wsdl</ns2:accessPoint>
<ns2:tModelInstanceDetails>
<ns2:tModelInstanceInfo tModelKey="uddi:uddi.org:v3_subscriptionlistener"/>
</ns2:tModelInstanceDetails>
<ns2:categoryBag>
<ns2:keyedReference tModelKey="uddi:uddi.org:categorization:types" 
keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
</ns2:categoryBag>
</ns2:bindingTemplate>
<ns2:bindingTemplate 
bindingKey="uddi:juddi.apache.org:servicebindings-subscription-ws" 
serviceKey="uddi:juddi.apache.org:services-subscription">
<ns2:description>UDDI Subscription API V3</ns2:description>
<ns2:accessPoint 
useType="wsdlDeployment">http://localhost:8080/juddiv3//services/subscription?wsdl</ns2:accessPoint>
<ns2:tModelInstanceDetails>
<ns2:tModelInstanceInfo tModelKey="uddi:uddi.org:v3_subscription">
<ns2:instanceDetails>
<ns2:instanceParms><![CDATA[<?xml version="1.0" encoding="utf-8" ?>
<UDDIinstanceParmsContainer
                 xmlns="urn:uddi-org:policy_v3_instanceParms">
<authInfoUse>required</authInfoUse>
<filterUsingFindAPI>supported</filterUsingFindAPI>
</UDDIinstanceParmsContainer>]]></ns2:instanceParms>
</ns2:instanceDetails>
</ns2:tModelInstanceInfo>
</ns2:tModelInstanceDetails>
<ns2:categoryBag>
<ns2:keyedReference tModelKey="uddi:uddi.org:categorization:types" 
keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
</ns2:categoryBag>
</ns2:bindingTemplate>
<ns2:bindingTemplate 
bindingKey="uddi:juddi.apache.org:servicebindings-custodytransfer-ws" 
serviceKey="uddi:juddi.apache.org:services-custodytransfer">
<ns2:description>UDDI Custody and Ownership Transfer API 
V3</ns2:description>
<ns2:accessPoint 
useType="wsdlDeployment">http://localhost:8080/juddiv3//services/custody-transfer?wsdl</ns2:accessPoint>
<ns2:tModelInstanceDetails>
<ns2:tModelInstanceInfo tModelKey="uddi:uddi.org:v3_ownership_transfer">
<ns2:instanceDetails>
<ns2:instanceParms>&lt;?xml version="1.0" encoding="utf-8" ?>
&lt;UDDIinstanceParmsContainer
                  xmlns="urn:uddi-org:policy_v3_instanceParms">
&lt;authInfoUse>required&lt;/authInfoUse>
&lt;/UDDIinstanceParmsContainer></ns2:instanceParms>
</ns2:instanceDetails>
</ns2:tModelInstanceInfo>
</ns2:tModelInstanceDetails>
<ns2:categoryBag>
<ns2:keyedReference tModelKey="uddi:uddi.org:categorization:types" 
keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
</ns2:categoryBag>
</ns2:bindingTemplate>
<ns2:bindingTemplate 
bindingKey="uddi:juddi.apache.org:servicebindings-security-ws" 
serviceKey="uddi:juddi.apache.org:services-security">
<ns2:description>UDDI Security API V3</ns2:description>
<ns2:accessPoint 
useType="wsdlDeployment">http://localhost:8080/juddiv3//services/security?wsdl</ns2:accessPoint>
<ns2:tModelInstanceDetails>
<ns2:tModelInstanceInfo tModelKey="uddi:uddi.org:v3_security"/>
</ns2:tModelInstanceDetails>
<ns2:categoryBag>
<ns2:keyedReference tModelKey="uddi:uddi.org:categorization:types" 
keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
</ns2:categoryBag>
</ns2:bindingTemplate>
<ns2:bindingTemplate 
bindingKey="uddi:juddi.apache.org:servicebindings-publish-ws" 
serviceKey="uddi:juddi.apache.org:services-publish">
<ns2:description>UDDI Publication API V3</ns2:description>
<ns2:accessPoint 
useType="wsdlDeployment">http://localhost:8080/juddiv3//services/publish?wsdl</ns2:accessPoint>
<ns2:tModelInstanceDetails>
<ns2:tModelInstanceInfo tModelKey="uddi:uddi.org:v3_publication">
<ns2:instanceDetails>
<ns2:instanceParms>&lt;?xml version="1.0" encoding="utf-8" ?>
&lt;UDDIinstanceParmsContainer xmlns="urn:uddi-org:policy_v3_instanceParms">
&lt;authInfoUse>required&lt;/authInfoUse>
&lt;/UDDIinstanceParmsContainer></ns2:instanceParms>
</ns2:instanceDetails>
</ns2:tModelInstanceInfo>
</ns2:tModelInstanceDetails>
<ns2:categoryBag>
<ns2:keyedReference tModelKey="uddi:uddi.org:categorization:types" 
keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
</ns2:categoryBag>
</ns2:bindingTemplate>
<ns2:bindingTemplate 
bindingKey="uddi:juddi.apache.org:servicebindings-inquiry-ws" 
serviceKey="uddi:juddi.apache.org:services-inquiry">
<ns2:description>UDDI Inquiry API V3</ns2:description>
<ns2:accessPoint 
useType="wsdlDeployment">http://localhost:8080/juddiv3//services/inquiry?wsdl</ns2:accessPoint>
<ns2:tModelInstanceDetails>
<ns2:tModelInstanceInfo tModelKey="uddi:uddi.org:v3_inquiry">
<ns2:instanceDetails>
<ns2:instanceParms>&lt;?xml version="1.0" encoding="utf-8" ?>
&lt;UDDIinstanceParmsContainer xmlns="urn:uddi-org:policy_v3_instanceParms">
&lt;defaultSortOrder>
                       uddi:uddi.org:sortorder:binarysort
&lt;/defaultSortOrder>
&lt;/UDDIinstanceParmsContainer></ns2:instanceParms>
</ns2:instanceDetails>
</ns2:tModelInstanceInfo>
</ns2:tModelInstanceDetails>
<ns2:categoryBag>
<ns2:keyedReference tModelKey="uddi:uddi.org:categorization:types" 
keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment"/>
</ns2:categoryBag>
</ns2:bindingTemplate>
</ns2:bindingDetail>
</soap:Body>
</soap:Envelope>

See also: 
http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v202-20040631.htm#_Toc76437781

Maybe this will get you going?

-Kurt

On 10/3/11 5:42 PM, S K wrote:
> 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<ku...@gmail.com>  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<ku...@gmail.com>    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();
>>>>>                 }
>>>>>         }
>>


Re: org.apache.juddi.query.util.FindQualifiers

Posted by S K <sk...@gmail.com>.
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 <ku...@gmail.com> 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<ku...@gmail.com>  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();
>>>>                }
>>>>        }
>>>
>
>

Re: org.apache.juddi.query.util.FindQualifiers

Posted by Kurt T Stam <ku...@gmail.com>.
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<ku...@gmail.com>  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();
>>>                 }
>>>         }
>>


Re: org.apache.juddi.query.util.FindQualifiers

Posted by S K <sk...@gmail.com>.
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 <ku...@gmail.com> 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();
>>                }
>>        }
>
>

Re: org.apache.juddi.query.util.FindQualifiers

Posted by Kurt T Stam <ku...@gmail.com>.
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();
> 		}
> 	}