1 /* 2 * Copyright 2001-2008 The Apache Software Foundation. 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 * 16 */ 17 package org.uddi.v3_service; 18 19 import java.rmi.Remote; 20 import java.rmi.RemoteException; 21 import java.util.List; 22 import javax.jws.WebMethod; 23 import javax.jws.WebParam; 24 import javax.jws.WebResult; 25 import javax.jws.WebService; 26 import javax.jws.soap.SOAPBinding; 27 import javax.xml.bind.annotation.XmlSeeAlso; 28 import javax.xml.ws.Holder; 29 import javax.xml.ws.RequestWrapper; 30 import javax.xml.ws.ResponseWrapper; 31 import org.uddi.api_v3.AddPublisherAssertions; 32 import org.uddi.api_v3.AssertionStatusItem; 33 import org.uddi.api_v3.BindingDetail; 34 import org.uddi.api_v3.BusinessDetail; 35 import org.uddi.api_v3.CompletionStatus; 36 import org.uddi.api_v3.DeleteBinding; 37 import org.uddi.api_v3.DeleteBusiness; 38 import org.uddi.api_v3.DeletePublisherAssertions; 39 import org.uddi.api_v3.DeleteService; 40 import org.uddi.api_v3.DeleteTModel; 41 import org.uddi.api_v3.GetRegisteredInfo; 42 import org.uddi.api_v3.PublisherAssertion; 43 import org.uddi.api_v3.RegisteredInfo; 44 import org.uddi.api_v3.SaveBinding; 45 import org.uddi.api_v3.SaveBusiness; 46 import org.uddi.api_v3.SaveService; 47 import org.uddi.api_v3.SaveTModel; 48 import org.uddi.api_v3.ServiceDetail; 49 import org.uddi.api_v3.TModelDetail; 50 51 /** 52 * This portType defines all of the UDDI publication operations. 53 * 54 * This class was generated by the JAX-WS RI. JAX-WS RI 2.1.5-b03- Generated 55 * source version: 2.1 <h2 style="margin-left:0in;text-indent:0in"><a 56 * name="_Toc527816081">Publication </a>API Set</h2> 57 * 58 * <p class="MsoBodyText">The API calls in this section are used to publish and 59 * update information contained in a UDDI registry. According to the 60 * policy of the UDDI registry, a publisher selects a UDDI node where it will 61 * publish the information. </p> 62 * 63 * <p class="MsoBodyText">API calls in this section MUST all be implemented as 64 * synchronous and "atomic" from the point of view of the caller. That is, each 65 * call MUST either succeed completely or fail completely. Partial results MUST 66 * NOT be returned.</p> 67 * 68 * <h3><a name="_Toc528997551"></a><a name="_Toc525464311"></a><a 69 * name="_Ref247612"></a><a name="_Toc85908096"></a><a 70 * name="_Toc53709291"></a><a name="_Toc45096377"></a><a 71 * name="_Toc45095920"></a><a name="_Toc42047297"></a><a 72 * name="_Ref12253009">5.2.1 Publishing entities with node assigned 73 * keys</a></h3> 74 * 75 * <p class="MsoBodyText">When a publisher does not provide keys for new 76 * entities, the UDDI node will assign keys in accordance with registry policy. 77 * Node-assigned keys MUST use keys that conform to the grammar in Section <a 78 * href="#_Ref8978849 ">4.4</a> <i>About uddiKeys</i>.</p> 79 * 80 * <h3><a name="_Toc85908097"></a><a name="_Toc53709292"></a><a 81 * name="_Toc45096378"></a><a name="_Toc45095921"></a><a 82 * name="_Toc42047298"></a><a name="_Ref8978630">5.2.2 Publishing entities with 83 * publisher-assigned keys</a></h3> 84 * 85 * <p class="MsoBodyText">The registry keying policy MAY allow an entity’s key 86 * to be proposed by the publisher. If the publisher does not propose a key for 87 * an entity, the registry MUST assign one. </p> 88 * 89 * <p class="MsoBodyText">Since entity keys MUST be unique in a registry without 90 * regard to the type of entity and since registries MUST define to impose 91 * policies concerning which publishers may publish which keys, 92 * publisher-assigned keys are subject to rules that UDDI registries enforce. 93 * Behavior that ensures uniqueness across entity types (businessEntity, 94 * businessService, bindingTemplate, tModel and subscription) is REQUIRED for 95 * all registries. In this section we discuss the behavior of registries that 96 * use the recommended "uddi:" key structure. This behavior provides uniqueness 97 * and promotes interoperability among registries, while allowing various 98 * registry-specific policies to be built. Practical guidance for the use of 99 * this facility may be found in Section <a 100 * href="../../../../../hately/My%20Documents/uddi/v3specification/UDDI%20V3%20Specification.htm#_Ref9007543#_Ref9007543">9.4.2</a> 101 * <i>General Keying Policy</i> and Section <a 102 * href="../../../../../hately/My%20Documents/uddi/v3specification/UDDI%20V3%20Specification.htm#_Ref9007521#_Ref9007521">9.4.3</a> 103 * <i>Policy Abstractions for the UDDI keying scheme</i>.</p> 104 * 105 * <h4 style="margin-left:0in;text-indent:0in"><a name="_Ref9009437">5.2.2.1 Key 106 * generator keys and their partitions</a></h4> 107 * 108 * <p class="MsoBodyText">To ensure that publisher-generated keys do not 109 * conflict with one another, registries assign the authority to generate keys 110 * to publishers in the following manner:</p> 111 * 112 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in">1.<span 113 * style="font:7.0pt "Times New 114 * Roman""> </span>The conceptual space 115 * of uddiKeys is divided into non-overlapping, hierarchically arranged 116 * partitions, each of which can be associated with a publisher.</p> 117 * 118 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in">2.<span 119 * style="font:7.0pt "Times New 120 * Roman""> </span>Only the publisher 121 * associated with a particular partition is given the authority to assign keys 122 * within the partition.</p> 123 * 124 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in">3.<span 125 * style="font:7.0pt "Times New 126 * Roman""> </span>The publisher with 127 * authority for a given partition may designate any publisher it chooses for 128 * any partition directly below the partition it manages, provided it has not 129 * already designated a publisher to that partition.</p> 130 * 131 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in">4.<span 132 * style="font:7.0pt "Times New 133 * Roman""> </span>The publisher with 134 * authority for a partition may transfer its authority to another 135 * publisher.</p> 136 * 137 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in">5.<span 138 * style="font:7.0pt "Times New 139 * Roman""> </span>Initially, the 140 * registry itself has authority for the root partition of the hierarchy.</p> 141 * 142 * <p class="MsoBodyText">The specific mechanisms that enforce these rules are 143 * explained below.</p> 144 * 145 * <p class="MsoBodyText">Each node of a registry is a generator of keys. 146 * This is required to enable the node to generate keys not provided by 147 * publishers. In addition, the policies of a registry MAY allow individual 148 * publishers to obtain the authority to be generators of keys for specific 149 * partitions within the space of uddiKeys. Publishers obtain this authority by 150 * owning a particular tModel called a key generator tModel. The key 151 * generator tModel contains a key generator key, and it specifies the partition 152 * for which the publisher may assign keys. </p> 153 * 154 * <p class="MsoBodyText"><span style="layout-grid-mode:line">The subset of 155 * derivedKeys called <i>key generator keys</i> consists of all the keys of the 156 * form:</span></p> 157 * 158 * <p class="MsoNormal" style="margin-left:1.0in">keyGeneratorKey 159 * = 160 * uddiKey <span 161 * style="layout-grid-mode:line">":keygenerator"</span></p> 162 * 163 * <p class="MsoBodyText">As described in Section 4.4.1, a derivedKey is one 164 * that is formed from another key by appending a non-empty, colon-prefixed 165 * string to another uddiKey. A derivedKey is said to be "based on" this 166 * uddiKey. With this in mind, the complete partition of a given keyGeneratorKey 167 * is the set of keys consisting of:</p> 168 * 169 * <p class="MsoBodyText"> </p> 170 * 171 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in">1.<span 172 * style="font:7.0pt "Times New 173 * Roman""> </span>The set of 174 * derivedKeys based on the same uddiKey that the keyGeneratorKey is based 175 * upon.</p> 176 * 177 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in">2.<span 178 * style="font:7.0pt "Times New 179 * Roman""> </span>The set of 180 * keyGeneratorKeys based on a key that is in the partition.</p> 181 * 182 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in">3.<span 183 * style="font:7.0pt "Times New 184 * Roman""> </span>The domainKey, if 185 * the keyGeneratorKey is based upon that domainKey.</p> 186 * 187 * <p class="MsoBodyText"> </p> 188 * 189 * <p class="MsoBodyText">Note that the partition's keyGeneratorKey itself is 190 * exluded from the partition.</p> 191 * 192 * <p class="MsoBodyText">A rootKeyGeneratorKey is a keyGeneratorKey that is not 193 * based on a derivedKey. That is:</p> 194 * 195 * <p class="MsoNormal" style="margin-left:1.0in">rootKeyGeneratorKey 196 * = (uuidKey / 197 * domainKey) ":keygenerator"</p> 198 * 199 * <p class="MsoNormal" style="margin-left:1.0in"> </p> 200 * 201 * <h5 style="margin-left:0in;text-indent:0in">5.2.2.1.1 Examples</h5> 202 * 203 * <p class="MsoBodyText">Based on the rules above, it is possible to construct 204 * the keyGeneratorKey for any key by manipulating the string representation of 205 * the key. To illustrate, suppose the key is x, then the following pseudo-code 206 * will determine the keyGeneratoryKey:</p> 207 * 208 * <p class="codeSample">If x is a keyGeneratorKey, and y is that key minus the 209 * ":keygenerator" suffix,</p> 210 * 211 * <p class="codeSample">then if y is a domainKey</p> 212 * 213 * <p class="codeSample"> then x is a top-level keyGenerator, and 214 * has no keyGeneratorKey (1.a)</p> 215 * 216 * <p class="codeSample"> else y is a derivedKey, based on z, </p> 217 * 218 * <p class="codeSample"> and x’s 219 * keyGeneratorKey is z:keyGenerator (1.b)</p> 220 * 221 * <p class="codeSample">else</p> 222 * 223 * <p class="codeSample" style="margin-left:1.0in">If x is a domainKey </p> 224 * 225 * <p class="codeSample" style="margin-left:1.0in">then x’s keyGeneratorkey is 226 * x:keyGenerator (2)<br> else x is based on a key y, and x’s keyGenerator is 227 * y:keyGenerator (3)</p> 228 * 229 * <p class="MsoBodyText"> </p> 230 * 231 * <p class="MsoBodyText">Using this pseudo-code illustration, the following 232 * table provides examples of legal URI’s and their associated key generators 233 * for each of the four cases noted:</p> 234 * 235 * <table class="specTable" 236 * style="width:452.0pt;margin-left:.5in;border-collapse:collapse;border:none" 237 * border="1" cellpadding="0" cellspacing="0" width="603"> <tbody><tr> <td 238 * style="width:164.0pt;border:solid black 1.0pt; background:#FFFFCA;padding:0in 239 * 5.4pt 0in 5.4pt" valign="top" width="219"> <p 240 * class="MsoNormal"><b>Key</b></p> </td> <td style="width:2.25in;border:solid 241 * black 1.0pt; border-left:none;background:#FFFFCA;padding:0in 5.4pt 0in 5.4pt" 242 * valign="top" width="216"> <p class="MsoNormal"><b>keyGeneratorKey</b></p> 243 * </td> <td style="width:1.75in;border:solid black 1.0pt; 244 * border-left:none;background:#FFFFCA;padding:0in 5.4pt 0in 5.4pt" valign="top" 245 * width="168"> <p class="MsoNormal"><b>Case in pseudo-code</b></p> </td> </tr> 246 * <tr> <td style="width:164.0pt;border:solid black 1.0pt; 247 * border-top:none;padding:0in 5.4pt 0in 5.4pt" valign="top" width="219"> <p 248 * class="MsoNormal">uddi:tempuri.com</p> </td> <td 249 * style="width:2.25in;border-top:none;border-left: none;border-bottom:solid 250 * black 1.0pt;border-right:solid black 1.0pt; padding:0in 5.4pt 0in 5.4pt" 251 * valign="top" width="216"> <p 252 * class="MsoNormal">uddi:tempuri.com:keygenerator</p> </td> <td 253 * style="width:1.75in;border-top:none;border-left: none;border-bottom:solid 254 * black 1.0pt;border-right:solid black 1.0pt; padding:0in 5.4pt 0in 5.4pt" 255 * valign="top" width="168"> <p class="MsoNormal">2</p> </td> </tr> <tr> <td 256 * style="width:164.0pt;border:solid black 1.0pt; border-top:none;padding:0in 257 * 5.4pt 0in 5.4pt" valign="top" width="219"> <p 258 * class="MsoNormal">uddi:tempuri.com:keygenerator</p> </td> <td 259 * style="width:2.25in;border-top:none;border-left: none;border-bottom:solid 260 * black 1.0pt;border-right:solid black 1.0pt; padding:0in 5.4pt 0in 5.4pt" 261 * valign="top" width="216"> <p class="MsoNormal"><none></p> </td> <td 262 * style="width:1.75in;border-top:none;border-left: none;border-bottom:solid 263 * black 1.0pt;border-right:solid black 1.0pt; padding:0in 5.4pt 0in 5.4pt" 264 * valign="top" width="168"> <p class="MsoNormal">1.a</p> </td> </tr> <tr> <td 265 * style="width:164.0pt;border:solid black 1.0pt; border-top:none;padding:0in 266 * 5.4pt 0in 5.4pt" valign="top" width="219"> <p class="MsoNormal"><span 267 * lang="IT">uddi:tempuri.com:xxx:keygenerator</span></p> </td> <td 268 * style="width:2.25in;border-top:none;border-left: none;border-bottom:solid 269 * black 1.0pt;border-right:solid black 1.0pt; padding:0in 5.4pt 0in 5.4pt" 270 * valign="top" width="216"> <p 271 * class="MsoNormal">uddi:tempuri.com:keygenerator</p> </td> <td 272 * style="width:1.75in;border-top:none;border-left: none;border-bottom:solid 273 * black 1.0pt;border-right:solid black 1.0pt; padding:0in 5.4pt 0in 5.4pt" 274 * valign="top" width="168"> <p class="MsoNormal">1.b</p> </td> </tr> <tr> <td 275 * style="width:164.0pt;border:solid black 1.0pt; border-top:none;padding:0in 276 * 5.4pt 0in 5.4pt" valign="top" width="219"> <p 277 * class="MsoNormal">uddi:tempuri.com:xxx</p> </td> <td 278 * style="width:2.25in;border-top:none;border-left: none;border-bottom:solid 279 * black 1.0pt;border-right:solid black 1.0pt; padding:0in 5.4pt 0in 5.4pt" 280 * valign="top" width="216"> <p 281 * class="MsoNormal">uddi:tempuri.com:keygenerator</p> </td> <td 282 * style="width:1.75in;border-top:none;border-left: none;border-bottom:solid 283 * black 1.0pt;border-right:solid black 1.0pt; padding:0in 5.4pt 0in 5.4pt" 284 * valign="top" width="168"> <p class="MsoNormal">3</p> </td> </tr> <tr> <td 285 * style="width:164.0pt;border:solid black 1.0pt; border-top:none;padding:0in 286 * 5.4pt 0in 5.4pt" valign="top" width="219"> <p 287 * class="MsoNormal">uddi:tempuri.com:xxx:yyy</p> </td> <td 288 * style="width:2.25in;border-top:none;border-left: none;border-bottom:solid 289 * black 1.0pt;border-right:solid black 1.0pt; padding:0in 5.4pt 0in 5.4pt" 290 * valign="top" width="216"> <p class="MsoNormal"><span 291 * lang="IT">uddi:tempuri.com:xxx:keygenerator</span></p> </td> <td 292 * style="width:1.75in;border-top:none;border-left: none;border-bottom:solid 293 * black 1.0pt;border-right:solid black 1.0pt; padding:0in 5.4pt 0in 5.4pt" 294 * valign="top" width="168"> <p class="MsoNormal">3</p> </td> </tr> 295 * </tbody></table> 296 * 297 * <p class="MsoBodyText"> </p> 298 * 299 * <p class="MsoBodyText">The following keys do NOT belong to the partition of 300 * the key generator key "uddi:tempuri.com:keygenerator".</p> 301 * 302 * <table class="MsoNormalTable" 303 * style="width:405.0pt;margin-left:77.4pt;border-collapse:collapse" border="0" 304 * cellpadding="0" cellspacing="0" width="540"> <tbody><tr> <td 305 * style="width:171.0pt;padding:0in 5.4pt 0in 5.4pt" valign="top" width="228"> 306 * <p class="MsoNormal"> "uddi:tempuri.com:keygenerator"</p> </td> <td 307 * style="width:3.25in;padding:0in 5.4pt 0in 5.4pt" valign="top" width="312"> <p 308 * class="MsoNormal">The keyGeneratorKey does not belong to the partition it 309 * designates.</p> <p class="MsoNormal"> </p> </td> </tr> <tr> <td 310 * style="width:171.0pt;padding:0in 5.4pt 0in 5.4pt" valign="top" width="228"> 311 * <p class="MsoNormal">"uddi:tempuri.com:xxx:yyy"</p> </td> <td 312 * style="width:3.25in;padding:0in 5.4pt 0in 5.4pt" valign="top" width="312"> <p 313 * class="MsoNormal">This key belongs to the partition of the keyGeneratorKey 314 * "uddi:tempuri.com:xxx:keygenerator", not this one.</p> </td> </tr> <tr> <td 315 * style="width:171.0pt;padding:0in 5.4pt 0in 5.4pt" valign="top" width="228"> 316 * <p class="MsoNormal"><span 317 * lang="IT">"uddi:tempuri.com:keygenerator:zzz"</span></p> </td> <td 318 * style="width:3.25in;padding:0in 5.4pt 0in 5.4pt" valign="top" width="312"> <p 319 * class="MsoNormal">This key does not belong in any partition – it is an 320 * invalid key.</p> </td> </tr> </tbody></table> 321 * 322 * <p class="MsoNormal"><a name="_Ref529862482"></a><a 323 * name="_Hlt531586136"></a> </p> 324 * 325 * <h4 style="margin-left:0in;text-indent:0in"><a name="_Ref8978954">5.2.2.2 326 * Behavior of publishers</a></h4> 327 * 328 * <p class="MsoBodyText">To successfully publish a new entity with a proposed 329 * key, the publisher needs to own the key generator tModel for the partition in 330 * which the key lies. Typically, a publisher gets ownership by publishing the 331 * tModel in question, but publishers can also get ownership in other ways, for 332 * example by having another publisher transfer ownership.</p> 333 * 334 * <p class="MsoBodyText">Once a publisher owns a key generator tModel that 335 * publisher MAY publish new entities<a href="#_ftn20" name="_ftnref20" 336 * title=""><span class="MsoFootnoteReference"><span 337 * class="MsoFootnoteReference"><span 338 * style="font-size:10.0pt;letter-spacing:-.25pt">[20]</span></span></span></a> 339 * and assign them keys within the key generator tModel’s partition. New keys 340 * can only be generated from keyGenerator tModels that are not hidden. 341 * Publishers are responsible for managing the uniqueness of the keys in the 342 * partition they own. If a publisher fails to do so, and generates an already 343 * used key, a publish operation could inadvertently replace an entity 344 * previously published by that publisher.</p> 345 * 346 * <p class="MsoBodyText">If a publisher owns key generator tModels with the 347 * same key in multiple registries – for example one in the publisher’s private 348 * test registry and one in the UDDI Business Registry – that publisher MAY 349 * publish the entities with identical keys in those registries. This enables 350 * many interesting capabilities. For example, publishers may choose to develop 351 * their UDDI entities by publishing them into test registries and then, at 352 * appropriate times, "promote" them to the UDDI Business Registry.</p> 353 * 354 * <h4 style="margin-left:0in;text-indent:0in"><a name="_Ref4335985">5.2.2.3 355 * Behavior of UDDI nodes</a></h4> 356 * 357 * <p class="MsoBodyText">To ensure that publisher-assigned keys work correctly 358 * all UDDI implementations behave as follows.</p> 359 * 360 * <h5 style="margin-left:0in;text-indent:0in">5.2.2.3.1 "New" and "existing" 361 * entities defined</h5> 362 * 363 * <p class="MsoBodyText">During a publish operation, the entity or entities 364 * being published are either "new" or "existing". An existing entity is one 365 * that has a key that matches the key of an entity already in the registry. A 366 * new entity is one that does not. If a new entity has a key, this key is the 367 * key proposed for that entity by its publisher.</p> 368 * 369 * <h5 style="margin-left:0in;text-indent:0in">5.2.2.3.2 Behavior with respect 370 * to entities for which no key is proposed.</h5> 371 * 372 * <p class="MsoBodyText">A UDDI node MUST generate and assign a key to each 373 * entity for which the publisher proposes no key. It may generate uuidKeys for 374 * use as the keys of new entities for which no key is proposed or it may 375 * generate keys in the partition of a key generator tModel it owns. </p> 376 * 377 * <p class="MsoBodyText">A registry whose nodes assign uddiKeys to new entities 378 * is called a root registry. The UDDI Business Registry is a root registry. A 379 * registry whose nodes gain ownership of their key generator tModels by 380 * publishing them in the UDDI Business Registry are affiliates of the UDDI 381 * Business Registry. See Section <a href="#_Ref11678674 ">1.5.5</a> 382 * <i>Affiliations of Registries</i>.</p> 383 * 384 * <h5 style="margin-left:0in;text-indent:0in">5.2.2.3.3 Behavior with respect 385 * to uuidKeys</h5> 386 * 387 * <p class="MsoBodyText">A UDDI node SHOULD accept a uuidKey as the key for a 388 * new entity during a publish operation if the publisher is a trusted publisher 389 * of such keys, according to the policies of the registry. UDDI nodes MUST NOT 390 * allow other publishers to generate uuidKeys.</p> 391 * 392 * <h5 style="margin-left:0in;text-indent:0in">5.2.2.3.4 Behavior with respect 393 * to key generator keys</h5> 394 * 395 * <p class="MsoBodyText">A UDDI node MUST NOT publish any non-tModel entity 396 * whose proposed key is a key generator key. A tModel whose proposed key 397 * is a key generator key MUST include a category bag with a keyed reference 398 * with the tModelKey set to "uddi:uddi.org:categorization:types" and the 399 * keyValue set to "keyGenerator".</p> 400 * 401 * <h5 style="margin-left:0in;text-indent:0in">5.2.2.3.5 Behavior with respect 402 * to root key generator keys</h5> 403 * 404 * <p class="MsoBodyText">During a publish operation a UDDI node SHOULD accept a 405 * root key generator key as the key for a new tModel if it is proposed by a 406 * publisher authorized to publish the key, according to the policies of the 407 * registry. The policy MUST prevent more than one publisher from publishing 408 * tModels with the same root key generator key. </p> 409 * 410 * <p class="MsoBodyText">An appropriate policy for root and for affiliated 411 * registries is given in Chapter <a href="#_Ref8981882 ">9</a> 412 * <i>Policy</i>.</p> 413 * 414 * <h5 style="margin-left:0in;text-indent:0in">5.2.2.3.6 Behavior with respect 415 * to other proposed keys</h5> 416 * 417 * <p class="MsoBodyText">A UDDI node SHOULD accept keys proposed for new 418 * entities during publishing operations if they meet both of the following 419 * criteria.</p> 420 * 421 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span 422 * style="font-family:Symbol;layout-grid-mode:line">·<span style="font:7.0pt 423 * "Times New Roman""> 424 * </span></span><span style="layout-grid-mode:line">The proposed key lies in 425 * the partition of the key of an existing key generator tModel and the key 426 * generator tModel is not hidden.</span></p> 427 * 428 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span 429 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 430 * Roman""> 431 * </span></span>The same publisher who is proposing the new key owns the key 432 * generator tModel referred to in the previous bullet.<span 433 * class="MsoFootnoteReference"> </span><a href="#_ftn21" name="_ftnref21" 434 * title=""><span 435 * style="font-size:10.0pt;font-family:Arial;letter-spacing:-.25pt">[21]</span></a></p> 436 * 437 * <h4 style="margin-left:0in;text-indent:0in">5.2.2.4 Affiliations of 438 * registries</h4> 439 * 440 * <p class="MsoBodyText">A set of registries may cooperate in managing a single 441 * multi-registry key space by designating one of the registries in the group to 442 * be the "root registry" and assigning it to be the authority for the root 443 * partition. Other registries in the set are said to be affiliate 444 * registries. See Section <a href="#_Ref11678674 ">1.5.5</a> 445 * <i>Affiliations of Registries</i> for more information</p> 446 * 447 * <p class="MsoBodyText">The UDDI Business Registry is a root registry. Its 448 * policies and procedures are designed to make it simple for any UDDI registry 449 * to be affiliated with it.</p> 450 * 451 * <p class="MsoBodyText">Designating new authorities is done by publishing key 452 * generator tModels in the root registry, in one or more of the registries 453 * affiliated with the root registry or both. The owner of a key generator 454 * tModel is the naming authority for the partition the tModel represents. </p> 455 * 456 * <h3><a name="_Toc85908098"></a><a name="_Toc53709293"></a><a 457 * name="_Toc45096379"></a><a name="_Toc45095922"></a><a 458 * name="_Toc42047299"></a><a name="_Ref8978999">5.2.3 Special considerations 459 * for validated value sets</a></h3> 460 * 461 * <p class="MsoBodyText">Several of the APIs defined in this section allow 462 * publishers to save category and identifier information in support of searches 463 * that use category and identifier system references. The save_business, 464 * save_service, save_binding and save_tModel APIs allow designation of these 465 * value set references. Categorization is specified using the element 466 * named categoryBag, which contains namespace-qualified references to 467 * categories and descriptions. categoryBags can also contain groups of 468 * these references to categories and descriptions. Identifiers are 469 * specified using the identifierBag element, which contains namespace-qualified 470 * references to identifiers and descriptions.</p> 471 * 472 * <p class="MsoBodyText">Similarly, the add_publisherAssertions and 473 * set_publisherAssertions APIs allow publisherAssertion elements to be 474 * saved. These publisherAssertion elements contain a characterization of 475 * the relationship being established using a keyedReference element that refers 476 * to a relationship type system.</p> 477 * 478 * <p class="MsoBodyText">Identifier, category and relationship type systems 479 * taken together are referred to as "value sets." UDDI allows value sets 480 * to be checked or unchecked. References to checked value sets that are 481 * registered in UDDI can be checked internally by the UDDI nodes where 482 * publishing takes place, or externally by a provider of a validation Web 483 * service. The UDDI node can also choose to not support some or all 484 * checked value sets.</p> 485 * 486 * <p class="MsoBodyText">When a UDDI node encounters a reference to a checked 487 * value set in a keyedReference it will either ensure the reference is 488 * validated or fail the save. Such references to supported checked value 489 * sets are verified for validity according to the validation algorithm defined 490 * for the value set and described by its tModel. When all checks succeed, 491 * the save is permitted. An E_unvalidatable error indicates the checked 492 * value set is supported but its validation algorithm is not available. 493 * An E_unsupported indicates the checked value set is not supported by the 494 * node. E_invalidValue or E_valueNotAllowed indicate one or more 495 * references failed validation. When the checked value set is not 496 * supported, the value set’s validation algorithm is unavailable, or any of the 497 * references fail validation, the save operation MUST fail. </p> 498 * 499 * <p class="MsoBodyText">When the UDDI node supports a checked value set it may 500 * check the references itself, or consult a validation Web service. For 501 * cached checked value sets, the UDDI node verifies that referenced keyValues 502 * are in the set of valid values for the value set. The selection of an 503 * algorithm for verifying a checked value set is a matter of registry policy as 504 * detailed in Chapter <a href="#_Ref8980043 ">9</a> <i>Policy</i>.</p> 505 * 506 * <p class="MsoBodyText">A category group system is portrayed by a 507 * keyedRefererenceGroup element. Each keyedReferenceGroup has a tModelKey 508 * that references the category group system, and a set of contained 509 * keyedReference elements that make up the actual group of categories. 510 * Similar to references to checked value sets, validation is carried out for a 511 * keyedReferenceGroup if the referenced category group system is checked. 512 * Such validation entails verification that the keyedReferenceGroup is valid 513 * according to the validation algorithm described by the tModel for the 514 * category group system. Validation for a keyedReferenceGroup that 515 * references a cached checked category group system involves verification that 516 * the tModels referenced by the contained keyedReference elements are valid for 517 * the category group system. The set of valid values for such a cacheable 518 * checked category group system is defined by the tModelKeys for the set of 519 * tModels that can participate in the group.</p> 520 * 521 * <p class="MsoBodyText">No validation is performed on references to unchecked 522 * value sets</p> 523 * 524 * <h3><a name="_Toc85908099"></a><a name="_Toc53709294"></a><a 525 * name="_Toc45096380"></a><a name="_Toc45095923"></a><a 526 * name="_Toc42047300"></a><a name="_Ref535223605"></a><a 527 * name="_Toc528997553"></a><a name="_Toc525464313"></a><a 528 * name="_Hlt536851811"></a>5.2.4 Special considerations for the xml:lang 529 * attribute</h3> 530 * 531 * <p class="MsoBodyText">During save_xx API calls, the name, description, 532 * address, and personName UDDI elements MAY be adorned with the xml:lang 533 * attribute to indicate the language in which their content is expressed. (See 534 * Chapter <a href="#_Ref8981895 ">3</a> <i>UDDI Registry Data 535 * Structures</i>.) When an optional xml:lang attribute is omitted from an 536 * element, no xml:lang attribute will be saved for that element.</p> 537 * 538 * <p class="MsoBodyText">Name elements in UDDI core data structures are 539 * frequently the main targets for sorts during UDDI inquiries. When a 540 * UDDI data structure has multiple names, sorting occurs on the first 541 * name. Care should be taken to list the primary name first when the 542 * entity is saved to ensure the proper placement of the entity in a sorted 543 * result set.</p> 544 * 545 * <p class="MsoBodyText">Values which can be passed in the language supplied in 546 * a save_xx API call MUST obey the recommended rules and syntax governing the 547 * xml:lang data type as defined in Section <a href="#_Ref8977786 ">3.3.2.3</a> 548 * <i>name</i>.</p> 549 * 550 * <h3><a name="_Toc528997554"></a><a name="_Toc525464316"></a><a 551 * name="_Toc85908100"></a><a name="_Toc53709295"></a><a 552 * name="_Toc45096381"></a><a name="_Toc45095924"></a><a 553 * name="_Toc42047301">5.2.5 Publisher </a>API summary</h3> 554 * 555 * <p class="MsoBodyText">The publishing API calls are:</p> 556 * 557 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span 558 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 559 * Roman""> 560 * </span></span><a href="#_add_publisherAssertions"><b><span 561 * style="color:windowtext; 562 * text-decoration:none">add_publisherAssertions</span></b></a>: Used to add 563 * relationship assertions to the existing set of assertions. See Appendix 564 * A <i>Relationships and Publisher Assertions</i>.</p> 565 * 566 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span 567 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 568 * Roman""> 569 * </span></span><a href="#_delete_binding"><b><span style="color:windowtext; 570 * text-decoration:none">delete_binding</span></b></a>: Used to remove an 571 * existing bindingTemplate from the registry.</p> 572 * 573 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span 574 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 575 * Roman""> 576 * </span></span><a href="#_save_business"><b><span style="color:windowtext; 577 * text-decoration:none">delete_business</span></b></a>: Used to delete existing 578 * businessEntity information from the registry.</p> 579 * 580 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span 581 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 582 * Roman""> 583 * </span></span><a href="#_delete_publisherAssertions"><b><span style="color: 584 * windowtext;text-decoration:none">delete_publisherAssertions</span></b></a>: 585 * Used to delete specific publisher assertions from the assertion collection 586 * controlled by a particular publisher. Deleting assertions from the 587 * assertion collection affects the visibility of business relationships. 588 * Deleting an assertion causes any relationships based on that assertion to 589 * become incomplete.</p> 590 * 591 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span 592 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 593 * Roman""> 594 * </span></span><a href="#_delete_service"><b><span style="color:windowtext; 595 * text-decoration:none">delete_service</span></b></a>: Used to delete an 596 * existing businessService from the registry.</p> 597 * 598 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span 599 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 600 * Roman""> 601 * </span></span><a href="#_delete_tModel"><b><span style="color:windowtext; 602 * text-decoration:none">delete_tModel</span></b></a>: Used to hide existing 603 * information about a tModel. Any tModel hidden in this way is still 604 * usable for reference purposes and accessible via the get_tModelDetail API, 605 * but is hidden from find_tModel result sets. There is no specified way 606 * to delete a tModel.</p> 607 * 608 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span 609 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 610 * Roman""> 611 * </span></span><a href="#_get_assertionStatusReport"><b><span 612 * style="color:windowtext; 613 * text-decoration:none">get_assertionStatusReport</span></b></a>: Used to get a 614 * status report containing publisher assertions and status information. 615 * This report is useful to help an administrator manage publisher assertions. 616 * Returns an assertionStatusReport that includes the status of all assertions 617 * made involving any businessEntity controlled by the requesting publisher.</p> 618 * 619 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span 620 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 621 * Roman""> 622 * </span></span><a href="#_get_publisherAssertions"><b><span 623 * style="color:windowtext; 624 * text-decoration:none">get_publisherAssertions</span></b></a>: Used to get a 625 * list of publisher assertions that are controlled by an individual 626 * publisher. Returns a publisherAssertions structure containing all 627 * publisher assertions associated with a specific publisher.</p> 628 * 629 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span 630 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 631 * Roman""> 632 * </span></span><a href="#_get_registeredInfo"><b><span 633 * style="color:windowtext; 634 * text-decoration:none">get_registeredInfo</span></b></a>: Used to request an 635 * abbreviated list of businesses and tModels currently managed by a given 636 * publisher.</p> 637 * 638 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span 639 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 640 * Roman""> 641 * </span></span><a href="#_save_binding"><b><span style="color:windowtext; 642 * text-decoration:none">save_binding</span></b></a>: Used to register new 643 * bindingTemplate information or to update existing bindingTemplate 644 * information. Use this to control information about technical 645 * capabilities exposed by a registered business.</p> 646 * 647 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span 648 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 649 * Roman""> 650 * </span></span><a href="#_save_business"><b><span style="color:windowtext; 651 * text-decoration:none">save_business</span></b></a>: Used to register new 652 * businessEntity information or update existing businessEntity 653 * information. Use this to control the full set of information about the 654 * entire business, including its businessService and bindingTemplate 655 * structures. This API has the broadest effect of all of the save_xx 656 * APIs.</p> 657 * 658 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span 659 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 660 * Roman""> 661 * </span></span><a href="#_save_service"><b><span style="color:windowtext; 662 * text-decoration:none">save_service</span></b></a>: Used to register or 663 * update complete information about a businessService.</p> 664 * 665 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span 666 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 667 * Roman""> 668 * </span></span><a href="#_save_tModel"><b><span style="color:windowtext; 669 * text-decoration:none">save_tModel</span></b></a>: Used to register or 670 * update information about a tModel.</p> 671 * 672 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span 673 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 674 * Roman""> 675 * </span></span><a href="#_set_publisherAssertions"><b><span 676 * style="color:windowtext; 677 * text-decoration:none">set_publisherAssertions</span></b></a>: Used to save 678 * the complete set of publisher assertions for an individual publisher. 679 * Replaces any existing assertions, and causes any old assertions that are not 680 * reasserted to be removed from the registry.</p> 681 * 682 */ 683 @WebService(name = "UDDI_Publication_PortType", targetNamespace = "urn:uddi-org:api_v3_portType") 684 @XmlSeeAlso({ 685 org.uddi.custody_v3.ObjectFactory.class, 686 org.uddi.repl_v3.ObjectFactory.class, 687 org.uddi.subr_v3.ObjectFactory.class, 688 org.uddi.api_v3.ObjectFactory.class, 689 org.uddi.vscache_v3.ObjectFactory.class, 690 org.uddi.vs_v3.ObjectFactory.class, 691 org.uddi.sub_v3.ObjectFactory.class, 692 org.w3._2000._09.xmldsig_.ObjectFactory.class, 693 org.uddi.policy_v3.ObjectFactory.class, 694 org.uddi.policy_v3_instanceparms.ObjectFactory.class 695 }) 696 public interface UDDIPublicationPortType extends Remote { 697 698 /** 699 * The add_publisherAssertions API call causes one or more 700 * publisherAssertions to be added to an individual publisher’s assertion 701 * collection. See Appendix A Relationships and Publisher Assertions 702 * describing relationships and the API get_publisherAssertions for more 703 * information on this collection. <p class="MsoBodyText">The publisher must 704 * own the businessEntity referenced in the fromKey, the toKey, or 705 * both. If both of the businessKey values passed within an assertion 706 * are owned by the publisher, then the assertion is automatically complete 707 * and the relationship described in the assertion is visible via the 708 * find_relatedBusinesses API. To form a relationship when the 709 * publisher only owns one of the two keys passed, the assertion MUST be 710 * matched exactly by an assertion made by the publisher who owns the other 711 * business referenced. Assertions exactly match if and only if they: </p> 712 * 713 * <p class="MsoBodyText" 714 * style="margin-left:1.0in;text-indent:-.25in">1.<span style="font:7.0pt 715 * "Times New Roman""> 716 * </span>refer to the same businessEntity in their fromKeys; </p> 717 * 718 * <p class="MsoBodyText" 719 * style="margin-left:1.0in;text-indent:-.25in">2.<span style="font:7.0pt 720 * "Times New Roman""> 721 * </span>refer to the same businessEntity in their toKeys; </p> 722 * 723 * <p class="MsoBodyText" 724 * style="margin-left:1.0in;text-indent:-.25in">3.<span style="font:7.0pt 725 * "Times New Roman""> 726 * </span>refer to the same tModel in their tModelKeys; </p> 727 * 728 * <p class="MsoBodyText" 729 * style="margin-left:1.0in;text-indent:-.25in">4.<span style="font:7.0pt 730 * "Times New Roman""> 731 * </span>have identical keyNames; and </p> 732 * 733 * <p class="MsoBodyText" 734 * style="margin-left:1.0in;text-indent:-.25in">5.<span style="font:7.0pt 735 * "Times New Roman""> 736 * </span>have identical keyValues.</p> 737 * 738 * <p class="MsoBodyText">When a publisherAssertion being added references a 739 * checked relationship system using the tModelKey in the contained 740 * keyedReference, the reference MUST be checked for validity prior to 741 * completion of the add, or the node must return E_unsupported, indicating 742 * it does not support the referenced checked relationship system. 743 * Validation of a relationship system reference entails verification that 744 * the reference is valid according to the validation algorithm defined for 745 * the relationship system and described by its tModel. For cached 746 * checked relationship systems, the validation algorithm verifies that 747 * referenced keyValues are in the set of valid values for the relationship 748 * system.</p> 749 * 750 * <p class="MsoBodyText">For registries supporting the subscription APIs at 751 * any node, it is necessary to track a modified date for publisherAssertion 752 * elements so that nodes have the necessary information for responding to 753 * subscription requests involving find_relatedBusinesses and 754 * get_assertionStatusReport filters.</p> 755 * 756 * @param body <p class="MsoBodyText" 757 * style="margin-left:1.0in;text-indent:-.25in"><span 758 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 759 * Roman""> 760 * </span></span><b><i>authInfo</i></b>: This optional argument is an 761 * element that contains an authentication token. Authentication 762 * tokens are obtained using the get_authToken API call or through some 763 * other method external to this specification. Registries that serve 764 * multiple publishers and registries that restrict who can publish in them 765 * typically require authInfo for this call.</p> 766 * 767 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span 768 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 769 * Roman""> 770 * </span></span><b><i>publisherAssertion</i></b>: This required repeating 771 * element holds the relationship assertions that are being added. 772 * Relationship assertions consist of a reference to two businessEntity key 773 * values as designated by the fromKey and toKey elements, as well as a 774 * REQUIRED expression of directional relationship within the contained 775 * keyedReference element. See Appendix A <i>Relationships and 776 * PublisherAssertions</i> on managing relationships. The fromKey, the 777 * toKey, and all three parts of the keyedReference – the tModelKey, the 778 * keyName, and the keyValue MUST be specified or the call will fail with 779 * the error E_fatalError. Empty (zero length) keyNames and keyValues are 780 * permitted.</p> Upon successful completion, an empty message is returned. 781 * See section 4.8 Success and Error Reporting. 782 * @throws DispositionReportFaultMessage, RemoteException 783 * 784 * <p class="MsoBodyText">If an error occurs in processing this API call, a 785 * dispositionReport structure MUST be returned to the caller in a SOAP 786 * Fault. See Section <a href="#_Ref8978558 ">4.8</a> <i>Success and Error 787 * Reporting. </i>In addition to the errors common to all APIs, the 788 * following error information is relevant here:</p> 789 * 790 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span 791 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 792 * Roman""> 793 * </span></span><b>E_invalidKeyPassed</b>: signifies that one of the 794 * <i>uddiKey</i> values passed did not match with any known businessKey or 795 * tModelKey values. The key and element or attribute that caused the 796 * problem SHOULD be clearly indicated in the error text.</p> 797 * 798 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span 799 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 800 * Roman""> 801 * </span></span><b>E_userMismatch</b>: signifies that neither of the 802 * businessKey values passed in the embedded fromKey and toKey elements is 803 * owned by the publisher associated with the authentication token. 804 * The error text SHOULD clearly indicate which assertion caused the 805 * error.</p> 806 */ 807 @WebMethod(operationName = "add_publisherAssertions", action = "add_publisherAssertions") 808 @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE) 809 public void addPublisherAssertions( 810 @WebParam(name = "add_publisherAssertions", targetNamespace = "urn:uddi-org:api_v3", partName = "body") AddPublisherAssertions body) 811 throws DispositionReportFaultMessage, RemoteException; 812 813 /** 814 * The delete_binding API call causes one or more instances of 815 * bindingTemplate data to be deleted from the UDDI registry. 816 * 817 * @param body <p class="MsoBodyText" 818 * style="margin-left:1.0in;text-indent:-.25in"><span 819 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 820 * Roman""> 821 * </span></span><b><i>authInfo</i></b>: This optional argument is an 822 * element that contains an authentication token. Authentication 823 * tokens are obtained using the get_authToken API call or through some 824 * other method external to this specification. Registries that serve 825 * multiple publishers and registries that restrict who can publish in them 826 * typically require authInfo for this call.</p> 827 * 828 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span 829 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 830 * Roman""> 831 * </span></span><b><i>bindingKey</i></b>: One or more required 832 * <i>uddiKey</i> values that represent specific instances of known 833 * bindingTemplate data.</p> 834 * 835 * Upon successful completion, an empty message is returned. See section 4.8 836 * Success and Error Reporting. 837 * @throws DispositionReportFaultMessage, RemoteException <p 838 * class="MsoBodyText">If an error occurs in processing this API call, a 839 * dispositionReport structure MUST be returned to the caller in a SOAP 840 * Fault. See Section <a href="#_Ref8978558 ">4.8</a> <i>Success and 841 * Error Reporting. </i>In addition to the errors common to all APIs, 842 * the following error information is relevant here:</p> 843 * 844 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span 845 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 846 * Roman""> 847 * </span></span><b>E_invalidKeyPassed</b>: Signifies that one of the 848 * <i>uddiKey</i> values passed did not match with any known bindingKey 849 * values or multiple instances of the same bindingKey values were 850 * passed. No partial results are returned – if any bindingKey values 851 * passed are not valid, this error is returned. The key that caused 852 * the problem SHOULD clearly be indicated in the error text.</p> 853 * 854 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span 855 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 856 * Roman""> 857 * </span></span><b>E_userMismatch</b>: Signifies that one or more of the 858 * bindingKey values passed refers to a bindingTemplate that is not owned by 859 * the individual publisher associated with the authentication token.</p> 860 * 861 * <b><span 862 * style="font-size:13.0pt;font-family:Arial;color:navy"></span></b> 863 */ 864 @WebMethod(operationName = "delete_binding", action = "delete_binding") 865 @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE) 866 public void deleteBinding( 867 @WebParam(name = "delete_binding", targetNamespace = "urn:uddi-org:api_v3", partName = "body") DeleteBinding body) 868 throws DispositionReportFaultMessage, RemoteException; 869 870 /** 871 * The delete_business API call is used to remove one or more business 872 * registrations and all elements that correspond to the natural content of 873 * the corresponding businessEntity elements from a UDDI registry. 874 * 875 * @param body · authInfo: This optional argument is an element that 876 * contains an authentication token. Authentication tokens are obtained 877 * using the get_authToken API call or through some other means external to 878 * this specification. Registries that serve multiple publishers and 879 * registries that restrict who can publish in them typically require 880 * authInfo for this call. 881 * 882 * · businessKey: One or more required uddiKey values that represent 883 * specific instances of known businessEntity data. <p 884 * class="MsoBodyText">The UDDI registry MUST permanently remove all of the 885 * <i>natural contents</i><a href="#_ftn22" name="_ftnref22" title=""><span 886 * class="MsoFootnoteReference"><span class="MsoFootnoteReference"><span 887 * style="font-size:10.0pt;letter-spacing:-.25pt">[22]</span></span></span></a> 888 * of the passed businessEntity elements, including any currently nested 889 * businessService and bindingTemplate data, from the UDDI registry.</p> 890 * 891 * <p class="MsoBodyText">If there are service projections<a href="#_ftn23" 892 * name="_ftnref23" title=""><span class="MsoFootnoteReference"><span 893 * class="MsoFootnoteReference"><span 894 * style="font-size:10.0pt;letter-spacing:-.25pt">[23]</span></span></span></a> 895 * that reference businessService elements deleted in this way, they are 896 * left untouched. Such "broken" service projections appear in their 897 * businessEntity as businessService elements containing the businessKey and 898 * serviceKey attributes as their only content. For this reason, it is a 899 * best practice to coordinate references to businessService data published 900 * under another businessEntity with the party who manages that data. 901 * </p> 902 * 903 * <p class="MsoBodyText">All publisher assertions that reference the 904 * businessKey of the businessEntity being deleted in either the fromKey or 905 * toKey of the publisherAssertion MUST be automatically deleted. A 906 * deleted business MUST not be returned in the find_relatedBusinesses 907 * API.</p> 908 * 909 * <p class="MsoBodyText">Any transferToken referring to the business entity 910 * being deleted becomes invalid and can no longer be used to transfer any 911 * entities.</p> Upon successful completion, an empty message is returned. 912 * See section 4.8 Success and Error Reporting. 913 * @throws DispositionReportFaultMessage, RemoteException <p 914 * class="MsoBodyText">If an error occurs in processing this API call, a 915 * dispositionReport element MUST be returned to the caller within a SOAP 916 * Fault. See Section <a href="#_Ref8978558 ">4.8</a> <i>Success and 917 * Error Reporting. </i>In addition to the errors common to all APIs, 918 * the following error information is relevant here:</p> 919 * 920 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span 921 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 922 * Roman""> 923 * </span></span><b>E_invalidKeyPassed</b>: Signifies that one of the 924 * <i>uddiKey</i> values passed did not match with any known businessKey 925 * values or multiple instances of the same businessKey values were passed. 926 * The key that caused the error SHOULD be clearly indicated in the error 927 * text.</p> 928 * 929 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span 930 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 931 * Roman""> 932 * </span></span><b>E_userMismatch</b>: Signifies that one or more of the 933 * businessKey values passed refers to data that is not owned by the 934 * individual publisher who is represented by the authentication token.</p> 935 * 936 * <p class="MsoNormal"> </p> 937 */ 938 @WebMethod(operationName = "delete_business", action = "delete_business") 939 @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE) 940 public void deleteBusiness( 941 @WebParam(name = "delete_business", targetNamespace = "urn:uddi-org:api_v3", partName = "body") DeleteBusiness body) 942 throws DispositionReportFaultMessage, RemoteException; 943 944 /** 945 * The delete_publisherAssertions API call causes one or more 946 * publisherAssertion elements to be removed from a publisher’s assertion 947 * collection. See Appendix A Relationships and Publisher Assertions and the 948 * API get_publisherAssertions for more information on this collection. 949 * 950 * @param body <p class="MsoBodyText" 951 * style="margin-left:1.0in;text-indent:-.25in"><span 952 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 953 * Roman""> 954 * </span></span><b><i>authInfo</i></b>: This optional argument is an 955 * element that contains an authentication token. Authentication 956 * tokens are obtained using the get_authToken API call or through some 957 * other means external to this specification. Registries that serve 958 * multiple publishers and registries that restrict who can publish in them 959 * typically require authInfo for this call.</p> 960 * 961 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span 962 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 963 * Roman""> 964 * </span></span><b><i>publisherAssertion</i></b>: One or more required 965 * publisher assertion structures exactly matching an existing assertion in 966 * the publisher’s assertion collection.</p> <p class="MsoBodyText">The UDDI 967 * registry scans the assertion collection associated with the publisher, 968 * and removes any assertions that exactly match all parts of each 969 * publisherAssertion passed. Any assertions described that cannot be 970 * located result in an error. The removal of assertions in this API 971 * causes the corresponding relationships to no longer be visible via the 972 * find_relatedBusinesses API.</p> 973 * 974 * <p class="MsoBodyText">For registries supporting the subscription APIs at 975 * any node, it is necessary to track a modified date for publisherAssertion 976 * elements so that nodes have the necessary information for responding to 977 * subscription requests involving find_relatedBusinesses and 978 * get_assertionStatusReport filters.</p> Upon successful completion, an 979 * empty message is returned. See section 4.8 Success and Error Reporting. 980 * @throws DispositionReportFaultMessage, RemoteException <p 981 * class="MsoBodyText">If an error occurs in processing this API call, a 982 * dispositionReport structure MUST be returned to the caller in a SOAP 983 * Fault. See Section <a href="#_Ref8978558 ">4.8</a> <i>Success and 984 * Error Reporting. </i>In addition to the errors common to all APIs, 985 * the following error information is relevant here:</p> 986 * 987 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span 988 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 989 * Roman""> 990 * </span></span><b>E_assertionNotFound</b>: Signifies that one of the 991 * assertion structures passed does not have any corresponding match in the 992 * publisher’s assertion collection or multiple instances of the same 993 * publisherAssertions elements were passed. The assertion that caused 994 * the problem SHOULD be clearly indicated in the error text. </p> 995 * 996 * <b><span 997 * style="font-size:13.0pt;font-family:Arial;color:navy"></span></b> 998 */ 999 @WebMethod(operationName = "delete_publisherAssertions", action = "delete_publisherAssertions") 1000 @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE) 1001 public void deletePublisherAssertions( 1002 @WebParam(name = "delete_publisherAssertions", targetNamespace = "urn:uddi-org:api_v3", partName = "body") DeletePublisherAssertions body) 1003 throws DispositionReportFaultMessage, RemoteException; 1004 1005 /** 1006 * The delete_service API call is used to remove one or more businessService 1007 * elements from the UDDI registry and from its containing businessEntity 1008 * parent. 1009 * 1010 * @param body <p class="MsoBodyText" 1011 * style="margin-left:1.0in;text-indent:-.25in"><span 1012 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 1013 * Roman""> 1014 * </span></span><b><i>authInfo</i></b>: This optional argument is an 1015 * element that contains an authentication token. Authentication 1016 * tokens are obtained using the get_authToken API call or through some 1017 * other means external to this specification. Registries that serve 1018 * multiple publishers and registries that restrict who can publish in them 1019 * typically require authInfo for this call.</p> 1020 * 1021 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span 1022 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 1023 * Roman""> 1024 * </span></span><b><i>serviceKey</i></b>: One or more required 1025 * <i>uddiKey</i> values that represent specific instances of known 1026 * businessService data.</p> <p class="MsoBodyText">All contained 1027 * bindingTemplate data MUST also be removed from the registry as a result 1028 * of this call.</p> 1029 * 1030 * <p class="MsoBodyText">If a business service being deleted is the target 1031 * of a business service projection associated with another businessEntity, 1032 * the referencing businessService elements are left untouched. Such 1033 * "broken" service projections appear in their businessEntity and 1034 * businessService elements containing the businessKey and serviceKey 1035 * attributes as their only content. For this reason, it is 1036 * recommended that references to businessService data published under 1037 * another businessEntity be coordinated with the party that manages that 1038 * data. </p> 1039 * @throws DispositionReportFaultMessage, RemoteException If an error occurs 1040 * in processing this API call, a dispositionReport structure MUST be 1041 * returned to the caller in a SOAP Fault. See Section 4.8 Success and Error 1042 * Reporting. In addition to the errors common to all APIs, the following 1043 * error information is relevant here: 1044 * 1045 * · E_invalidKeyPassed: Signifies that one of the uddiKey values passed did 1046 * not match with any known serviceKey values or multiple instances of the 1047 * same serviceKey values were passed. The key causing the error SHOULD be 1048 * clearly indicated in the error text. 1049 * 1050 * · E_userMismatch: Signifies that one or more of the serviceKey values 1051 * passed refers to data that is not owned by the individual publisher who 1052 * is represented by the authentication token. 1053 */ 1054 @WebMethod(operationName = "delete_service", action = "delete_service") 1055 @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE) 1056 public void deleteService( 1057 @WebParam(name = "delete_service", targetNamespace = "urn:uddi-org:api_v3", partName = "body") DeleteService body) 1058 throws DispositionReportFaultMessage, RemoteException; 1059 1060 /** 1061 * The delete_tModel API call is used to logically delete one or more tModel 1062 * structures. Logical deletion hides the deleted tModels from find_tModel 1063 * result sets but does not physically delete them. New references to 1064 * deleted (hidden) tModels can be established by publishers that know their 1065 * keys. Deleting an already deleted tModel has no effect. 1066 * 1067 * @param body <p class="MsoBodyText" 1068 * style="margin-left:1.0in;text-indent:-.25in"><span 1069 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 1070 * Roman""> 1071 * </span></span><b><i>authInfo</i></b>: This optional argument is an 1072 * element that contains an authentication token. Authentication 1073 * tokens are obtained using the get_authToken API call or through some 1074 * other means external to this specification. Registries that serve 1075 * multiple publishers and registries that restrict who can publish in them 1076 * typically require authInfo for this call.</p> 1077 * 1078 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span 1079 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 1080 * Roman""> 1081 * </span></span><b><i>tModelKey</i></b>: One or more required 1082 * <i>uddiKey</i> values that represent specific instances of known tModel 1083 * data.</p> <p class="MsoBodyText">If a tModel is hidden in this way it 1084 * MUST not be physically deleted as a result of this call. Any tModels 1085 * hidden in this way are still accessible, via the get_registeredInfo and 1086 * get_tModelDetail APIs, but are omitted from any results returned by calls 1087 * to find_tModel. All other inquiry APIs may include references to 1088 * tModelKeys of deleted tModelKeys, and UDDI data structures that reference 1089 * these tModels are found and retrieved. </p> 1090 * 1091 * <p class="MsoBodyText">The purpose of the delete_tModel behavior is to 1092 * ensure that the details associated with a hidden tModel are still 1093 * available to anyone currently using the tModel. A hidden tModel can 1094 * be restored and made visible to search results by invoking the 1095 * save_tModel API at a later time, passing the original data and the 1096 * tModelKey value of the hidden tModel.</p> 1097 * 1098 * <p class="MsoBodyText">It is not an error to transfer a hidden tModel 1099 * (i.e. deleted attribute set to TRUE).</p> Upon successful completion, an 1100 * empty message is returned. See section 4.8 Success and Error Reporting. 1101 * @throws DispositionReportFaultMessage, RemoteException If an error occurs 1102 * in processing this API call, a dispositionReport element MUST be returned 1103 * to the caller within a SOAP Fault. See Section 4.8 Success and Error 1104 * Reporting. In addition to the errors common to all APIs, the following 1105 * error information is relevant here: 1106 * 1107 * · E_invalidKeyPassed: Signifies that one of the uddiKey values passed did 1108 * not match with any known tModelKey values or multiple instances of the 1109 * same tModelKey values were passed. The invalid key references SHOULD be 1110 * clearly indicated in the error text. 1111 * 1112 * · E_userMismatch: Signifies that one or more of the tModelKey values 1113 * passed refers to data that is not owned by the individual publisher who 1114 * is represented by the authentication token. 1115 */ 1116 @WebMethod(operationName = "delete_tModel", action = "delete_tModel") 1117 @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE) 1118 public void deleteTModel( 1119 @WebParam(name = "delete_tModel", targetNamespace = "urn:uddi-org:api_v3", partName = "body") DeleteTModel body) 1120 throws DispositionReportFaultMessage, RemoteException; 1121 1122 /** 1123 * The get_assertionStatusReport API call provides administrative support 1124 * for determining the status of current and outstanding publisher 1125 * assertions that involve any of the business registrations managed by the 1126 * individual publisher. Using this API, a publisher can see the status of 1127 * assertions that they have made, as well as see assertions that others 1128 * have made that involve businessEntity structures controlled by the 1129 * requesting publisher. See Appendix A Relationships and Publisher 1130 * Assertions for more information. 1131 * 1132 * @param completionStatus 1133 * @param authInfo <p class="MsoBodyText" 1134 * style="margin-left:1.0in;text-indent:-.25in"><span 1135 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 1136 * Roman""> 1137 * </span></span><b><i>authInfo</i></b>: This optional argument is an 1138 * element that contains an authentication token. Authentication 1139 * tokens are obtained using the get_authToken API call or through some 1140 * other means external to this specification. Registries that serve 1141 * multiple publishers and registries that restrict who can publish in them 1142 * typically require authInfo for this call.</p> 1143 * 1144 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span 1145 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 1146 * Roman""> 1147 * </span></span><b><i>completionStatus</i></b>: This optional argument lets 1148 * the publisher restrict the result set to only those relationships that 1149 * have the specified status value. Assertion status is a calculated 1150 * result based on the sum total of assertions made by the individuals that 1151 * control specific business registrations. When no completionStatus 1152 * element is provided, all assertions involving the businesses that the 1153 * publisher owns are retrieved, without regard to the completeness of the 1154 * relationship. completionStatus MUST contain one of the following 1155 * values</p> 1156 * 1157 * <p class="MsoNormal" style="margin-left:1.5in;text-indent:-.25in"><span 1158 * style="font-family:"Courier New"">o<span style="font:7.0pt 1159 * "Times New Roman""> 1160 * </span></span><b>status:complete</b>: Passing this value causes only the 1161 * publisher assertions that are complete to be returned. Each 1162 * businessEntity listed in assertions that are complete has a visible 1163 * relationship that directly reflects the data in a complete assertion (as 1164 * described in the find_relatedBusinesses API).</p> 1165 * 1166 * <p class="MsoNormal" style="margin-left:1.5in;text-indent:-.25in"><span 1167 * style="font-family:"Courier New"">o<span style="font:7.0pt 1168 * "Times New Roman""> 1169 * </span></span><b>status:toKey_incomplete</b>: Passing this value causes 1170 * only those publisher assertions where the party who controls the 1171 * businessEntity referenced by the toKey value in an assertion, has not 1172 * made a matching assertion, to be listed.</p> 1173 * 1174 * <p class="MsoNormal" style="margin-left:1.5in;text-indent:-.25in"><span 1175 * style="font-family:"Courier New"">o<span style="font:7.0pt 1176 * "Times New Roman""> 1177 * </span></span><b>status:fromKey_incomplete</b>: Passing this value causes 1178 * only those publisher assertions where the party who controls the 1179 * businessEntity referenced by the fromKey value in an assertion, has not 1180 * made a matching assertion, to be listed.</p> 1181 * 1182 * <p class="MsoNormal" style="margin-left:1.5in;text-indent:-.25in"><span 1183 * style="font-family:"Courier New"">o<span style="font:7.0pt 1184 * "Times New Roman""> 1185 * </span></span><b>status:both_incomplete</b>. This status value, however, 1186 * is only applicable to the context of UDDI subscription and SHOULD not be 1187 * present as part of a response to a get_assertionStatusReport request.</p> 1188 * 1189 * <span 1190 * style="font-size:10.0pt;font-family:Arial;letter-spacing:-.25pt"></span> 1191 * @return returns java.util.List<org.uddi.api_v3.AssertionStatusItem> Upon 1192 * successful completion, an assertionStatusReport structure is returned 1193 * containing zero or more assertionStatusItem structures. Elements will be 1194 * sorted by last date change in ascending order. 1195 * 1196 * The assertionStatusReport has the form: <img 1197 * src="http://uddi.org/pubs/uddi-v3.0.2-20041019_files/image067.gif"> <p 1198 * class="MsoBodyText">The assertionStatusReport reports all complete and 1199 * incomplete assertions and serves an administrative use for determining if 1200 * there are any outstanding, incomplete assertions pertaining to 1201 * relationships involving businesses with which the publisher is 1202 * associated.</p> 1203 * 1204 * <p class="MsoBodyText">Since the publisher who was authenticated by the 1205 * get_assertionStatusReport API may own several businesses, the 1206 * assertionStatusReport structure shows the assertions made for all 1207 * businesses owned by the publisher.</p> 1208 * 1209 * <p class="MsoBodyText">The assertion status report is composed of a set 1210 * of assertionStatusItem elements that describe the assertions in which the 1211 * publisher’s businesses participate. The assertionStatusItem element 1212 * has the form:</p> 1213 * 1214 * <p class="MsoBodyText"><img 1215 * src="http://uddi.org/pubs/uddi-v3.0.2-20041019_files/image068.gif" 1216 * border="0" height="170" width="393"></p> 1217 * 1218 * <p class="MsoBodyText"> </p> 1219 * 1220 * <p class="MsoBodyText">The assertionStatusItem structure has the 1221 * following attribute:</p> 1222 * 1223 * <table class="MsoNormalTable" 1224 * style="margin-left:48.75pt;border-collapse:collapse;border:none" 1225 * border="1" cellpadding="0" cellspacing="0"> <tbody><tr> <td 1226 * style="border:solid black 1.0pt;background:#FFFFCA;padding: 0in 5.4pt 0in 1227 * 5.4pt" valign="top"> <p class="MsoNormal"><b>Name </b></p> </td> 1228 * <td style="border:solid black 1.0pt;border-left:none;background: 1229 * #FFFFCA;padding:0in 5.4pt 0in 5.4pt" valign="top"> <p 1230 * class="MsoNormal"><b>Use </b></p> </td> </tr> <tr> <td 1231 * style="border:solid black 1.0pt;border-top:none;padding:0in 5.4pt 0in 1232 * 5.4pt" valign="top"> <p class="MsoNormal">completionStatus </p> 1233 * </td> <td style="border-top:none;border-left:none;border-bottom:solid 1234 * black 1.0pt; border-right:solid black 1.0pt;padding:0in 5.4pt 0in 5.4pt" 1235 * valign="top"> <p class="MsoNormal">required</p> </td> </tr> 1236 * </tbody></table> 1237 * 1238 * <p class="MsoNormal"> </p> 1239 * 1240 * <p class="MsoBodyText">While the elements fromKey, toKey and 1241 * keyedReference together identify the assertion on whose status a report 1242 * is being provided, the keysOwned element designates those businessKeys 1243 * the publisher manages. The keysOwned element has the form:</p> 1244 * 1245 * <p class="MsoBodyText"><img 1246 * src="http://uddi.org/pubs/uddi-v3.0.2-20041019_files/image069.gif" 1247 * border="0" height="137" width="372"></p> 1248 * 1249 * <p class="MsoBodyText">An assertion is part of a reciprocal relationship 1250 * only if the completionStatus attribute has a value "status:complete". If 1251 * completionStatus has a value "status:toKey_incomplete" or 1252 * "status:fromKey_incomplete", the party who controls the businessEntity 1253 * referenced by the toKey or the fromKey has not yet made a matching 1254 * assertion.</p> 1255 * @throws DispositionReportFaultMessage, RemoteException If an error occurs 1256 * in processing this API call, a dispositionReport element MUST be returned 1257 * to the caller within a SOAP Fault. See Section 4.8 Success and Error 1258 * Reporting. In addition to the errors common to all APIs, the following 1259 * error information is relevant here: 1260 * 1261 * · E_invalidCompletionStatus: Signifies that the completionStatus value 1262 * passed is unrecognized. The completion status that caused the problem 1263 * SHOULD be clearly indicated in the error text. 1264 * 1265 * 1266 */ 1267 @WebMethod(operationName = "get_assertionStatusReport", action = "get_assertionStatusReport") 1268 @WebResult(name = "assertionStatusItem", targetNamespace = "urn:uddi-org:api_v3") 1269 @RequestWrapper(localName = "get_assertionStatusReport", targetNamespace = "urn:uddi-org:api_v3", className = "org.uddi.api_v3.GetAssertionStatusReport") 1270 @ResponseWrapper(localName = "assertionStatusReport", targetNamespace = "urn:uddi-org:api_v3", className = "org.uddi.api_v3.AssertionStatusReport") 1271 public List<AssertionStatusItem> getAssertionStatusReport( 1272 @WebParam(name = "authInfo", targetNamespace = "urn:uddi-org:api_v3") String authInfo, 1273 @WebParam(name = "completionStatus", targetNamespace = "urn:uddi-org:api_v3") CompletionStatus completionStatus) 1274 throws DispositionReportFaultMessage, RemoteException; 1275 1276 /** 1277 * The get_publisherAssertions API call is used to obtain the full set of 1278 * publisher assertions that is associated with an individual publisher. It 1279 * complements the get_registeredInfo API which returns information about 1280 * businesses, services, bindings, and tModels managed by a publisher. 1281 * 1282 * @param authInfo · authInfo: This optional argument is an element that 1283 * contains an authentication token. Authentication tokens are obtained 1284 * using the get_authToken API call or through some other means external to 1285 * this specification. Registries that serve multiple publishers and 1286 * registries that restrict who can publish in them typically require 1287 * authInfo for this call. 1288 * @return returns java.util.List<org.uddi.api_v3.PublisherAssertion> This 1289 * API call returns a publisherAssertions structure that contains a 1290 * publisherAssertion element for each publisher assertion registered by the 1291 * publisher. When the registry distinguishes between publishers, this 1292 * information is associated with the authentication information. Only 1293 * assertions made by the publisher are returned. Elements will be sorted by 1294 * last date change in ascending order. See get_assertionStatusReport and 1295 * Appendix A Relationships and Publisher Assertions for more details. 1296 * 1297 * The publisherAssertions structure has the form: <img 1298 * src="http://uddi.org/pubs/uddi-v3.0.2-20041019_files/image071.gif"> 1299 * @throws DispositionReportFaultMessage, RemoteException None, other than 1300 * those common to all UDDI APIs. See Section 12.1 Common Error Codes. 1301 */ 1302 @WebMethod(operationName = "get_publisherAssertions", action = "get_publisherAssertions") 1303 @WebResult(name = "publisherAssertion", targetNamespace = "urn:uddi-org:api_v3") 1304 @RequestWrapper(localName = "get_publisherAssertions", targetNamespace = "urn:uddi-org:api_v3", className = "org.uddi.api_v3.GetPublisherAssertions") 1305 @ResponseWrapper(localName = "publisherAssertionsResponse", targetNamespace = "urn:uddi-org:api_v3", className = "org.uddi.api_v3.PublisherAssertionsResponse") 1306 public List<PublisherAssertion> getPublisherAssertions( 1307 @WebParam(name = "authInfo", targetNamespace = "urn:uddi-org:api_v3") String authInfo) 1308 throws DispositionReportFaultMessage, RemoteException; 1309 1310 /** 1311 * The get_registeredInfo API call is used to get an abbreviated list of all 1312 * businessEntity and tModel data that are controlled by a publisher. When 1313 * the registry distinguishes between publishers, this is the individual 1314 * associated with the credentials passed in the authInfo element. This 1315 * returned information is intended, for example, for driving tools that 1316 * display lists of registered information and then provide drill-down 1317 * features. This is the recommended API to use after a network problem 1318 * results in an unknown status of saved information. 1319 * 1320 * @param body authInfo: This optional argument is an element that contains 1321 * an authentication token. Authentication tokens are obtained using the 1322 * get_authToken API call or through some other means external to this 1323 * specification. Registries that serve multiple publishers and registries 1324 * that restrict who can publish in them typically require authInfo for this 1325 * call. 1326 * 1327 * · infoSelection: This required argument represents an enumerated choice 1328 * that determines which tModels are returned. "all" indicates all visible 1329 * and hidden tModels owned by the publisher are to be returned (this is the 1330 * default). "visible" indicates only visible tModels owned by the publisher 1331 * are to be returned. "hidden" indicates only hidden (logically deleted) 1332 * tModels owned by the publisher are to be returned. 1333 * @return returns org.uddi.api_v3.RegisteredInfo Upon successful 1334 * completion, a registeredInfo structure MUST be returned, listing 1335 * abbreviated business information in one or more businessInfo elements, 1336 * and tModel information in one or more tModelInfo elements. This API is 1337 * useful for determining the full extent of registered business and tModel 1338 * information owned by a single publisher in a single call. This structure 1339 * complements the get_publisherAssertions API call, which returns 1340 * information about assertions owned by an individual publisher. 1341 * businessInfos and/or tModelInfos will be sorted case-sensitively on the 1342 * primary name in ascending order, using the collation sequence determined 1343 * by node policy. 1344 * @throws DispositionReportFaultMessage, RemoteException 1345 */ 1346 @WebMethod(operationName = "get_registeredInfo", action = "get_registeredInfo") 1347 @WebResult(name = "registeredInfo", targetNamespace = "urn:uddi-org:api_v3", partName = "body") 1348 @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE) 1349 public RegisteredInfo getRegisteredInfo( 1350 @WebParam(name = "get_registeredInfo", targetNamespace = "urn:uddi-org:api_v3", partName = "body") GetRegisteredInfo body) 1351 throws DispositionReportFaultMessage, RemoteException; 1352 1353 /** 1354 * The save_binding API call is used to save or update a complete 1355 * bindingTemplate element. It can be used to add or update one or more 1356 * bindingTemplate elements as well as the container/contained relationship 1357 * that each bindingTemplate has with one or more existing businessService 1358 * elements. Each bindingTemplate MAY be signed and MAY have 1359 * publisher-assigned keys. 1360 * 1361 * @param body <p class="MsoBodyText" 1362 * style="margin-left:1.0in;text-indent:-.25in"><span 1363 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 1364 * Roman""> 1365 * </span></span><b><i>authInfo</i></b>: This optional argument is an 1366 * element that contains an authentication token. Authentication 1367 * tokens are obtained using the get_authToken API call or through some 1368 * other means external to this specification. Registries that serve 1369 * multiple publishers and registries that restrict who can publish in them 1370 * typically require authInfo for this call.</p> 1371 * 1372 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span 1373 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 1374 * Roman""> 1375 * </span></span><b><i>bindingTemplate</i></b>: Required repeating element 1376 * containing one or more complete bindingTemplate structures. To save a new 1377 * bindingTemplate, a bindingTemplate element is passed with either an empty 1378 * bindingKey attribute value, or with a publisher-assigned bindingKey. See 1379 * Section <a href="#_Ref8978954 ">5.2.2.2</a> <i>Behavior of 1380 * Publishers</i>. </p> <p class="MsoBodyText"><span lang="EN-AU">Each new 1381 * bindingTemplate passed MUST contain a serviceKey value that corresponds 1382 * to a registered businessService controlled by the same publisher. An 1383 * existing binding template MAY contain a serviceKey value that corresponds 1384 * to a registered businessService controlled by the same 1385 * publisher</span>. The net effect of this call is to determine the 1386 * containing parent businessService for each bindingTemplate affected by 1387 * this call. If the same bindingTemplate (determined by matching bindingKey 1388 * value) is listed more than once, any relationship to the containing 1389 * businessService is determined by processing order, which is determined by 1390 * the position of the bindingTemplate data in first to last order.</p> 1391 * 1392 * <p class="MsoBodyText">If the bindingKey within a bindingTemplate element 1393 * is missing or is passed with an empty value, this is a signal that the 1394 * bindingTemplate is being inserted for the first time. When this 1395 * occurs, the node MUST automatically generate a new key for the 1396 * bindingTemplate that is without an associated key. New bindingTemplate 1397 * structures can also be added with publisher-assigned keys. See Section <a 1398 * href="#_Ref8978954 ">5.2.2.2</a> <i>Behavior of Publishers</i>.</p> 1399 * 1400 * <p class="MsoBodyText">Using this API call it is possible to move an 1401 * existing bindingTemplate from one businessService to another by simply 1402 * specifying a different parent businessService relationship along with the 1403 * complete bindingTemplate. Changing a parent relationship in this 1404 * way causes two businessService structures to be affected. The net 1405 * result of such a move is that the bindingTemplate still resides within 1406 * one, and only one businessService based on the value of the serviceKey 1407 * passed. An attempt to move a bindingTemplate in this manner by a party 1408 * who is not the publisher of the businessService that is specified by the 1409 * serviceKey MUST be rejected with an error E_userMismatch.</p> 1410 * 1411 * <p class="MsoBodyText">When a bindingTemplate is saved with a categoryBag 1412 * content that is associated with a checked value set or category group 1413 * system tModel, the references MUST be checked for validity prior to 1414 * completion of the save, or the node must return E_unsupported, indicating 1415 * it does not support the referenced checked value set or category group 1416 * system. See Section <a href="#_Ref8978999 ">5.2.3</a> <i>Special 1417 * considerations for validated value sets</i> and Appendix F <i>Using 1418 * Categorization</i> for additional details.</p> 1419 * @return returns org.uddi.api_v3.BindingDetail This API returns a 1420 * bindingDetail structure containing the results of the call that reflects 1421 * the newly registered information for the effected bindingTemplate 1422 * elements. If more than one bindingTemplate is saved in a single 1423 * save_binding call, the resulting bindingDetail MUST return results in the 1424 * same order that they appeared in the save_binding call. If the same 1425 * bindingTemplate (determined by matching bindingKey) is listed more than 1426 * once in the save_binding call, it MAY be listed once in the result for 1427 * each appearance in the save_binding call. If the same bindingTemplate 1428 * appears more than once in the response, the last occurrence of the 1429 * bindingTemplate in the results represents the state stored in the 1430 * registry. Any bindingKeys that were assigned as a result of processing 1431 * the save_binding call are included in the bindingTemplate data. 1432 * 1433 * The bindingDetail structure has the form: <img 1434 * src="http://uddi.org/pubs/uddi-v3.0.2-20041019_files/image075.gif"> 1435 * @throws DispositionReportFaultMessage, RemoteException <p 1436 * class="MsoBodyText">If an error occurs in processing this API call, a 1437 * dispositionReport element MUST be returned to the caller in a SOAP 1438 * Fault. See Section <a href="#_Ref8978558 ">4.8</a> <i>Success and 1439 * Error Reporting. </i>In addition to the errors common to all APIs, 1440 * the following error information is relevant here:</p> 1441 * 1442 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span 1443 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 1444 * Roman""> 1445 * </span></span><b>E_accountLimitExceeded</b>: Signifies that user account 1446 * limits have been exceeded. </p> 1447 * 1448 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span 1449 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 1450 * Roman""> 1451 * </span></span><b>E_invalidKeyPassed</b>: Signifies that the request 1452 * cannot be satisfied because one or more <i>uddiKey</i> values specified 1453 * are not valid key values for the entities being published. tModelKey, 1454 * serviceKey, or bindingKey values that either do not exist, or exist with 1455 * a different entity type, or are not authorized to be proposed by the 1456 * publisher are considered to be invalid values. The key causing the error 1457 * SHOULD be clearly indicated in the error text. This error code will also 1458 * be returned in the event that the serviceKey is not provided and the 1459 * bindingKey is either absent or has a value not registered in the 1460 * registry. In this case, the error text SHOULD clearly indicate the use of 1461 * an incomplete bindingTemplate.</p> 1462 * 1463 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span 1464 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 1465 * Roman""> 1466 * </span></span><b>E_invalidValue</b>: A value that was passed in a 1467 * keyValue attribute did not pass validation. This applies to checked 1468 * value sets that are referenced using keyedReferences. The error text 1469 * SHOULD clearly indicate the key and value combination that failed 1470 * validation.</p> 1471 * 1472 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span 1473 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 1474 * Roman""> 1475 * </span></span><b><span 1476 * style="layout-grid-mode:line">E_keyUnavailable</span></b><span 1477 * style="layout-grid-mode:line">: Indicates that the proposed key has 1478 * already been assigned to some other publisher or is not within the 1479 * partition defined by a key generator tModel that the publisher 1480 * owns.</span></p> 1481 * 1482 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span 1483 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 1484 * Roman""> 1485 * </span></span><b>E_requestTimeout</b>: Signifies that the request could 1486 * not be carried out because a needed validate_values service did not 1487 * respond in a reasonable amount of time. Details identifying the failing 1488 * Web service SHOULD be included in the dispositionReport element.</p> 1489 * 1490 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span 1491 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 1492 * Roman""> 1493 * </span></span><b>E_userMismatch</b>: Signifies that one or more of the 1494 * <i>uddiKey </i>values passed refers to data that is not owned by the 1495 * individual publisher who is represented by the authentication token.</p> 1496 * 1497 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span 1498 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 1499 * Roman""> 1500 * </span></span><b>E_valueNotAllowed</b>: Restrictions have been placed by 1501 * the value set provider on the types of information that should be 1502 * included at that location within a specific value set. A validate_values 1503 * Web service chosen by the UDDI node has rejected this businessEntity for 1504 * at least one specified keyedReference. The error text SHOULD 1505 * clearly indicate the keyedReference that was not successfully 1506 * validated.</p> 1507 * 1508 * <span 1509 * style="font-size:10.0pt;font-family:Arial;letter-spacing:-.25pt"></span> 1510 */ 1511 @WebMethod(operationName = "save_binding", action = "save_binding") 1512 @WebResult(name = "bindingDetail", targetNamespace = "urn:uddi-org:api_v3", partName = "body") 1513 @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE) 1514 public BindingDetail saveBinding( 1515 @WebParam(name = "save_binding", targetNamespace = "urn:uddi-org:api_v3", partName = "body") SaveBinding body) 1516 throws DispositionReportFaultMessage, RemoteException; 1517 1518 /** 1519 * <p class="MsoBodyText">The save_business API call is used to save or 1520 * update information about a complete businessEntity structure. This 1521 * API has the broadest scope of all of the save_xx API calls, and can be 1522 * used to make sweeping changes to the published information for one or 1523 * more businessEntity elements controlled by an individual.</p> 1524 * 1525 * <p class="MsoBodyText">This API call can be used to establish a reference 1526 * relationship to businessService structures that are managed as the 1527 * contents of another businessEntity. In this way, a businessService 1528 * that is a natural part of one businessEntity can appear as a <i>projected 1529 * service</i> of another businessEntity. The content of a 1530 * businessService projected in this way (by way of a reference established 1531 * by this API) are not managed as a part of the referencing entity.</p> 1532 * 1533 * <p class="MsoBodyText">businessEntity structures MAY be signed and MAY 1534 * have publisher-assigned keys.</p> 1535 * 1536 * @param body <p class="MsoBodyText" 1537 * style="margin-left:1.0in;text-indent:-.25in"><span 1538 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 1539 * Roman""> 1540 * </span></span><b><i>authInfo</i></b>: This optional argument is an 1541 * element that contains an authentication token. Authentication 1542 * tokens are obtained using the get_authToken API call or through some 1543 * other means external to this specification. Registries that serve 1544 * multiple publishers and registries that restrict who can publish in them 1545 * typically require authInfo for this call.</p> 1546 * 1547 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span 1548 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 1549 * Roman""> 1550 * </span></span><b><i>businessEntity</i></b>: Required repeating 1551 * element containing one or more businessEntity structures. These can 1552 * be obtained in advance by using the get_businessDetail API call or by any 1553 * other means.</p> <p class="MsoBodyText">If any of the <i>uddiKey</i> 1554 * values within a businessEntity element (e.g. any data with a key value 1555 * regulated by a businessKey, serviceKey or bindingKey) is missing or is 1556 * passed with an empty value, this is a signal that the data that is so 1557 * keyed is being inserted for the first time.<a href="#_ftn24" 1558 * name="_ftnref24" title=""><span class="MsoFootnoteReference"><span 1559 * class="MsoFootnoteReference"><span 1560 * style="font-size:10.0pt;letter-spacing:-.25pt">[24]</span></span></span></a> 1561 * When this occurs, the node MUST automatically generate a new key for the 1562 * data passed that is without an associated key. New entities can also be 1563 * added with publisher-assigned keys. See Section <a href="#_Ref8978954 1564 * ">5.2.2.2</a> <i>Behavior of Publishers</i>.</p> 1565 * 1566 * <p class="MsoBodyText">To make this API call perform an update to 1567 * existing registered data, the keyed entities (businessEntity, 1568 * businessService or bindingTemplate) MUST have <i>uddiKey</i> values that 1569 * correspond to the registered data to be updated.</p> 1570 * 1571 * <p class="MsoBodyText">Data can be deleted with this API call when 1572 * registered information is different from the new information provided. 1573 * Any businessService and bindingTemplate structures found in the custodial 1574 * UDDI node, but missing from the businessEntity information provided in 1575 * this call, are deleted from the registry by this call.</p> 1576 * 1577 * <p class="MsoBodyText">Data contained within businessEntity structures 1578 * can be rearranged with this API call. This can be done by redefining 1579 * parent container relationships for other registered information. 1580 * For instance, if a new businessEntity is saved with information about a 1581 * businessService that is registered already as part of a different 1582 * businessEntity, this results in the businessService being moved from its 1583 * current container to the new businessEntity. This condition 1584 * occurs when the businessKey of the businessService being saved matches 1585 * the businessKey of the businessEntity being saved. An attempt to delete 1586 * or move a businessService in this manner by a party who is not the 1587 * publisher of the businessService MUST be rejected with an error 1588 * E_userMismatch.</p> 1589 * 1590 * <p class="MsoBodyText">If the businessEntity being saved contains a 1591 * businessService that has a businessKey referring to some businessEntity 1592 * other than the businessEntity being saved, the UDDI registry notes a 1593 * reference, called a "service projection", to the existing 1594 * businessService. Subsequent calls to the get_businessDetail API, passing 1595 * either the businessKey of the businessEntity that contains the referenced 1596 * businessService or the businessKey of the businessEntity that contains 1597 * the service projection will result in an identical businessService 1598 * element being included as part of the result set. </p> 1599 * 1600 * <p class="MsoBodyText">A businessEntity must not contain a 1601 * businessService and a service projection to this businessService. As a 1602 * result, a businessService cannot be moved to a businessEntity that 1603 * already has a service projection to that businessService. Regardless of 1604 * the order of operation, a businessService and a service projection can 1605 * never appear under the same businessEntity. Implementations are required 1606 * to reject and return an E_fatalError during such a save_business 1607 * operation.</p> 1608 * 1609 * <p class="MsoBodyText">No changes to the referenced businessService are 1610 * effected by the act of establishing a service projection. 1611 * Existing service projections associated with the businessEntity being 1612 * saved that are not contained in the call to save_business are deleted 1613 * automatically. This reference deletion does not cause any changes 1614 * to the referenced businessService. If the referenced businessService is 1615 * deleted by any means, all references to it associated with other 1616 * businessEntity structures are left untouched. Such "broken" service 1617 * projections appear in their businessEntity as businessService elements 1618 * containing the businessKey and serviceKey attributes as their only 1619 * content. If the businessService is moved to another business, all 1620 * projections will be updated to reflect the new businessKey<a 1621 * href="#_ftn25" name="_ftnref25" title=""><span 1622 * class="MsoFootnoteReference"><span class="MsoFootnoteReference"><span 1623 * style="font-size:10.0pt;letter-spacing:-.25pt">[25]</span></span></span></a>. 1624 * For this reason, it is good practice to coordinate references to 1625 * businessService data published under another businessEntity with the 1626 * party who manages that data</p> 1627 * 1628 * <p class="MsoBodyText">When saving a businessEntity containing a service 1629 * projection, all of the content of the businessService provided in the 1630 * save_business, with the exception of the serviceKey and businessKey, is 1631 * ignored. The businessKey and serviceKey of the businessService 1632 * being referenced are used to determine if the businessService is for a 1633 * service projection or not. If the businessService identified by the 1634 * serviceKey is not part of the businessEntity identified by the 1635 * businessKey, the error E_invalidProjection will be returned.</p> 1636 * 1637 * <p class="MsoBodyText">When a businessEntity is saved with identifierBag 1638 * or categoryBag contents that is associated with a checked value set or 1639 * category group system tModel, the references MUST be checked for validity 1640 * prior to completion of the save or the node must return E_unsupported, 1641 * indicating it does not support the referenced checked value set or 1642 * category group system. See Section <a href="#_Ref8978999 1643 * ">5.2.3</a> <i>Special considerations for validated value sets,</i> 1644 * Appendix E <i>Using Identifiers</i> and Appendix F <i>Using 1645 * Categorization</i> for additional details.</p> 1646 * @return returns org.uddi.api_v3.BusinessDetail <p 1647 * class="MsoBodyText">This API returns a businessDetail structure 1648 * containing the final results of the call that reflects the new registered 1649 * information for the businessEntity information provided. Any businessKey, 1650 * serviceKey, or bindingKey attributes that were assigned as a result of 1651 * processing the save_business are included in the returned data. For 1652 * businessService elements that are service projections, the response 1653 * includes either the businessService elements as provided by the publisher 1654 * or the full contents of the real businessService elements. These results 1655 * include any businessService elements that are contained by reference. If 1656 * the same entity (businessEntity, businessService, or bindingTemplate), 1657 * determined by matching key, is listed more than once in the save_business 1658 * call, it MAY be listed once in the result for each appearance in the 1659 * call. If the same entity appears more than once in the response, the last 1660 * appearance occurrence of the entity in the results represents either the 1661 * final saved state stored in the registry or the last occurrence of the 1662 * entity provided by the publisher within the request.</p> 1663 * 1664 * <p class="MsoBodyText">The businessDetail has the form:</p> <img 1665 * src="http://uddi.org/pubs/uddi-v3.0.2-20041019_files/image077.gif"> 1666 * @throws DispositionReportFaultMessage, RemoteException <p 1667 * class="MsoBodyText">If an error occurs in processing this API call, a 1668 * dispositionReport element MUST be returned to the caller in a SOAP 1669 * Fault. See Section <a href="#_Ref8979130 ">4.8</a> <i>Success and 1670 * Error Reporting. </i>In addition to the errors common to all APIs, 1671 * the following error information is relevant here:</p> 1672 * 1673 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span 1674 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 1675 * Roman""> 1676 * </span></span><b>E_accountLimitExceeded</b>: Signifies that user account 1677 * limits have been exceeded.</p> 1678 * 1679 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span 1680 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 1681 * Roman""> 1682 * </span></span><b>E_invalidKeyPassed</b>: Signifies that the request 1683 * cannot be satisfied because one or more <i>uddiKey</i> values specified 1684 * are not valid key values for the entities being published. tModelKey, 1685 * businessKey, serviceKey, or bindingKey values that either do not exist, 1686 * or exist with a different entity type, or are not authorized to be 1687 * proposed by the publisher are considered to be invalid values. The key 1688 * causing the error SHOULD be clearly indicated in the error text.</p> 1689 * 1690 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span 1691 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 1692 * Roman""> 1693 * </span></span><b>E_invalidProjection</b>: Signifies that an attempt was 1694 * made to save a businessEntity containing a service projection where the 1695 * businessService being projected is not a part of the businessEntity that 1696 * is identified by the businessKey in the businessService. The serviceKey 1697 * of at least one such businessService SHOULD be included in the 1698 * dispositionReport.</p> 1699 * 1700 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span 1701 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 1702 * Roman""> 1703 * </span></span><b>E_userMismatch</b>: Signifies that one or more of the 1704 * <i>uddiKey </i>values passed refers to data that is not owned by the 1705 * individual publisher who is represented by the authentication 1706 * token. The key causing the error SHOULD be clearly indicated in the 1707 * error text.</p> 1708 * 1709 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span 1710 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 1711 * Roman""> 1712 * </span></span><b>E_invalidValue</b>: A value that was passed in a 1713 * keyValue attribute did not pass validation. This applies to checked 1714 * value sets that are referenced using keyedReferences. The error text 1715 * SHOULD clearly indicate the key and value combination that failed 1716 * validation.</p> 1717 * 1718 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span 1719 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 1720 * Roman""> 1721 * </span></span><b><span 1722 * style="layout-grid-mode:line">E_keyUnavailable</span></b><span 1723 * style="layout-grid-mode:line">: Indicates that the proposed key has 1724 * already been assigned to some other publisher or is not within the 1725 * partition defined by a key generator tModel that the publisher 1726 * owns.</span></p> 1727 * 1728 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span 1729 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 1730 * Roman""> 1731 * </span></span><b>E_requestTimeout</b>: Signifies that the request could 1732 * not be carried out because a needed validate_values service did not 1733 * respond in a reasonable amount of time. Details identifying the failing 1734 * Web service SHOULD be included in the dispositionReport element.</p> 1735 * 1736 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span 1737 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 1738 * Roman""> 1739 * </span></span><b><span 1740 * style="layout-grid-mode:line">E_unsupported</span></b><span 1741 * style="layout-grid-mode:line">: A keyedReference in a categoryBag or an 1742 * identifierBag that references a checked value set cannot be validated by 1743 * the UDDI node because the node does not support the referenced checked 1744 * value set. The error text should clearly indicate the 1745 * keyedReference that cannot be validated.</span></p> 1746 * 1747 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span 1748 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 1749 * Roman""> 1750 * </span></span><b><span 1751 * style="layout-grid-mode:line">E_unvalidatable</span></b><span 1752 * style="layout-grid-mode:line">: A keyedReference in a categoryBag or an 1753 * identifierBag that references a checked value set cannot be validated by 1754 * the UDDI node because the referenced tModel has been marked 1755 * unvalidatable. The error text should clearly indicate the 1756 * keyedReference that cannot be validated.</span></p> 1757 * 1758 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span 1759 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 1760 * Roman""> 1761 * </span></span><b>E_valueNotAllowed</b>: Restrictions have been placed by 1762 * the value set provider on the types of information that should be 1763 * included at that location within a specific value set. A validate_values 1764 * Web service chosen by the UDDI node has rejected this businessEntity for 1765 * at least one specified keyedReference. The error text SHOULD 1766 * clearly indicate the keyedReference that was not successfully 1767 * validated.</p> 1768 * 1769 * <span 1770 * style="font-size:10.0pt;font-family:Arial;letter-spacing:-.25pt"></span> 1771 */ 1772 @WebMethod(operationName = "save_business", action = "save_business") 1773 @WebResult(name = "businessDetail", targetNamespace = "urn:uddi-org:api_v3", partName = "body") 1774 @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE) 1775 public BusinessDetail saveBusiness( 1776 @WebParam(name = "save_business", targetNamespace = "urn:uddi-org:api_v3", partName = "body") SaveBusiness body) 1777 throws DispositionReportFaultMessage, RemoteException; 1778 1779 /** 1780 * The save_service API call adds or updates one or more businessService 1781 * elements. Each businessService MAY be signed and MAY have 1782 * publisher-assigned keys. 1783 * 1784 * @param body <p class="MsoBodyText" 1785 * style="margin-left:1.0in;text-indent:-.25in"><span 1786 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 1787 * Roman""> 1788 * </span></span><b><i>authInfo</i></b>: This optional argument is an 1789 * element that contains an authentication token. Authentication 1790 * tokens are obtained using the get_authToken API call or through some 1791 * other means external to this specification. Registries that serve 1792 * multiple publishers and registries that restrict who can publish in them 1793 * typically require authInfo for this call.</p> 1794 * 1795 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span 1796 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 1797 * Roman""> 1798 * </span></span><b><i>businessService</i></b>: Required repeating 1799 * element containing one or more complete businessService elements. 1800 * For the purpose of performing round trip updates, this data can be 1801 * obtained in advance by using the get_serviceDetail API call or by any 1802 * other means.</p> 1803 * 1804 * <p class="MsoBodyText"><span lang="EN-AU">Each new businessService passed 1805 * MUST contain a businessKey value that corresponds to a registered 1806 * businessEntity controlled by the same publisher. An existing business 1807 * service MAY contain a businessKey value that corresponds to a registered 1808 * businessEntity controlled by the same publisher</span>.</p> 1809 * 1810 * <p class="MsoBodyText">If any of the <i>uddiKey</i> values within a 1811 * businessService element (i.e., any data with a key value regulated by a 1812 * serviceKey or bindingKey) is passed with an empty value, this is a signal 1813 * that the data that is so keyed is being inserted for the first time.<span 1814 * class="MsoFootnoteReference"> <a href="#_ftn26" name="_ftnref26" 1815 * title=""><span class="MsoFootnoteReference"><span 1816 * style="font-size:10.0pt;letter-spacing:-.25pt">[26]</span></span></a></span> 1817 * In this case, a new key value MUST be automatically generated for the 1818 * data which was passed without an associated key value. New entities can 1819 * also be added with publisher-assigned keys. See Section <a 1820 * href="#_Ref8978954 ">5.2.2.2</a> <i>Behavior of Publishers</i>.</p> 1821 * 1822 * <p class="MsoBodyText">If the same businessService is contained in more 1823 * than one businessService argument, the final relationship to the 1824 * containing businessEntity is determined by processing order – which is 1825 * determined by first to last order of the information passed in the 1826 * request. Analogously, if the same bindingTemplate is specified in the 1827 * call as being in more than one businessService, the businessService that 1828 * is its container at the conclusion of the call is last one listed.</p> 1829 * 1830 * <p class="MsoBodyText">Using this API call it is possible to move an 1831 * existing bindingTemplate element from one businessService element to 1832 * another, or move an existing businessService element from one 1833 * businessEntity to another by simply specifying a different parent 1834 * businessEntity relationship. Changing a parent relationship in this 1835 * way causes two businessEntity or two businessService structures to be 1836 * changed. An attempt to move a bindingTemplate or a businessService in 1837 * this manner by a party who is not the publisher of the businessService 1838 * that is specified by the serviceKey or the businessEntity that is 1839 * specified by the businessKey MUST be rejected with an error 1840 * E_userMismatch.</p> 1841 * 1842 * <p class="MsoBodyText">When a businessService is saved with categoryBag 1843 * contents that is associated with a checked value set or category group 1844 * system tModel, the references MUST be checked for validity prior to 1845 * completion of the save or the node MUST return E_unsupported, indicating 1846 * it does not support the referenced checked value set or category group 1847 * system. See Section <a href="#_Ref8978999 ">5.2.3</a> <i>Special 1848 * considerations for validated value sets</i> and Appendix F <i>Using 1849 * Categorization</i> for additional details.</p> 1850 * @return returns org.uddi.api_v3.ServiceDetail <p class="MsoBodyText">This 1851 * API call returns a serviceDetail containing the final results of the call 1852 * that reflects the newly registered information for the affected 1853 * businessService elements. In cases where multiple businessService 1854 * elements are passed in the request, the result contains the final results 1855 * for each businessService passed and these appear in the same order as 1856 * found in the request. Any serviceKey and bindingKey values that were 1857 * assigned as a result of processing the save_service API are included in 1858 * the businessService data.</p> 1859 * 1860 * <p class="MsoBodyText">If the same entity (businessService, or 1861 * bindingTemplate), determined by matching key, is listed more than once in 1862 * the save_service API, it MAY be listed once in the result for each 1863 * appearance in the save_service API. If the same entity appears more than 1864 * once in the response, the last occurrence of the entity in the results 1865 * represents the state stored in the registry. </p> 1866 * 1867 * <p class="MsoBodyText">The serviceDetail has the form: </p> <img 1868 * src="http://uddi.org/pubs/uddi-v3.0.2-20041019_files/image079.gif"> 1869 * @throws DispositionReportFaultMessage, RemoteException <p 1870 * class="MsoBodyText">If an error occurs in processing this API call, a 1871 * dispositionReport element MUST be returned to the caller within a SOAP 1872 * Fault. See Section <a href="#_Ref8979130 ">4.8</a> <i>Success and 1873 * Error Reporting. </i>In addition to the errors common to all APIs, 1874 * the following error information is relevant here:</p> 1875 * 1876 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span 1877 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 1878 * Roman""> 1879 * </span></span><b>E_accountLimitExceeded</b>: Signifies that user account 1880 * limits have been exceeded.</p> 1881 * 1882 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span 1883 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 1884 * Roman""> 1885 * </span></span><b>E_invalidKeyPassed</b>: Signifies that the request 1886 * cannot be satisfied because one or more <i>uddiKey</i> values specified 1887 * are not valid key values for the entities being published. tModelKey, 1888 * businessKey, serviceKey, or bindingKey values that either do not exist, 1889 * or exist with a different entity type, or are not authorized to be 1890 * proposed by the publisher are considered to be invalid values. The key 1891 * causing the error SHOULD be clearly indicated in the error text. This 1892 * error code will also be returned in the event that the businessKey is not 1893 * provided and the serviceKey is either absent or has a value not 1894 * registered in the registry. In this case, the error text SHOULD 1895 * clearly indicate the use of an incomplete businessService.</p> 1896 * 1897 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span 1898 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 1899 * Roman""> 1900 * </span></span><b>E_invalidValue</b>: A value that was passed in a 1901 * keyValue attribute did not pass validation. This applies to checked 1902 * value sets referenced using keyedReferences. The error text SHOULD 1903 * clearly indicate the key and value combination that failed 1904 * validation.</p> 1905 * 1906 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span 1907 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 1908 * Roman""> 1909 * </span></span><b><span 1910 * style="layout-grid-mode:line">E_keyUnavailable</span></b><span 1911 * style="layout-grid-mode:line">: Indicates that the proposed key has 1912 * already been assigned to some other publisher or is not within the 1913 * partition defined by a key generator tModel that the publisher 1914 * owns.</span></p> 1915 * 1916 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span 1917 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 1918 * Roman""> 1919 * </span></span><b>E_requestTimeout</b>: Signifies that the request could 1920 * not be carried out because a needed validate_values service did not 1921 * respond in a reasonable amount of time. Details identifying the failing 1922 * Web service SHOULD be included in the dispositionReport element.</p> 1923 * 1924 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span 1925 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 1926 * Roman""> 1927 * </span></span><b>E_userMismatch</b>: Signifies that one or more of the 1928 * <i>uddiKey </i>values passed refers to data that is not owned by the 1929 * individual publisher who is represented by the authentication token.</p> 1930 * 1931 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span 1932 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 1933 * Roman""> 1934 * </span></span><b><span 1935 * style="layout-grid-mode:line">E_unsupported</span></b><span 1936 * style="layout-grid-mode:line">: A keyedReference in a categoryBag that 1937 * references a checked value set cannot be validated by the UDDI node 1938 * because the node does not support the referenced checked value set. 1939 * The error text SHOULD clearly indicate the keyedReference that cannot be 1940 * validated.</span></p> 1941 * 1942 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span 1943 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 1944 * Roman""> 1945 * </span></span><b><span 1946 * style="layout-grid-mode:line">E_unvalidatable</span></b><span 1947 * style="layout-grid-mode:line">: A keyedReference in a categoryBag that 1948 * references a checked value set cannot be validated by the UDDI node 1949 * because the referenced tModel has been marked unvalidatable. The 1950 * error text SHOULD clearly indicate the keyedReference that cannot be 1951 * validated.</span></p> 1952 * 1953 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span 1954 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 1955 * Roman""> 1956 * </span></span><b>E_valueNotAllowed</b>: The value set validation routine 1957 * chosen by the UDDI node has rejected the businessService data 1958 * provided. The error text SHOULD clearly indicate the keyedReference 1959 * that was not successfully validated.</p> 1960 * 1961 * <span 1962 * style="font-size:10.0pt;font-family:Arial;letter-spacing:-.25pt"></span> 1963 */ 1964 @WebMethod(operationName = "save_service", action = "save_service") 1965 @WebResult(name = "serviceDetail", targetNamespace = "urn:uddi-org:api_v3", partName = "body") 1966 @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE) 1967 public ServiceDetail saveService( 1968 @WebParam(name = "save_service", targetNamespace = "urn:uddi-org:api_v3", partName = "body") SaveService body) 1969 throws DispositionReportFaultMessage, RemoteException; 1970 1971 /** 1972 * The save_tModel API call adds or updates one or more registered tModel 1973 * elements. tModels MAY be signed and tModels MAY be saved with 1974 * publisher-assigned keys, including those tModels that establish the 1975 * domain partition of publisher-assigned keys, known as domain key 1976 * generator tModels. 1977 * 1978 * @param body <p class="MsoBodyText" 1979 * style="margin-left:1.0in;text-indent:-.25in"><span 1980 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 1981 * Roman""> 1982 * </span></span><b><i>authInfo</i></b>: This optional argument is an 1983 * element that contains an authentication token. Authentication 1984 * tokens are obtained using the get_authToken API call or through some 1985 * other means external to this specification. Registries that serve 1986 * multiple publishers and registries that restrict who can publish in them 1987 * typically require authInfo for this call.</p> 1988 * 1989 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span 1990 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 1991 * Roman""> 1992 * </span></span><b><i>tModel</i></b>: Required repeating element 1993 * containing one or more required repeating complete tModel elements. 1994 * For the purpose of performing round-trip updates, this data can be 1995 * obtained in advance by using the get_tModel API call or by other 1996 * means.</p> <p class="MsoBodyText">If the <i>uddiKey</i> value within a 1997 * tModel (i.e., tModelKey) is missing or is passed with an empty value, 1998 * this is a signal that a new tModel is being inserted and that the UDDI 1999 * registry MUST assign a new tModelKey identifier to this data. If 2000 * the new tModel is categorized with the <i>keyGenerator</i> value from the 2001 * uddi:uddi.org:categorization:types category system, any publisher 2002 * assigned key MUST end with the string "<i>:keygenerator" , </i>making the 2003 * tModel a key generator tModel. If the new tModel is categorized 2004 * with the <i>keyGenerator</i> value from the 2005 * uddi:uddi.org:categorization:types category, an empty uddiKey signifies 2006 * that the tModelKey generated by the node will end with the string 2007 * "<i>:keygenerator"</i>, making the tModel a key generator tModel. 2008 * New tModels can also be added with publisher-assigned keys. See 2009 * Section <a href="#_Ref8978954 ">5.2.2.2</a> <i>Behavior of Publishers</i> 2010 * and Section <a href="#_Ref535395714 ">5.2.18.3.1</a> <i>Domain Key 2011 * Generator tModels</i>. </p> 2012 * 2013 * <p class="MsoBodyText">This API call performs an update to existing 2014 * registered data when the tModelKey values have <i>uddiKey</i> values that 2015 * correspond to already registered data.</p> 2016 * 2017 * <p class="MsoBodyText">If a tModelKey value is passed that corresponds to 2018 * a tModel that was previously hidden via the delete_tModel API call, the 2019 * save_tModel service restores the tModel to full visibility, making it 2020 * available for return in find_tModel results. </p> 2021 * 2022 * <p class="MsoBodyText">The value of the deleted attribute in the tModel 2023 * is set to false in all saves.</p> 2024 * 2025 * <p class="MsoBodyText">Multiple representations of the overview document 2026 * MAY be registered for a tModel allowing, for example, both technical and 2027 * human readable representations of the technical overview to be provided. 2028 * </p> 2029 * 2030 * <p class="MsoBodyText">When a tModel is saved with keyedReferences, all 2031 * tModelKeys used in keyedReferences must refer to tModels that existed 2032 * prior to processing the tModel containing the references. A save_tModel 2033 * API call may contain a sequence of tModels, in which case a 2034 * keyedReference in a tModel may refer to tModelKeys created earlier but 2035 * not later in the sequence. A tModel being created must not refer to 2036 * itself. Self-referencing tModels can be created by using two subsequent 2037 * save_tModel API calls, the first one without the reference, and the 2038 * second one with the reference (to the already saved tModel). If these 2039 * conditions are not met, the node MUST return E_invalidKeyPassed.</p> 2040 * 2041 * <p class="MsoBodyText">When a tModel is saved with identifierBag or 2042 * categoryBag contents that is associated with a checked value set or 2043 * category group system tModel, the references MUST be checked for validity 2044 * prior to completion of the save, or the node MUST return E_unsupported, 2045 * indicating it does not support the referenced checked value set or 2046 * category group system. See Section <a href="#_Ref8978999 2047 * ">5.2.3</a> <i>Special considerations for validated value sets,</i> 2048 * Appendix E <i>Using Identifiers</i> and Appendix F <i>Using 2049 * Categorization</i> for additional details. </p> <h5 2050 * style="margin-left:0in;text-indent:0in"><a name="_Ref535395714">Domain 2051 * key generator tModels</a></h5> 2052 * 2053 * <p class="MsoBodyText">For registries that use the recommended key 2054 * syntax, a domain key generator tModel establishes a key partition from 2055 * which <i>uddiKey</i>s can be derived and used in other entities 2056 * controlled by the publisher, as described in Section <a 2057 * href="#_Ref44771019 ">4.4.1</a> <a href="#_Ref44771019 ">Key 2058 * Syntax</a>. Additional considerations are involved when publishing 2059 * a domain key generator tModel for the first time. </p> 2060 * 2061 * <p class="MsoNormal" style="margin-left:1.0in;text-indent:-.25in">1.<span 2062 * style="font:7.0pt "Times New 2063 * Roman""> </span>The tModelKey 2064 * MUST be in the form of a <span class="CharChar1"><i>domain_key</i></span> 2065 * and MUST end with the term<span class="CharChar1">:</span><span 2066 * class="CharChar1"> <i>keyGenerator</i></span>. </p> 2067 * 2068 * <p class="MsoNormal" style="margin-left:1.0in;text-indent:-.25in">2.<span 2069 * style="font:7.0pt "Times New 2070 * Roman""> </span>The tModelKey 2071 * MUST be categorized with the <i>keyGenerator</i> value from the 2072 * uddi:uddi.org:categorization:types category system.</p> 2073 * 2074 * <p class="MsoNormal" style="margin-left:1.0in;text-indent:-.25in">3.<span 2075 * style="font:7.0pt "Times New 2076 * Roman""> </span>Registry policy 2077 * for establishing key domains MAY require the tModel to be signed.</p> 2078 * 2079 * <p class="MsoBodyText">Also, publishers of key generator tModels MAY use 2080 * the overviewDoc to describe how the key space is defined.</p> 2081 * 2082 * <p class="MsoBodyText">The save_tModel API call does a first pass check 2083 * of the tModel to check its suitability and, if it is acceptable according 2084 * to the policy of the registry for saving domain key generator tModels, 2085 * returns the tModelDetail for the registry. If it is not acceptable the 2086 * reason is clearly indicated in the returned dispositionReport and no 2087 * further processing takes place.</p> 2088 * 2089 * <p class="MsoBodyText">If the registry has multiple nodes, returning the 2090 * tModelDetail is not an indication that the domain key generator tModel 2091 * has been published successfully. A registry that allows publisher 2092 * assigned keys MUST have a policy to ensure domainKey collisions do not 2093 * occur. The custodial node MUST ensure that the domain key generator 2094 * tModel is not in the process of being published simultaneously on some 2095 * other node. If, after the conclusion of a full replication cycle, no UDDI 2096 * node has already assigned or attempted to assign the partition (e.g., no 2097 * change record has been received from other nodes), the custodial node 2098 * completes the publish operation of the domain key generator tModel, 2099 * assigning it to the publisher. If some other node has already been 2100 * assigned the partition, the tModel is not published. See Section 2101 * 7.3.9 changeRecordNewDataConditional for more information on the 2102 * replication structure, and Section 9.4.2 General Keying Policy and 2103 * Section 9.4.3 Policy Abstractions for the UDDI keying scheme for the 2104 * recommended policy that addresses acceptance of a domain key 2105 * generator.</p> 2106 * 2107 * <p class="MsoBodyText">When the publishing of a domain key generator 2108 * tModel has completed, the custodial node MAY notify the publisher that 2109 * the tModel is ready for use. Whether a node does this and the means by 2110 * which it does so is a node policy. A typical node policy is to notify the 2111 * publisher by e-mail using an e-mail address gathered at the time the 2112 * publisher account was set up.</p> 2113 * 2114 * <p class="MsoBodyText">Before the publish operation is complete, the 2115 * domain key generator tModel will be ignored by find_xx and get_xx API 2116 * calls, and will return an E_keyUnavailable error to further save_tModel 2117 * calls.</p> 2118 * 2119 * <p class="MsoBodyText">If after the replication cycle the publisher is in 2120 * doubt about the outcome, get_tModelDetail may be issued specifying the 2121 * key of the domain key generator tModel being published. If a tModel is 2122 * retrieved and the publisher is the owner, the operation succeeded. If a 2123 * tModel is retrieved and some other publisher is the owner, the operation 2124 * failed because another publisher published a domain key generator with 2125 * the chosen <i><span style="layout-grid-mode:line">domain_key</span></i> 2126 * first. If no tModel is retrieved, then either the registry experienced a 2127 * failure, or two publishers tried to publish tModels with the same key 2128 * "simultaneously", and neither succeeded. In either of these cases, the 2129 * save_tModel operation may be retried.</p> 2130 * 2131 * <p class="MsoBodyText">Attempts to remove the following categorization 2132 * from a successfully published key generator tModel will fail with 2133 * E_fatalError, since it is this very categorization that distinguishes key 2134 * generator tModels from other tModels:</p> 2135 * 2136 * <p class="codeSample"><tModelKey="uddi:uddi.org:categorization:types" 2137 * keyValue="keyGenerator" /></p> 2138 * @return returns org.uddi.api_v3.TModelDetail <p class="MsoBodyText">In 2139 * most cases this API returns a tModelDetail containing the final results 2140 * of the call that reflects the new or pending registered information for 2141 * the affected tModel structures. Any tModelKey attributes that were 2142 * assigned as a result of processing the save_tModel API are included in 2143 * the tModel data. When a domain key generator is saved for the first 2144 * time, the tModel that is returned in the tModelDetail represents an 2145 * interim state, until all nodes in the registry have ascertained that the 2146 * requested key domain does in fact belong to the publisher<a 2147 * href="#_ftn27" name="_ftnref27" title=""><span 2148 * class="MsoFootnoteReference"><span class="MsoFootnoteReference"><span 2149 * style="font-size:10.0pt;letter-spacing:-.25pt">[27]</span></span></span></a>. 2150 * See Section <a href="#_Ref8979261 ">7.3.9</a> 2151 * <i>changeRecordNewDataConditional</i> for more information. If 2152 * multiple tModel elements are passed in the save_tModel request, the order 2153 * of the response MUST exactly match the order that the elements appeared 2154 * in the save. If the same tModel, determined by matching key, is listed 2155 * more than once in the save_tModel API, it MAY be listed only once in the 2156 * result for each appearance in the save_tModel API. If the same tModel 2157 * appears more than once in the response, the last occurrence of the tModel 2158 * in the results represents the state stored in the registry.</p> 2159 * 2160 * <p class="MsoBodyText">The tModelDetail has the form: </p> <img 2161 * src="http://uddi.org/pubs/uddi-v3.0.2-20041019_files/image081.gif"> 2162 * @throws DispositionReportFaultMessage, RemoteException <p 2163 * class="MsoBodyText">If an error occurs in processing this API call, a 2164 * dispositionReport element MUST be returned to the caller in a SOAP 2165 * Fault. See Section <a href="#_Ref8979130 ">4.8</a> <i>Success and 2166 * Error Reporting. </i>In addition to the errors common to all APIs, 2167 * the following error information is relevant here:</p> 2168 * 2169 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span 2170 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 2171 * Roman""> 2172 * </span></span><b>E_accountLimitExceeded</b>: Signifies that user account 2173 * limits have been exceeded.</p> 2174 * 2175 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span 2176 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 2177 * Roman""> 2178 * </span></span><b>E_invalidKeyPassed</b>: Signifies that the request 2179 * cannot be satisfied because one or more <i>uddiKey</i> values specified 2180 * are not valid key values for the entities being published. tModelKey 2181 * values that either do not exist, or exist with a different entity type, 2182 * or are not authorized to be proposed by the publisher are considered to 2183 * be invalid values. The key causing the error SHOULD be clearly indicated 2184 * in the error text.</p> 2185 * 2186 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span 2187 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 2188 * Roman""> 2189 * </span></span><b>E_invalidValue</b>: A value that was passed in a 2190 * keyValue attribute did not pass validation. This applies to checked 2191 * value sets referenced using keyedReferences. The error text SHOULD 2192 * clearly indicate the key and value combination that failed 2193 * validation.</p> 2194 * 2195 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span 2196 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 2197 * Roman""> 2198 * </span></span><b>E_keyUnavailable</b>: Indicates that the proposed key 2199 * has already been assigned to some other publisher, is not within the 2200 * partition defined by a key generator tModel that the publisher owns, or, 2201 * in the case of a domain key generator tModel being saved for the first 2202 * time, is assigned to some other publisher or is still pending its first 2203 * save.</p> 2204 * 2205 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span 2206 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 2207 * Roman""> 2208 * </span></span><b>E_requestTimeout</b>: Signifies that the request could 2209 * not be carried out because a needed validate_values Web service did not 2210 * respond in a reasonable amount of time. Details identifying the failing 2211 * Web service SHOULD be included in the dispositionReport element.</p> 2212 * 2213 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span 2214 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 2215 * Roman""> 2216 * </span></span><b>E_unacceptableSignature</b>: Indicates that the digital 2217 * signature in the tModel is missing or does not meet the requirements of 2218 * the registry. The errInfo element provides additional details.</p> 2219 * 2220 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span 2221 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 2222 * Roman""> 2223 * </span></span><b>E_userMismatch</b>: Signifies that one or more of the 2224 * uddiKey values passed refers to data that is not owned by the individual 2225 * publisher who is represented by the authentication token.</p> 2226 * 2227 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span 2228 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 2229 * Roman""> 2230 * </span></span><b>E_unsupported</b>: A keyedReference in a categoryBag or 2231 * an identifierBag that references a checked value set cannot be validated 2232 * by the UDDI node because the node does not support the referenced checked 2233 * value set. The error text SHOULD clearly indicate the 2234 * keyedReference that cannot be validated.</p> 2235 * 2236 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span 2237 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 2238 * Roman""> 2239 * </span></span><b>E_unvalidatable</b>: A keyedReference in a categoryBag 2240 * or an identifierBag that references a checked value set cannot be 2241 * validated by the UDDI node because the referenced tModel has been marked 2242 * unvalidatable. The error text SHOULD clearly indicate the 2243 * keyedReference that cannot be validated.</p> 2244 * 2245 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span 2246 * style="font-family:Symbol">·<span style="font:7.0pt "Times New 2247 * Roman""> 2248 * </span></span><b>E_valueNotAllowed</b>: Restrictions have been placed by 2249 * the value set provider on the types of information that should be 2250 * included at that location within a specific value set. The 2251 * validation routine chosen by the UDDI node has rejected this tModel for 2252 * at least one specified keyedReference. The error text SHOULD 2253 * clearly indicate the keyedReference that was not successfully 2254 * validated.</p> 2255 * 2256 * <span 2257 * style="font-size:10.0pt;font-family:Arial;letter-spacing:-.25pt"></span> 2258 */ 2259 @WebMethod(operationName = "save_tModel", action = "save_tModel") 2260 @WebResult(name = "tModelDetail", targetNamespace = "urn:uddi-org:api_v3", partName = "body") 2261 @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE) 2262 public TModelDetail saveTModel( 2263 @WebParam(name = "save_tModel", targetNamespace = "urn:uddi-org:api_v3", partName = "body") SaveTModel body) 2264 throws DispositionReportFaultMessage, RemoteException; 2265 2266 /** 2267 * The set_publisherAssertions API call is used to manage all of the tracked 2268 * relationship assertions associated with an individual publisher. See 2269 * Appendix A Relationships and Publisher Assertions for more information. 2270 * 2271 * @param publisherAssertion 2272 * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt "Times New Roman""> 2273 </span></span><b><i>authInfo</i></b>: This optional argument is an element that 2274 contains an authentication token. Authentication tokens are obtained using the 2275 get_authToken API call or through some other means external to this 2276 specification. Registries that serve multiple publishers and registries that 2277 restrict who can publish in them typically require authInfo for this call.</p> 2278 2279 * @param authInfo 2280 * 2281 <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt "Times New Roman""> 2282 </span></span><b><i>publisherAssertion</i></b>: Optional repeating element asserting 2283 a relationship. Relationship assertions consist of a reference to two 2284 businessEntity key values as designated by the fromKey and toKey elements, as 2285 well as a REQUIRED expression of the directional relationship within the 2286 contained keyedReference element. See Appendix A <i>Relationships and 2287 Publisher Assertions</i>. The fromKey, the toKey, and all three parts of the 2288 keyedReference – the tModelKey, the keyName, and the keyValue – MUST be 2289 specified. E_fatalError is returned if any of these elements are missing in any 2290 of the publisherAssertion elements. Empty (zero length) keyNames and keyValues 2291 are permitted.</p> 2292 * <p class="MsoBodyText">The full set of assertions associated with a publisher is 2293 effectively replaced whenever this API is used. When this API call is processed, the publisher assertions that exist prior to this API call for a given 2294 publisher are examined by the UDDI registry. Any new assertions not present 2295 prior to the call are added to the assertions attributed to the publisher. Any 2296 existing assertions not present in the call are deleted. As a result, new 2297 relationships may be completed (e.g. determined to have a completed status), 2298 and existing relationships may be dissolved. Invoking this API with no publisherAssertion elements deletes all assertions associated with the publisher.</p> 2299 2300 <p class="MsoBodyText">Any relationships attributed to assertions previously 2301 present but not present in the data provided in this call are deactivated and 2302 are no longer visible via the find_relatedBusinesses API. For the sake of 2303 determining uniqueness within an assertion set, the fromKey, toKey, and the 2304 entire keyedReference within the publisherAssertion element are significant. 2305 Any differences in any of the individual publisherAssertion element contents 2306 constitute a new unique assertion for purposes of detecting new assertions. 2307 The direction of the relationship, as indicated by the two businessKey values 2308 in the fromKey and toKey elements, is also relevant in determining assertion 2309 uniqueness.</p> 2310 2311 <p class="MsoBodyText">The publisher must own the businessEntity referenced in the 2312 fromKey, the toKey, or both. If both of the businessKey values passed within 2313 an assertion are owned by the publisher, then the assertion is automatically 2314 complete and the relationship described in the assertion is visible via the 2315 find_relatedBusinesses API. To form a relationship when the publisher only owns 2316 one of the two keys passed, the assertion MUST be matched exactly by an 2317 assertion made by the publisher who owns the other business referenced. 2318 Assertions exactly match if and only if they: </p> 2319 2320 <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in">1.<span style="font:7.0pt "Times New Roman""> </span>refer 2321 to the same businessEntity in their fromKeys; </p> 2322 2323 <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in">2.<span style="font:7.0pt "Times New Roman""> </span>refer 2324 to the same businessEntity in their toKeys; </p> 2325 2326 <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in">3.<span style="font:7.0pt "Times New Roman""> </span>refer 2327 to the same tModel in their tModelKeys; </p> 2328 2329 <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in">4.<span style="font:7.0pt "Times New Roman""> </span>have 2330 identical keyNames; and </p> 2331 2332 <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in">5.<span style="font:7.0pt "Times New Roman""> </span>have 2333 identical keyValues.</p> 2334 2335 <p class="MsoBodyText">When a publisherAssertion that is being saved references a 2336 checked relationship system using the tModelKey in the contained 2337 keyedReference, the reference MUST be checked for validity prior to completion 2338 of the save, or the node must return E_unsupported, indicating it does not 2339 support the referenced checked relationship system. Validation of a 2340 relationship system reference entails verification that the reference is valid 2341 according to the validation algorithm defined for the relationship system and 2342 described by its tModel. For cached checked relationship system, the 2343 validation algorithm verifies that referenced keyedReferences are valid for the 2344 relationship system.</p> 2345 2346 <p class="MsoBodyText">For registries supporting the subscription APIs at any 2347 node, it is necessary to track a modified date for publisherAssertion elements 2348 so that nodes have the necessary information for responding to subscription 2349 requests involving find_relatedBusinesses and get_assertionStatusReport 2350 filters.</p> 2351 <Br> 2352 * <p class="MsoBodyText">Upon successful completion, a publisherAssertions 2353 structure is returned containing all of the relationship assertions currently 2354 attributed to the publisher. When registries distinguish between publishers, 2355 the structure contains assertion data that is associated with the authInfo 2356 passed.</p> 2357 2358 <p class="MsoBodyText">See Section <a href="#_Ref534775361 ">5.2.13.3</a> <i>get_publisherAssertions</i> 2359 for more information on the publisherAssertions structure and contents.</p> 2360 2361 <p class="MsoBodyText">This API returns all assertions made by the publisher who 2362 was authenticated in the set_publisherAssertions API.</p> 2363 * @throws DispositionReportFaultMessage, RemoteException 2364 * <p class="MsoBodyText">If an error occurs in processing this API call, a dispositionReport element MUST be returned to the caller in a SOAP Fault. See 2365 Section <a href="#_Ref8979130 ">4.8</a> <i>Success and Error Reporting. </i>In 2366 addition to the errors common to all APIs, the following error information is 2367 relevant here:</p> 2368 2369 <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt "Times New Roman""> 2370 </span></span><b>E_invalidKeyPassed</b>: Signifies that one of the <i>uddiKey</i> 2371 values passed did not match with any known businessKey or tModelKey values. 2372 The assertion element and the key that caused the problem SHOULD be clearly 2373 indicated in the error text.</p> 2374 2375 <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt "Times New Roman""> 2376 </span></span><b>E_userMismatch</b>: Signifies that neither of the businessKey 2377 values passed in the embedded fromKey and toKey elements is controlled by the 2378 publisher associated with the authentication token. The error text SHOULD 2379 clearly indicate which assertion caused the error.</p> 2380 2381 <span style="font-size:10.0pt;font-family:Arial;letter-spacing:-.25pt"></span> 2382 */ 2383 @WebMethod(operationName = "set_publisherAssertions", action = "set_publisherAssertions") 2384 @RequestWrapper(localName = "set_publisherAssertions", targetNamespace = "urn:uddi-org:api_v3", className = "org.uddi.api_v3.SetPublisherAssertions") 2385 @ResponseWrapper(localName = "publisherAssertions", targetNamespace = "urn:uddi-org:api_v3", className = "org.uddi.api_v3.PublisherAssertions") 2386 public void setPublisherAssertions( 2387 @WebParam(name = "authInfo", targetNamespace = "urn:uddi-org:api_v3") String authInfo, 2388 @WebParam(name = "publisherAssertion", targetNamespace = "urn:uddi-org:api_v3", mode = WebParam.Mode.INOUT) Holder<List<PublisherAssertion>> publisherAssertion) 2389 throws DispositionReportFaultMessage, RemoteException; 2390 }