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