Hi Aditi, please read my comments inline. Thanks!  --Kurt

On 3/15/11 12:45 PM, Aditi Kukreja wrote:
Hi,

I am trying to publish a WSDL to a UDDI registry using JUDDI(v3.0.4). I found that this UDDI server installation from JUDDI does not have the following new canonical tModels. Please refer to http://uddi.xml.org/registered-tmodels for a complete list. WSDL Entity Type tModel, the XML Namespace tModel, the XML Local Name tModel, the WSDL portType Reference tModel, the SOAP Protocol tModel, the HTTP Protocol tModel, the Protocol Categorization tModel, the Transport Categorization tModel and the WSDL Address tModel

Could you please let me know if these are intentionally not part of the installation or these were not included in the 3.0.4 release? Also please let me know which all UDDI registered tModels are not supported in JUDDI v3.0.4 and how can we support the same?
it appears, we only included the UDDI tModels as referenced in the 3.0.2 spec. It'd be great if you can open a jira for it and attach the new models. We have a new release coming in the next week or so, so I will make sure they will be added.

Also there is nothing from stopping you from adding them yourself in 3.0.4.

Also, even if the registered tModels are not found at the server installation I don't see any error when I try to save a keyedreference giving the tModel key for the missing registered tModels. I am using oasis standard version 2.0.2 to map a wsdl to uddi data structures (http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#_Toc76437768). <http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#_Toc76437768%29.> When we use keyedReference should n't we get any error/exception if the tmodel given in the TmodelKey is not defined before?
Yes for keyedReferences we should add a check to see if they exist. Good find, we don't do that now. Can you open a jira for that too?


Please refer to the code below for details

TModel tModel = new TModel();
Name tModelName = new Name();
tModelName.setValue("NewPort");
tModel.setName(tModelName);
// setting the OverviewDoc that contains the WSDL URL
OverviewDoc od = new OverviewDoc();
od.setOverviewURL(new OverviewURL());
od.getOverviewURL().setValue("http://abc.com:8080/ABCService/NewService/";);
tModel.getOverviewDoc().add(od);

CategoryBag cb = new CategoryBag();
KeyedReference kr = new KeyedReference();
//specifies portType namespace
kr.setKeyName("portType namespace");
kr.setKeyValue("http://www.abc.com <http://www.abc.com/>");
kr.setTModelKey("uddi:uddi.org:xml:namespace");
cb.getKeyedReference().add(kr);

KeyedReference kr1 = new KeyedReference();
//specifies tModel is of portType
kr1.setKeyName("WSDL type");
kr1.setKeyValue("portType");
kr1.setTModelKey("uddi:uddi.org:wsdl:types");
cb.getKeyedReference().add(kr1);
tModel.setCategoryBag(cb);

// new save tModel structure
SaveTModel saveTModel = new SaveTModel();
// setting login information as AuthInfo structure
saveTModel.setAuthInfo(authToken.getAuthInfo());
// adding tModel which will be saved
saveTModel.getTModel().add(tModel);

// calling API method save_tModel and obtaining result in TModelDetail structure
TModelDetail tModelDetail = publishing.saveTModel(saveTModel);
String portTypeTModelKey = tModelDetail.getTModel().get(0).getTModelKey();

Regards,
Aditi

Reply via email to