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?

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).
When we use keyedReference should n't we get any error/exception if the
tmodel given in the TmodelKey is not defined before?

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";);
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