UDDI 节点值集的管理

您可以使用 UDDI 注册中心管理接口来检查和管理 UDDI 应用程序的运行时配置。您可以管理关于 UDDI 节点的信息及其激活状态、更新属性和策略、设置发布层限制、注册 UDDI 发布者以及控制值集支持。

值集在 UDDI 注册中心中表示为值集 tModel 实体,具有值为 categorization 的 keyedReference UDDI 类型。此类值集以有效值集为支持。对于用户定义的值集,会使用 UddiNode MBean 操作将此数据装入到 UDDI 注册中心(虽然使用用户定义的值集工具来执行此操作更方便)。

可通过策略将每个值集控制为受支持或不受支持。当通过策略支持值集时,可在 UDDI 发布请求中对其进行引用。UddiNode MBean 提供以下操作来管理值集及其数据:
  • getValueSets
  • getValueSetDetail
  • getValueSetProperty
  • updateValueSet
  • updateValueSets
  • loadValueSet
  • changeValueSetTModelKey
  • unloadValueSet
  • isExistingValueSet

WebSphere® Application Server 的样本中,UDDI 注册中心样本中的 ManageValueSetsSample 类演示这些操作。

getValueSets
返回 ValueSetStatus 对象的集合。
  1. 调用 getValueSets 操作:
    List valueSets = uddiNode.getValueSets();
  2. 将每个元素强制转换为 ValueSetStatus 并输出内容:
    for (Iterator iter = valueSets.iterator(); iter.hasNext();) {
    
       ValueSetStatus valueSetStatus = (ValueSetStatus) iter.next();
       System.out.println(valueSetStatus);
    }
getValueSetDetail
返回给定值集 tModel 键的 ValueSetStatus 对象。
  1. 调用 getValueSetDetail 操作:
    uddiNode.getValueSetDetail("uddi:uddi.org:ubr:categorization:naics:2002");
  2. 检索并显示详细信息:
    String name = valueSetStatus.getName();
    String displayName = valueSetStatus.getDisplayName();
    boolean supported = valueSetStatus.isSupported();
        
    System.out.println("name: " + name);
    System.out.println("display name: " + displayName);
    System.out.println("supported: " + supported);
  3. 显示值集属性:
    List properties = valueSetStatus.getProperties();
        
    for (Iterator iter = properties.iterator(); iter.hasNext();) {
    
       ValueSetProperty property = (ValueSetProperty) iter.next();
       System.out.println(property);
    }
getValueSetProperty
将值集的属性作为 ValueSetProperty 对象返回。此操作主要供管理控制台用来将值集的属性呈现为表中的行。例如,此类属性之一是 keyedReference 属性,指示是否已检查值集。
  1. 调用 getValueSetProperty 操作:
    uddiNode.getValueSetProperty("uddi:uddi.org:ubr:categorization:naics:2002", 
       ValueSetPropertyConstants.VS_CHECKED);
  2. 读取并显示属性的布尔值:
    boolean checked = valueSetProperty.getBooleanValue();
        
    System.out.println("checked: " + checked);
updateValueSet
更新值集状态。只能更新支持的属性。所有其他 setter 方法都可供 UDDI 应用程序使用。
  1. 通过指定 tModel 键和已更新的支持值创建 ValueSetStatus 对象:
    ValueSetStatus updatedStatus = new ValueSetStatus();
    updatedStatus.setTModelKey("uddi:uddi.org:ubr:categorization:naics:2002");
    updatedStatus.setSupported(true);
  2. 调用 updateValueSet 操作:
    uddiNode.updateValueSet(updatedStatus);
updateValueSets
更新多个值集的值集状态。类似于 updateValueSet 操作,只更新支持的属性。
  1. 用已更新的 ValueSetStatus 对象填充列表:
    List valueSets = new ArrayList();
    
    ValueSetStatus valueSetStatus = new ValueSetStatus();
    valueSetStatus.setTModelKey("uddi:uddi.org:ubr:categorization:naics:2002");
    valueSetStatus.setSupported(false);
    valueSets.add(valueSetStatus);
    
    valueSetStatus = new ValueSetStatus();
    valueSetStatus.setTModelKey("uddi:uddi.org:ubr:categorizationgroup:wgs84");
    valueSetStatus.setSupported(false);
    valueSets.add(valueSetStatus);
    
    valueSetStatus = new ValueSetStatus();
    valueSetStatus.setTModelKey("uddi:uddi.org:ubr:identifier:iso6523:icd");
    valueSetStatus.setSupported(false);
    valueSets.add(valueSetStatus);
  2. 调用 updateValueSets 操作:
    uddiNode.updateValueSets(valueSets);
loadValueSet
从本地文件系统上的 UDDI 注册中心 V3 或 V2 分类法数据文件中装入值集的值。
注: 还存在获取 ValueSetData 对象的 loadValueSet 操作,但此操作仅供用户定义的值集工具使用。
  1. 调用 loadValueSet 操作:
    [Windows]
    uddiNode.loadValueSet("C:/valuesets/myvalueset.txt", 
       "uddi:cell:node:server:myValueSet");
    [IBM i][z/OS]
    uddiNode.loadValueSet("/valuesets/myvalueset.txt", 
       "uddi:cell:node:server:myValueSet");
changeValueSetTModelKey
会将分配到某个值集 tModel 的任何值集值分配到新值集 tModel。
  • 通过指定旧的和新的 tModel 键来调用 changeValueSetTModelKey 操作:
    uddiNode.changeValueSetTModelKey(
    "uddi:cell:node:server:myValueSet", 
    "uddi:cell:node:server:myNewValueSet");
unloadValueSet
用给定的 tModel 键卸载值集的值。
  • 调用 unloadValueSet 操作:
    uddiNode.unloadValueSet("uddi:myValueSet");
isExistingValueSet
确定给定的 tModel 键是否存在值集数据。
  1. 调用 isExistingValueSet 操作并显示结果:
    boolean exists = uddiNode.isExistingValueSet(
        "uddi:uddi.org:ubr:categorization:naics:2002");
    System.out.println("NAICS 2002 is a value set: " + exists);

指示主题类型的图标 参考主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rwsu_ai_vs
文件名:rwsu_ai_vs.html