You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@juddi.apache.org by ks...@apache.org on 2010/03/02 16:35:49 UTC

svn commit: r918080 [1/4] - in /webservices/juddi/site/docs/3.0/userguide: html/ html/images/ html_single/ html_single/images/ pdf/

Author: kstam
Date: Tue Mar  2 15:35:48 2010
New Revision: 918080

URL: http://svn.apache.org/viewvc?rev=918080&view=rev
Log:
publishing latest userguide

Added:
    webservices/juddi/site/docs/3.0/userguide/html/chap-SimplePublish.html
    webservices/juddi/site/docs/3.0/userguide/html/chap-deployglassfish.html
    webservices/juddi/site/docs/3.0/userguide/html/chap-deployjboss.html
    webservices/juddi/site/docs/3.0/userguide/html/images/uddi_core_datastructures.gif   (with props)
    webservices/juddi/site/docs/3.0/userguide/html_single/images/uddi_core_datastructures.gif   (with props)
Modified:
    webservices/juddi/site/docs/3.0/userguide/html/User_Guide-Preface.html
    webservices/juddi/site/docs/3.0/userguide/html/appe-Publican-Revision_History.html
    webservices/juddi/site/docs/3.0/userguide/html/chap-Administration.html
    webservices/juddi/site/docs/3.0/userguide/html/chap-Subscription.html
    webservices/juddi/site/docs/3.0/userguide/html/chap-UDDI_annotations.html
    webservices/juddi/site/docs/3.0/userguide/html/index.html
    webservices/juddi/site/docs/3.0/userguide/html_single/index.html
    webservices/juddi/site/docs/3.0/userguide/pdf/userguide.pdf

Modified: webservices/juddi/site/docs/3.0/userguide/html/User_Guide-Preface.html
URL: http://svn.apache.org/viewvc/webservices/juddi/site/docs/3.0/userguide/html/User_Guide-Preface.html?rev=918080&r1=918079&r2=918080&view=diff
==============================================================================
--- webservices/juddi/site/docs/3.0/userguide/html/User_Guide-Preface.html (original)
+++ webservices/juddi/site/docs/3.0/userguide/html/User_Guide-Preface.html Tue Mar  2 15:35:48 2010
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <!DOCTYPE html
   PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title xmlns:rf="java:org.jboss.highlight.XhtmlRendererFactory">Preface</title><link rel="stylesheet" href="css/jbossorg.css" type="text/css"/><meta xmlns:rf="java:org.jboss.highlight.XhtmlRendererFactory" name="generator" content="DocBook XSL Stylesheets V1.74.0"/><link rel="home" href="index.html" title="jUDDI User Guide"/><link rel="up" href="index.html" title="jUDDI User Guide"/><link rel="prev" href="index.html" title="jUDDI User Guide"/><link rel="next" href="chap-UDDI_Registry.html" title="Chapter 1. UDDI Registry"/><link rel="copyright" href="ln-d0e32.html" title="Legal Notice"/></head><body><p id="title"><a href="http://ws.apache.org/juddi" class="site_href"><strong>Apache jUDDI</strong></a><a href="http://ws.apache.org/juddi/docs" class="doc_href"><strong>Community Documentation</strong></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="index.html"><strong>Prev</strong></a></li><li class="ne
 xt"><a accesskey="n" href="chap-UDDI_Registry.html"><strong>Next</strong></a></li></ul><div class="preface" lang="en-US"><div class="titlepage"><div><div><h2 class="title"><a id="User_Guide-Preface"/>Preface</h2></div></div></div><div class="section" lang="en-US"><div class="titlepage"><div><div><h2 class="title"><a id="d0e76"/>1. Document Conventions</h2></div></div></div><p>
+<html xmlns="http://www.w3.org/1999/xhtml"><head><title xmlns:rf="java:org.jboss.highlight.XhtmlRendererFactory">Preface</title><link rel="stylesheet" href="css/jbossorg.css" type="text/css"/><meta xmlns:rf="java:org.jboss.highlight.XhtmlRendererFactory" name="generator" content="DocBook XSL Stylesheets V1.74.0"/><link rel="home" href="index.html" title="jUDDI User Guide"/><link rel="up" href="index.html" title="jUDDI User Guide"/><link rel="prev" href="index.html" title="jUDDI User Guide"/><link rel="next" href="chap-UDDI_Registry.html" title="Chapter 1. UDDI Registry"/><link rel="copyright" href="ln-d0e32.html" title="Legal Notice"/></head><body><p id="title"><a href="http://ws.apache.org/juddi" class="site_href"><strong>Apache jUDDI</strong></a><a href="http://ws.apache.org/juddi/docs" class="doc_href"><strong>Community Documentation</strong></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="index.html"><strong>Prev</strong></a></li><li class="ne
 xt"><a accesskey="n" href="chap-UDDI_Registry.html"><strong>Next</strong></a></li></ul><div class="preface" lang="en-US"><div class="titlepage"><div><div><h2 class="title"><a id="User_Guide-Preface"/>Preface</h2></div></div></div><div class="section" lang="en-US"><div class="titlepage"><div><div><h2 class="title"><a id="d0e83"/>1. Document Conventions</h2></div></div></div><p>
 	This manual uses several conventions to highlight certain words and phrases and draw
     attention to specific pieces of information.
     </p><p>
@@ -10,7 +10,7 @@
 	The Liberation Fonts set is also used in HTML editions if the set is installed on your
     system. If not, alternative but equivalent typefaces are displayed. Note: Red Hat
     Enterprise Linux 5 and later includes the Liberation Fonts set by default.
-	</p><div class="section" lang="en-US"><div class="titlepage"><div><div><h3 class="title"><a id="d0e86"/>1.1. Typographic Conventions</h3></div></div></div><p>
+	</p><div class="section" lang="en-US"><div class="titlepage"><div><div><h3 class="title"><a id="d0e93"/>1.1. Typographic Conventions</h3></div></div></div><p>
 		Four typographic conventions are used to call attention to specific words and
         phrases. These conventions, and the circumstances they apply to, are as follows.
 		</p><p>
@@ -97,7 +97,7 @@
 			Aside from standard usage for presenting the title of a work, italics denotes the first use of a new and important term. For example:
 		</p><div class="blockquote"><blockquote class="blockquote"><p>
 				When the Apache HTTP Server accepts requests, it dispatches child processes or threads to handle them. This group of child processes or threads is known as a <em class="firstterm">server-pool</em>. Under Apache HTTP Server 2.0, the responsibility for creating and maintaining these server-pools has been abstracted to a group of modules called <em class="firstterm">Multi-Processing Modules</em> (<em class="firstterm">MPMs</em>). Unlike other modules, only one module from the MPM group can be loaded by the Apache HTTP Server.
-			</p></blockquote></div></div><div class="section" lang="en-US"><div class="titlepage"><div><div><h3 class="title"><a id="d0e302"/>1.2. Pull-quote Conventions</h3></div></div></div><p>
+			</p></blockquote></div></div><div class="section" lang="en-US"><div class="titlepage"><div><div><h3 class="title"><a id="d0e309"/>1.2. Pull-quote Conventions</h3></div></div></div><p>
 			Two, commonly multi-line, data types are set off visually from the surrounding text.
 		</p><p>
 			Output sent to a terminal is set in <code class="computeroutput">Mono-spaced Roman</code> and presented thus:
@@ -127,7 +127,7 @@
 <!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;</span><span class="java_separator">}</span>
 <!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;</span>
 <!--  --><br/><span class="java_separator">}</span>
-</pre></div><div class="section" lang="en-US"><div class="titlepage"><div><div><h3 class="title"><a id="d0e321"/>1.3. Notes and Warnings</h3></div></div></div><p>
+</pre></div><div class="section" lang="en-US"><div class="titlepage"><div><div><h3 class="title"><a id="d0e328"/>1.3. Notes and Warnings</h3></div></div></div><p>
 			Finally, we use three visual styles to draw attention to information that might otherwise be overlooked.
 		</p><div xmlns:rf="java:org.jboss.highlight.XhtmlRendererFactory" class="note"><h2>Note</h2><p>
 				A Note is a tip or shortcut or alternative approach to the task at hand. Ignoring a note should have no negative consequences, but you might miss out on a trick that makes your life easier.
@@ -135,7 +135,7 @@
 				Important boxes detail things that are easily missed: configuration changes that only apply to the current session, or services that need restarting before an update will apply. Ignoring Important boxes won't cause data loss but may cause irritation and frustration.
 			</p></div><div xmlns:rf="java:org.jboss.highlight.XhtmlRendererFactory" class="warning"><h2>Warning</h2><p>
 				A Warning should not be ignored. Ignoring warnings will most likely cause data loss.
-			</p></div></div></div><div class="section" lang="en-US"><div class="titlepage"><div><div><h2 class="title"><a id="d0e341"/>2. We Need Feedback!</h2></div></div></div><p>
+			</p></div></div></div><div class="section" lang="en-US"><div class="titlepage"><div><div><h2 class="title"><a id="d0e348"/>2. We Need Feedback!</h2></div></div></div><p>
 	If you find a typographical error in this manual, or if you have thought of a way
     to make this manual better, we would love to hear from you! 
 	</p><p>

Modified: webservices/juddi/site/docs/3.0/userguide/html/appe-Publican-Revision_History.html
URL: http://svn.apache.org/viewvc/webservices/juddi/site/docs/3.0/userguide/html/appe-Publican-Revision_History.html?rev=918080&r1=918079&r2=918080&view=diff
==============================================================================
--- webservices/juddi/site/docs/3.0/userguide/html/appe-Publican-Revision_History.html (original)
+++ webservices/juddi/site/docs/3.0/userguide/html/appe-Publican-Revision_History.html Tue Mar  2 15:35:48 2010
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <!DOCTYPE html
   PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title xmlns:rf="java:org.jboss.highlight.XhtmlRendererFactory">Appendix A. Revision History</title><link rel="stylesheet" href="css/jbossorg.css" type="text/css"/><meta xmlns:rf="java:org.jboss.highlight.XhtmlRendererFactory" name="generator" content="DocBook XSL Stylesheets V1.74.0"/><link rel="home" href="index.html" title="jUDDI User Guide"/><link rel="up" href="index.html" title="jUDDI User Guide"/><link rel="prev" href="chap-Administration.html" title="Chapter 10. Administration"/><link rel="copyright" href="ln-d0e32.html" title="Legal Notice"/></head><body><p id="title"><a href="http://ws.apache.org/juddi" class="site_href"><strong>Apache jUDDI</strong></a><a href="http://ws.apache.org/juddi/docs" class="doc_href"><strong>Community Documentation</strong></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="chap-Administration.html"><strong>Prev</strong></a></li><li class="next"/></ul><div cl
 ass="appendix" lang="en-US"><div class="titlepage"><div><div><h2 class="title"><a id="appe-Publican-Revision_History"/>Appendix A. Revision History</h2></div></div></div><p>
+<html xmlns="http://www.w3.org/1999/xhtml"><head><title xmlns:rf="java:org.jboss.highlight.XhtmlRendererFactory">Appendix A. Revision History</title><link rel="stylesheet" href="css/jbossorg.css" type="text/css"/><meta xmlns:rf="java:org.jboss.highlight.XhtmlRendererFactory" name="generator" content="DocBook XSL Stylesheets V1.74.0"/><link rel="home" href="index.html" title="jUDDI User Guide"/><link rel="up" href="index.html" title="jUDDI User Guide"/><link rel="prev" href="chap-deployglassfish.html" title="Chapter 13. Deploying to Glassfish 2.1.1"/><link rel="copyright" href="ln-d0e32.html" title="Legal Notice"/></head><body><p id="title"><a href="http://ws.apache.org/juddi" class="site_href"><strong>Apache jUDDI</strong></a><a href="http://ws.apache.org/juddi/docs" class="doc_href"><strong>Community Documentation</strong></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="chap-deployglassfish.html"><strong>Prev</strong></a></li><li class="nex
 t"/></ul><div class="appendix" lang="en-US"><div class="titlepage"><div><div><h2 class="title"><a id="appe-Publican-Revision_History"/>Appendix A. Revision History</h2></div></div></div><p>
 		<div class="revhistory"><table border="0" width="100%" summary="Revision history"><tr><th align="left" valign="top" colspan="3"><b>Revision History</b></th></tr><tr><td align="left">Revision 1.1</td><td align="left">Thu Jan 07 2010</td><td align="left"><span class="author"><span class="firstname">Tom</span> <span class="surname">Cunningham</span></span></td></tr><tr><td align="left" colspan="3">
 			<table class="simplelist" border="0" summary="Simple list"><tr><td>Translated Dev Guide to docbook</td></tr></table>
 			</td></tr><tr><td align="left">Revision 1.0</td><td align="left">Mon Nov 16 2009</td><td align="left"><span class="author"><span class="firstname">Darrin</span> <span class="surname">Mison</span></span></td></tr><tr><td align="left" colspan="3">
                     	<table class="simplelist" border="0" summary="Simple list"><tr><td>Created from community jUDDI Guide</td></tr></table>
                 	</td></tr></table></div>
-	</p></div><ul class="docnav"><li class="previous"><a accesskey="p" href="chap-Administration.html"><strong>Prev</strong>Chapter 10. Administration</a></li><li class="up"><a accesskey="u" href="#"><strong>Top of page</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Front page</strong></a></li></ul></body></html>
\ No newline at end of file
+	</p></div><ul class="docnav"><li class="previous"><a accesskey="p" href="chap-deployglassfish.html"><strong>Prev</strong>Chapter 13. Deploying to Glassfish 2.1.1</a></li><li class="up"><a accesskey="u" href="#"><strong>Top of page</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Front page</strong></a></li></ul></body></html>
\ No newline at end of file

Modified: webservices/juddi/site/docs/3.0/userguide/html/chap-Administration.html
URL: http://svn.apache.org/viewvc/webservices/juddi/site/docs/3.0/userguide/html/chap-Administration.html?rev=918080&r1=918079&r2=918080&view=diff
==============================================================================
--- webservices/juddi/site/docs/3.0/userguide/html/chap-Administration.html (original)
+++ webservices/juddi/site/docs/3.0/userguide/html/chap-Administration.html Tue Mar  2 15:35:48 2010
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <!DOCTYPE html
   PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title xmlns:rf="java:org.jboss.highlight.XhtmlRendererFactory">Chapter 10. Administration</title><link rel="stylesheet" href="css/jbossorg.css" type="text/css"/><meta xmlns:rf="java:org.jboss.highlight.XhtmlRendererFactory" name="generator" content="DocBook XSL Stylesheets V1.74.0"/><link rel="home" href="index.html" title="jUDDI User Guide"/><link rel="up" href="index.html" title="jUDDI User Guide"/><link rel="prev" href="chap-Subscription.html" title="Chapter 9. Subscription"/><link rel="next" href="appe-Publican-Revision_History.html" title="Appendix A. Revision History"/><link rel="copyright" href="ln-d0e32.html" title="Legal Notice"/></head><body><p id="title"><a href="http://ws.apache.org/juddi" class="site_href"><strong>Apache jUDDI</strong></a><a href="http://ws.apache.org/juddi/docs" class="doc_href"><strong>Community Documentation</strong></a></p><ul class="docnav"><li class="previous"><a accesskey
 ="p" href="chap-Subscription.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="appe-Publican-Revision_History.html"><strong>Next</strong></a></li></ul><div class="chapter" lang="en-US"><div class="titlepage"><div><div><h2 class="title"><a id="chap-Administration"/>Chapter 10. Administration</h2></div></div></div><div class="toc"><dl><dt><span class="section"><a href="chap-Administration.html#sect-admin_intro">10.1. Introduction</a></span></dt><dt><span class="section"><a href="chap-Administration.html#sect-changing_listener_port">10.2. Changing the Listener Port</a></span></dt><dt><span class="section"><a href="chap-Administration.html#sect-changing_oracle_sequence_name">10.3. Changing the Oracle Sequence name</a></span></dt></dl></div><div class="section" lang="en-US"><div class="titlepage"><div><div><h2 class="title"><a id="sect-admin_intro"/>10.1. Introduction</h2></div></div></div><p>
+<html xmlns="http://www.w3.org/1999/xhtml"><head><title xmlns:rf="java:org.jboss.highlight.XhtmlRendererFactory">Chapter 11. Administration</title><link rel="stylesheet" href="css/jbossorg.css" type="text/css"/><meta xmlns:rf="java:org.jboss.highlight.XhtmlRendererFactory" name="generator" content="DocBook XSL Stylesheets V1.74.0"/><link rel="home" href="index.html" title="jUDDI User Guide"/><link rel="up" href="index.html" title="jUDDI User Guide"/><link rel="prev" href="chap-Subscription.html" title="Chapter 10. Subscription"/><link rel="next" href="chap-deployjboss.html" title="Chapter 12. Deploying to JBoss 5.1.0.GA"/><link rel="copyright" href="ln-d0e32.html" title="Legal Notice"/></head><body><p id="title"><a href="http://ws.apache.org/juddi" class="site_href"><strong>Apache jUDDI</strong></a><a href="http://ws.apache.org/juddi/docs" class="doc_href"><strong>Community Documentation</strong></a></p><ul class="docnav"><li class="previous"><a accesskey="
 p" href="chap-Subscription.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="chap-deployjboss.html"><strong>Next</strong></a></li></ul><div class="chapter" lang="en-US"><div class="titlepage"><div><div><h2 class="title"><a id="chap-Administration"/>Chapter 11. Administration</h2></div></div></div><div class="toc"><dl><dt><span class="section"><a href="chap-Administration.html#sect-admin_intro">11.1. Introduction</a></span></dt><dt><span class="section"><a href="chap-Administration.html#sect-changing_listener_port">11.2. Changing the Listener Port</a></span></dt><dt><span class="section"><a href="chap-Administration.html#sect-changing_oracle_sequence_name">11.3. Changing the Oracle Sequence name</a></span></dt></dl></div><div class="section" lang="en-US"><div class="titlepage"><div><div><h2 class="title"><a id="sect-admin_intro"/>11.1. Introduction</h2></div></div></div><p>
         General Stuff about administration.
-        </p></div><div class="section" lang="en-US"><div class="titlepage"><div><div><h2 class="title"><a id="sect-changing_listener_port"/>10.2. Changing the Listener Port</h2></div></div></div><p>
+        </p></div><div class="section" lang="en-US"><div class="titlepage"><div><div><h2 class="title"><a id="sect-changing_listener_port"/>11.2. Changing the Listener Port</h2></div></div></div><p>
         If you want to change the port Tomcat listens on to something non-standard
         (something other than 8080):
         </p><div class="variablelist"><dl><dt><span class="term">jUDDI Server</span></dt><dd><div xmlns:rf="java:org.jboss.highlight.XhtmlRendererFactory" class="procedure"><ol class="1"><li><p>
@@ -21,7 +21,7 @@
                             edit <code class="filename">pluto/WEB-INF/classes/server.xml</code> and
                             change the port within the <code class="code">&lt;Connector&gt;</code>
                             element
-                            </p></li></ol></div></dd></dl></div></div><div class="section" lang="en-US"><div class="titlepage"><div><div><h2 class="title"><a id="sect-changing_oracle_sequence_name"/>10.3. Changing the Oracle Sequence name</h2></div></div></div><p>
+                            </p></li></ol></div></dd></dl></div></div><div class="section" lang="en-US"><div class="titlepage"><div><div><h2 class="title"><a id="sect-changing_oracle_sequence_name"/>11.3. Changing the Oracle Sequence name</h2></div></div></div><p>
 	If you are using Hibernate as a persistence layer for jUDDI, then Oracle will generate a default sequence for you ("HIBERNATE_SEQUENCE").     If you are using hibernate elsewhere, you may wish to change the sequence name so that you do not share this sequence with any other applications.    If other applications try to manually create the default hibernate sequence, you may even run into situations where you find conflicts or a race condition.   
         </p><p>
 	The easiest way to handle this is to create an <code class="filename">orm.xml</code> file and place it within the classpath in a META-INF directory, which will override the jUDDI persistence annotations and will allow you to specify a specific sequence name for use with jUDDI.   The following <code class="filename">orm.xml</code> specifies a "juddi_sequence" sequence to be used with jUDDI.   
@@ -257,4 +257,4 @@
     &lt;/attributes&gt;
   &lt;/entity&gt;
 &lt;/entity-mappings&gt;
-</pre></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="chap-Subscription.html"><strong>Prev</strong>Chapter 9. Subscription</a></li><li class="up"><a accesskey="u" href="#"><strong>Top of page</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Front page</strong></a></li><li class="next"><a accesskey="n" href="appe-Publican-Revision_History.html"><strong>Next</strong>Appendix A. Revision History</a></li></ul></body></html>
\ No newline at end of file
+</pre></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="chap-Subscription.html"><strong>Prev</strong>Chapter 10. Subscription</a></li><li class="up"><a accesskey="u" href="#"><strong>Top of page</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Front page</strong></a></li><li class="next"><a accesskey="n" href="chap-deployjboss.html"><strong>Next</strong>Chapter 12. Deploying to JBoss 5.1.0.GA</a></li></ul></body></html>
\ No newline at end of file

Added: webservices/juddi/site/docs/3.0/userguide/html/chap-SimplePublish.html
URL: http://svn.apache.org/viewvc/webservices/juddi/site/docs/3.0/userguide/html/chap-SimplePublish.html?rev=918080&view=auto
==============================================================================
--- webservices/juddi/site/docs/3.0/userguide/html/chap-SimplePublish.html (added)
+++ webservices/juddi/site/docs/3.0/userguide/html/chap-SimplePublish.html Tue Mar  2 15:35:48 2010
@@ -0,0 +1,197 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head><title xmlns:rf="java:org.jboss.highlight.XhtmlRendererFactory">Chapter 9. Simple Publishing Using the jUDDI API</title><link rel="stylesheet" href="css/jbossorg.css" type="text/css"/><meta xmlns:rf="java:org.jboss.highlight.XhtmlRendererFactory" name="generator" content="DocBook XSL Stylesheets V1.74.0"/><link rel="home" href="index.html" title="jUDDI User Guide"/><link rel="up" href="index.html" title="jUDDI User Guide"/><link rel="prev" href="chap-UDDI_annotations.html" title="Chapter 8. UDDI Annotations"/><link rel="next" href="chap-Subscription.html" title="Chapter 10. Subscription"/><link rel="copyright" href="ln-d0e32.html" title="Legal Notice"/></head><body><p id="title"><a href="http://ws.apache.org/juddi" class="site_href"><strong>Apache jUDDI</strong></a><a href="http://ws.apache.org/juddi/docs" class="doc_href"><strong>Community Documentation</strong></a></p><ul class="docnav"><li class="previous"
 ><a accesskey="p" href="chap-UDDI_annotations.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="chap-Subscription.html"><strong>Next</strong></a></li></ul><div class="chapter" lang="en-US"><div class="titlepage"><div><div><h2 class="title"><a id="chap-SimplePublish"/>Chapter 9. Simple Publishing Using the jUDDI API</h2></div></div></div><div class="toc"><dl><dt><span class="section"><a href="chap-SimplePublish.html#d0e1535">9.1. UDDI Data Model</a></span></dt><dt><span class="section"><a href="chap-SimplePublish.html#d0e1561">9.2. jUDDI Additions to the Model</a></span></dt><dt><span class="section"><a href="chap-SimplePublish.html#d0e1574">9.3. UDDI and jUDDI API</a></span></dt><dt><span class="section"><a href="chap-SimplePublish.html#d0e1612">9.4. Getting Started</a></span></dt><dd><dl><dt><span class="section"><a href="chap-SimplePublish.html#d0e1620">9.4.1. Simple Publishing Example</a></span></dt></dl></dd><dt><span class="section"><a hr
 ef="chap-SimplePublish.html#d0e1662">9.5. Conclusion</a></span></dt></dl></div><p>
+    One of the most common requests we get on the message board is “How do I publish a service using jUDDI?” This question holds a wide berth, as it can result anywhere from not understanding the UDDI data model, to confusion around how jUDDI is set up, to the
+    order of steps required to publish artifacts in the registry, to general use of the API – and everything in between. This article will attempt to answer this “loaded” question and, while not going into too much detail, will hopefully clear some of the
+    confusion about publishing into the jUDDI registry.
+  </p><div class="section" lang="en-US"><div class="titlepage"><div><div><h2 class="title"><a id="d0e1535"/>9.1. UDDI Data Model</h2></div></div></div><p>
+      Before you begin publishing artifacts, you need to know exactly how to break down your data into the UDDI model. This topic is covered extensively in the specification, particularly in section 3, so I only want to gloss over some for details. Readers
+      interested in more extensive coverage should most definitely take a look at the UDDI specification.
+    </p><p>
+      Below is a great diagram of the UDDI data model (taken directly from the specification):
+    </p><div class="figure"><a id="fig-UDDI-coredatastructures"/><div class="figure-contents"><div class="mediaobject"><img src="images/uddi_core_datastructures.gif" alt="UDDI core data structures"/></div></div><p class="title"><b>Figure 9.1. UDDI Core Data Structures</b></p></div><br class="figure-break"/><p>
+      As you can see, data is organized into a hierarchical pattern. Business Entities are at the top of the pyramid, they contain Business Services and those services in turn contain Binding Templates. TModels (or technical models) are a catch-all structure
+      that can do anything from categorize one of the main entities, describe the technical details of a binding (ex. protocols, transports, etc), to registering a key partition. TModels won’t be covered too much in this article as I want to focus on the
+      three main UDDI entities.
+    </p><p>
+      The hierarchy defined in the diagram is self-explanatory. You must first have a Business Entity before you can publish any services. And you must have a Business Service before you can publish a Binding Template. There is no getting around this structure;
+      this is the way UDDI works.
+    </p><p>
+      Business Entities describe the organizational unit responsible for the services it publishes. It generally consist of a description and contact information. How one chooses to use the Business Entity is really dependent on the particular case. If you’re one
+      small company, you will likely just have one Business Entity. If you are a larger company with multiple departments, you may want to have a Business Entity per department. (The question may arise if you can have one uber-Business Entity and multiple
+      child Business Entities representing the departments. The answer is yes, you can relate Business Entities using Publisher Assertions, but that is beyond the scope of this article.)
+    </p><p>
+      Business Services are the cogs of the SOA landscape. They represent units of functionality that are consumed by clients. In UDDI, there’s not much to a service structure; mainly descriptive information like name, description and categories. The meat of the
+      technical details about the service is contained in its child Binding Templates.
+    </p><p>
+      Binding Templates, as mentioned above, give the details about the technical specification of the service. This can be as simple as just providing the service’s access point, to providing the location of the service WSDL to more complicated scenarios to
+      breaking down the technical details of the WSDL (when used in concert with tModels). Once again, getting into these scenarios is beyond the scope of this article but may be the subject of future articles.
+    </p></div><div class="section" lang="en-US"><div class="titlepage"><div><div><h2 class="title"><a id="d0e1561"/>9.2. jUDDI Additions to the Model</h2></div></div></div><p>
+      Out of the box, jUDDI provides some additional structure to the data model described in the specification. Primarily, this is the concept of the Publisher.
+    </p><p>
+      The UDDI specification talks about ownership of the entities that are published within the registry, but makes no mention about how ownership should be handled. Basically, it is left up to the particular implementation to decide how to handle “users” that
+      have publishing rights in the registry.
+    </p><p>
+      Enter the jUDDI Publisher. The Publisher is essentially an out-of-the-box implementation of an identity management system. Per the specification, before assets can be published into the registry, a “publisher” must authenticate with the registry by
+      retrieving an authorization token. This authorization token is then attached to future publish calls to assign ownership to the published entities.
+    </p><p>
+      jUDDI’s Publisher concept is really quite simple, particularly when using the default authentication. You can save a Publisher to the registry using jUDDI’s custom API and then use that Publisher to publish your assets into the registry. jUDDI allows for
+      integration into your own identity management system, circumventing the Publisher entirely if desired. This is discussed in more detail in the documentation, but for purposes of this article, we will be using the simple out-of-the-box Publisher
+      solution.
+    </p><p>
+      One quick note: ownership is essentially assigned to a given registry entity by using its “authorizedName” field. The “authorizedName” field is defined in the specification in the operationalInfo structure which keeps track of operational info for each
+      entity.
+    </p></div><div class="section" lang="en-US"><div class="titlepage"><div><div><h2 class="title"><a id="d0e1574"/>9.3. UDDI and jUDDI API</h2></div></div></div><p>
+      Knowing the UDDI data model is all well and good. But to truly interact with the registry, you need to know how the UDDI API is structured and how jUDDI implements this API. The UDDI API is covered in great detail in chapter 5 of the specification but will be
+      summarized here.
+    </p><p>
+      UDDI divides their API into several “sets” – each representing a specific area of functionality. The API sets are listed below:
+    </p><div class="itemizedlist"><ul><li><p>
+          Inquiry – deals with querying the registry to return details on entities within
+        </p></li><li><p>
+          Publication – handles publishing entities into the registry
+        </p></li><li><p>
+          Security – open-ended specification that handles authentication
+        </p></li><li><p>
+          Custody and Ownership Transfer – deals with transferring ownership and custody of entities
+        </p></li><li><p>
+          Subscription – allows clients to retrieve information on entities in a timely manner using a subscription format
+        </p></li><li><p>
+          Subscription Listener – client API that accepts subscription results
+        </p></li><li><p>
+          Value Set (Validation and Caching)– validates keyed reference values (not implemented by jUDDI)
+        </p></li><li><p>
+          Replication – deals with federation of data between registry nodes (not implemented by jUDDI)
+        </p></li></ul></div><p>
+      The most commonly used APIs are the Inquiry, Publication and Security APIs. These APIs provide the standard functions for interacting with the registry.
+    </p><p>
+      The jUDDI server implements each of these API sets as a JAX-WS compliant web service and each method defined in the API set is simply a method in the corresponding web service. The client module provided by jUDDI uses a “transport” class that defines how
+      the call is to be made. The default transport uses JAX-WS but there are several alternative ways to make calls to the API. Please refer to the documentation for more information.
+    </p><p>
+      One final note, jUDDI defines its own API set. This API set contains methods that deal with handling Publishers as well as other useful maintenance functions (mostly related to jUDDI’s subscription model). This API set is obviously proprietary to jUDDI and
+      therefore doesn’t conform to the UDDI specification.
+    </p></div><div class="section" lang="en-US"><div class="titlepage"><div><div><h2 class="title"><a id="d0e1612"/>9.4. Getting Started</h2></div></div></div><p>
+      Now that we’ve covered the basics of the data model and API sets, it’s time to get started with the publishing sample. The first thing that must happen is to get the jUDDI server up and running. Please refer to this
+      <a class="ulink" href="http://apachejuddi.blogspot.com/2010/02/getting-started-with-juddi-v3.html">article</a>
+      that explains how to start the jUDDI server.
+    </p><div class="section" lang="en-US"><div class="titlepage"><div><div><h3 class="title"><a id="d0e1620"/>9.4.1. Simple Publishing Example</h3></div></div></div><p>
+        We will now go over the “simple-publish” example found in the documentation. This sample expands upon the HelloWorld example in that after retrieving an authentication token, a Publisher, BusinessEntity and BusinessService are published to the registry.
+      </p><p>
+        The sample consists of only one class: SimplePublish. Let’s start by taking a look at the constructor:
+      </p><pre xmlns="" xmlns:rf="java:org.jboss.highlight.XhtmlRendererFactory" class="JAVA"></span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="java_keyword">public</span><span class="java_plain">&nbsp;</span><span class="java_type">SimplePublish</span><span class="java_separator">()</span><span class="java_plain">&nbsp;</span><span class="java_separator">{</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="java_keyword">try</span><span class="java_plain">&nbsp;</span><span class="java_separator">{</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="java_type">String</span><span class="java_plain">&nbsp;clazz&nbsp;</span><span class="java_operator">=</span><span class="java_plain">&nbsp;</span><span class="java_type">UDDIClientContainer</span><span class="java_separator">.</span><span class="java_plain">getUDDIClerkManager</span><span class="java_separator">(</span><span class="java_literal">null</span><span class="java_separator">).</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;getClientConfig</span><span class="java_separator">().</span><span class="java_plain">getUDDINode</span><span class="java_separator">(</span><span class="java_literal">&quot;default&quot;</span><span class="java_separator">).</span><span class="java_plain">getProxyTransport</span><span class="java_separator">();</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="java_type">Class</span><span class="java_operator">&lt;?&gt;</span><span class="java_plain">&nbsp;transportClass&nbsp;</span><span class="java_operator">=</span><span class="java_plain">&nbsp;</span><span class="java_type">ClassUtil</span><span class="java_separator">.</span><span class="java_plain">forName</span><span class="java_separator">(</span><span class="java_plain">clazz</span><span class="java_separator">,</span><span class="java_plain">&nbsp;</span><span class="java_type">Transport</span><span class="java_separator">.</span><span class="java_keyword">class</span><span class="java_separator">);</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="java_keyword">if</span><span class="java_plain">&nbsp;</span><span class="java_separator">(</span><span class="java_plain">transportClass</span><span class="java_operator">!=</span><span class="java_literal">null</span><span class="java_separator">)</span><span class="java_plain">&nbsp;</span><span class="java_separator">{</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="java_type">Transport</span><span class="java_plain">&nbsp;transport&nbsp;</span><span class="java_operator">=</span><span class="java_plain">&nbsp;</span><span class="java_separator">(</span><span class="java_type">Transport</span><span class="java_separator">)</span><span class="java_plain">&nbsp;transportClass</span><span class="java_separator">.</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;getConstructor</span><span class="java_separator">(</span><span class="java_type">String</span><span class="java_separator">.</span><span class="java_keyword">class</span><span class="java_separator">).</span><span class="java_plain">newInstance</span><span class="java_separator">(</span><span class="java_literal">&quot;default&quot;</span><span class="java_separator">);</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;security&nbsp;</span><span class="java_operator">=</span><span class="java_plain">&nbsp;transport</span><span class="java_separator">.</span><span class="java_plain">getUDDISecurityService</span><span class="java_separator">();</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;juddiApi&nbsp;</span><span class="java_operator">=</span><span class="java_plain">&nbsp;transport</span><span class="java_separator">.</span><span class="java_plain">getJUDDIApiService</span><span class="java_separator">();</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;publish&nbsp;</span><span class="java_operator">=</span><span class="java_plain">&nbsp;transport</span><span class="java_separator">.</span><span class="java_plain">getUDDIPublishService</span><span class="java_separator">();</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="java_separator">}</span><span class="java_plain">&nbsp;&nbsp;&nbsp;</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="java_separator">}</span><span class="java_plain">&nbsp;</span><span class="java_keyword">catch</span><span class="java_plain">&nbsp;</span><span class="java_separator">(</span><span class="java_type">Exception</span><span class="java_plain">&nbsp;e</span><span class="java_separator">)</span><span class="java_plain">&nbsp;</span><span class="java_separator">{</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e</span><span class="java_separator">.</span><span class="java_plain">printStackTrace</span><span class="java_separator">();</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="java_separator">}</span><span class="java_plain">&nbsp;&nbsp;&nbsp;</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="java_separator">}</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></pre><p>
+        The constructor uses the jUDDI client API to retrieve the transport from the default node.  You can refer to the documentation if you’re confused about how clerks and nodes work.  Suffice it to say, we are simply retrieving the default client transport class which 
+        is designed to make UDDI calls out using JAX-WS web services.
+      </p><p>
+        Once the transport is instantiated, we grab the three API sets we need for this demo:  1) the Security API set so we can get authorization tokens, 2) the proprietary jUDDI API set so we can save a Publisher and 3) the Publication API set so we can actually publish 
+        entities to the registry.
+      </p><p>
+        All the magic happens in the publish method.  We will look at that next.
+      </p><p>
+        Here are the first few lines of the publish method:
+      </p><pre xmlns="" xmlns:rf="java:org.jboss.highlight.XhtmlRendererFactory" class="JAVA"></span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="java_operator">//</span><span class="java_plain">&nbsp;</span><span class="java_type">Setting</span><span class="java_plain">&nbsp;up&nbsp;the&nbsp;values&nbsp;to&nbsp;get&nbsp;an&nbsp;authentication&nbsp;token&nbsp;</span><span class="java_keyword">for</span><span class="java_plain">&nbsp;the&nbsp;</span><span class="java_literal">'root'</span><span class="java_plain">&nbsp;user&nbsp;</span><span class="java_separator">(</span><span class="java_literal">'root'</span><span class="java_plain">&nbsp;user&nbsp;</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="java_operator">//</span><span class="java_plain">&nbsp;has&nbsp;admin&nbsp;privileges&nbsp;and&nbsp;can&nbsp;save&nbsp;other&nbsp;publishers</span><span class="java_separator">).</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="java_type">GetAuthToken</span><span class="java_plain">&nbsp;getAuthTokenRoot&nbsp;</span><span class="java_operator">=</span><span class="java_plain">&nbsp;</span><span class="java_keyword">new</span><span class="java_plain">&nbsp;</span><span class="java_type">GetAuthToken</span><span class="java_separator">();</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;getAuthTokenRoot</span><span class="java_separator">.</span><span class="java_plain">setUserID</span><span class="java_separator">(</span><span class="java_literal">&quot;root&quot;</span><span class="java_separator">);</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;getAuthTokenRoot</span><span class="java_separator">.</span><span class="java_plain">setCred</span><span class="java_separator">(</span><span class="java_literal">&quot;&quot;</span><span class="java_separator">);</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="java_operator">//</span><span class="java_plain">&nbsp;</span><span class="java_type">Making</span><span class="java_plain">&nbsp;API&nbsp;call&nbsp;that&nbsp;retrieves&nbsp;the&nbsp;authentication&nbsp;token&nbsp;</span><span class="java_keyword">for</span><span class="java_plain">&nbsp;the&nbsp;</span><span class="java_literal">'root'</span><span class="java_plain">&nbsp;user</span><span class="java_separator">.</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="java_type">AuthToken</span><span class="java_plain">&nbsp;rootAuthToken&nbsp;</span><span class="java_operator">=</span><span class="java_plain">&nbsp;security</span><span class="java_separator">.</span><span class="java_plain">getAuthToken</span><span class="java_separator">(</span><span class="java_plain">getAuthTokenRoot</span><span class="java_separator">);</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="java_type">System</span><span class="java_separator">.</span><span class="java_plain">out</span><span class="java_separator">.</span><span class="java_plain">println&nbsp;</span><span class="java_separator">(</span><span class="java_literal">&quot;root&nbsp;AUTHTOKEN&nbsp;=&nbsp;&quot;</span><span class="java_plain">&nbsp;</span><span class="java_operator">+</span><span class="java_plain">&nbsp;rootAuthToken</span><span class="java_separator">.</span><span class="java_plain">getAuthInfo</span><span class="java_separator">());</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></pre><p>
+        This code simply gets the authorization token for the ‘root’ user.   The ‘root’ user (or publisher) is automatically installed in every jUDDI instance and acts as the “administrator” for jUDDI API calls.  Additionally, the ‘root’ user is the owning 
+        publisher for all the initial services installed with jUDDI.  You may be wondering what those “initial services” are.  Well, since the UDDI API sets are all implemented as web services by jUDDI, every jUDDI node actually registers those services inside 
+        itself.  This is done per the specification.
+      </p><p>
+        Let’s get back to the code.  Now that we have root authorization, we can add a publisher:
+      </p><pre xmlns="" xmlns:rf="java:org.jboss.highlight.XhtmlRendererFactory" class="JAVA"></span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="java_operator">//</span><span class="java_plain">&nbsp;</span><span class="java_type">Creating</span><span class="java_plain">&nbsp;a&nbsp;</span><span class="java_keyword">new</span><span class="java_plain">&nbsp;publisher&nbsp;that&nbsp;we&nbsp;will&nbsp;use&nbsp;to&nbsp;publish&nbsp;our&nbsp;entities&nbsp;to</span><span class="java_separator">.</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="java_type">Publisher</span><span class="java_plain">&nbsp;p&nbsp;</span><span class="java_operator">=</span><span class="java_plain">&nbsp;</span><span class="java_keyword">new</span><span class="java_plain">&nbsp;</span><span class="java_type">Publisher</span><span class="java_separator">();</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p</span><span class="java_separator">.</span><span class="java_plain">setAuthorizedName</span><span class="java_separator">(</span><span class="java_literal">&quot;my-publisher&quot;</span><span class="java_separator">);</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p</span><span class="java_separator">.</span><span class="java_plain">setPublisherName</span><span class="java_separator">(</span><span class="java_literal">&quot;My&nbsp;Publisher&quot;</span><span class="java_separator">);</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="java_operator">//</span><span class="java_plain">&nbsp;</span><span class="java_type">Adding</span><span class="java_plain">&nbsp;the&nbsp;publisher&nbsp;to&nbsp;the&nbsp;</span><span class="java_literal">&quot;save&quot;</span><span class="java_plain">&nbsp;structure</span><span class="java_separator">,</span><span class="java_plain">&nbsp;using&nbsp;the&nbsp;</span><span class="java_literal">'root'</span><span class="java_plain">&nbsp;user&nbsp;authentication&nbsp;info&nbsp;and&nbsp;</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="java_operator">//</span><span class="java_plain">&nbsp;saving&nbsp;away</span><span class="java_separator">.</span><span class="java_plain">&nbsp;</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="java_type">SavePublisher</span><span class="java_plain">&nbsp;sp&nbsp;</span><span class="java_operator">=</span><span class="java_plain">&nbsp;</span><span class="java_keyword">new</span><span class="java_plain">&nbsp;</span><span class="java_type">SavePublisher</span><span class="java_separator">();</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sp</span><span class="java_separator">.</span><span class="java_plain">getPublisher</span><span class="java_separator">().</span><span class="java_plain">add</span><span class="java_separator">(</span><span class="java_plain">p</span><span class="java_separator">);</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sp</span><span class="java_separator">.</span><span class="java_plain">setAuthInfo</span><span class="java_separator">(</span><span class="java_plain">rootAuthToken</span><span class="java_separator">.</span><span class="java_plain">getAuthInfo</span><span class="java_separator">());</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;juddiApi</span><span class="java_separator">.</span><span class="java_plain">savePublisher</span><span class="java_separator">(</span><span class="java_plain">sp</span><span class="java_separator">);</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></pre><p>
+        Here we’ve simply used the jUDDI API to save a publisher with authorized name “my-publisher”.  Notice how the authorization token for the ‘root’ user is used.  Next, we need to get the authorization token for this new publisher:
+      </p><pre xmlns="" xmlns:rf="java:org.jboss.highlight.XhtmlRendererFactory" class="JAVA"></span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="java_operator">//</span><span class="java_plain">&nbsp;</span><span class="java_type">Our</span><span class="java_plain">&nbsp;publisher&nbsp;is&nbsp;now&nbsp;saved</span><span class="java_separator">,</span><span class="java_plain">&nbsp;so&nbsp;now&nbsp;we&nbsp;want&nbsp;to&nbsp;retrieve&nbsp;its&nbsp;authentication&nbsp;token</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="java_type">GetAuthToken</span><span class="java_plain">&nbsp;getAuthTokenMyPub&nbsp;</span><span class="java_operator">=</span><span class="java_plain">&nbsp;</span><span class="java_keyword">new</span><span class="java_plain">&nbsp;</span><span class="java_type">GetAuthToken</span><span class="java_separator">();</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;getAuthTokenMyPub</span><span class="java_separator">.</span><span class="java_plain">setUserID</span><span class="java_separator">(</span><span class="java_literal">&quot;my-publisher&quot;</span><span class="java_separator">);</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;getAuthTokenMyPub</span><span class="java_separator">.</span><span class="java_plain">setCred</span><span class="java_separator">(</span><span class="java_literal">&quot;&quot;</span><span class="java_separator">);</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="java_type">AuthToken</span><span class="java_plain">&nbsp;myPubAuthToken&nbsp;</span><span class="java_operator">=</span><span class="java_plain">&nbsp;security</span><span class="java_separator">.</span><span class="java_plain">getAuthToken</span><span class="java_separator">(</span><span class="java_plain">getAuthTokenMyPub</span><span class="java_separator">);</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="java_type">System</span><span class="java_separator">.</span><span class="java_plain">out</span><span class="java_separator">.</span><span class="java_plain">println&nbsp;</span><span class="java_separator">(</span><span class="java_literal">&quot;myPub&nbsp;AUTHTOKEN&nbsp;=&nbsp;&quot;</span><span class="java_plain">&nbsp;</span><span class="java_operator">+</span><span class="java_plain">&nbsp;myPubAuthToken</span><span class="java_separator">.</span><span class="java_plain">getAuthInfo</span><span class="java_separator">());</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></pre><p>
+        This is pretty straightforward.  You’ll note that no credentials have been set on both authorization calls.  This is because we’re using the default authenticator which doesn’t require credentials.  We have our authorization token for our new 
+        publisher, now we can simply publish away:
+      </p><pre xmlns="" xmlns:rf="java:org.jboss.highlight.XhtmlRendererFactory" class="JAVA"></span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="java_operator">//</span><span class="java_plain">&nbsp;</span><span class="java_type">Creating</span><span class="java_plain">&nbsp;the&nbsp;parent&nbsp;business&nbsp;entity&nbsp;that&nbsp;will&nbsp;contain&nbsp;our&nbsp;service</span><span class="java_separator">.</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="java_type">BusinessEntity</span><span class="java_plain">&nbsp;myBusEntity&nbsp;</span><span class="java_operator">=</span><span class="java_plain">&nbsp;</span><span class="java_keyword">new</span><span class="java_plain">&nbsp;</span><span class="java_type">BusinessEntity</span><span class="java_separator">();</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="java_type">Name</span><span class="java_plain">&nbsp;myBusName&nbsp;</span><span class="java_operator">=</span><span class="java_plain">&nbsp;</span><span class="java_keyword">new</span><span class="java_plain">&nbsp;</span><span class="java_type">Name</span><span class="java_separator">();</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;myBusName</span><span class="java_separator">.</span><span class="java_plain">setValue</span><span class="java_separator">(</span><span class="java_literal">&quot;My&nbsp;Business&quot;</span><span class="java_separator">);</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;myBusEntity</span><span class="java_separator">.</span><span class="java_plain">getName</span><span class="java_separator">().</span><span class="java_plain">add</span><span class="java_separator">(</span><span class="java_plain">myBusName</span><span class="java_separator">);</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="java_operator">//</span><span class="java_plain">&nbsp;</span><span class="java_type">Adding</span><span class="java_plain">&nbsp;the&nbsp;business&nbsp;entity&nbsp;to&nbsp;the&nbsp;</span><span class="java_literal">&quot;save&quot;</span><span class="java_plain">&nbsp;structure</span><span class="java_separator">,</span><span class="java_plain">&nbsp;using&nbsp;our&nbsp;publisher's&nbsp;authentication&nbsp;info&nbsp;</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="java_operator">//</span><span class="java_plain">&nbsp;and&nbsp;saving&nbsp;away</span><span class="java_separator">.</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="java_type">SaveBusiness</span><span class="java_plain">&nbsp;sb&nbsp;</span><span class="java_operator">=</span><span class="java_plain">&nbsp;</span><span class="java_keyword">new</span><span class="java_plain">&nbsp;</span><span class="java_type">SaveBusiness</span><span class="java_separator">();</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sb</span><span class="java_separator">.</span><span class="java_plain">getBusinessEntity</span><span class="java_separator">().</span><span class="java_plain">add</span><span class="java_separator">(</span><span class="java_plain">myBusEntity</span><span class="java_separator">);</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sb</span><span class="java_separator">.</span><span class="java_plain">setAuthInfo</span><span class="java_separator">(</span><span class="java_plain">myPubAuthToken</span><span class="java_separator">.</span><span class="java_plain">getAuthInfo</span><span class="java_separator">());</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="java_type">BusinessDetail</span><span class="java_plain">&nbsp;bd&nbsp;</span><span class="java_operator">=</span><span class="java_plain">&nbsp;publish</span><span class="java_separator">.</span><span class="java_plain">saveBusiness</span><span class="java_separator">(</span><span class="java_plain">sb</span><span class="java_separator">);</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="java_type">String</span><span class="java_plain">&nbsp;myBusKey&nbsp;</span><span class="java_operator">=</span><span class="java_plain">&nbsp;bd</span><span class="java_separator">.</span><span class="java_plain">getBusinessEntity</span><span class="java_separator">().</span><span class="java_plain">get</span><span class="java_separator">(</span><span class="java_literal">0</span><span class="java_separator">).</span><span class="java_plain">getBusinessKey</span><span class="java_separator">();</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="java_type">System</span><span class="java_separator">.</span><span class="java_plain">out</span><span class="java_separator">.</span><span class="java_plain">println</span><span class="java_separator">(</span><span class="java_literal">&quot;myBusiness&nbsp;key:&nbsp;&nbsp;&quot;</span><span class="java_plain">&nbsp;</span><span class="java_operator">+</span><span class="java_plain">&nbsp;myBusKey</span><span class="java_separator">);</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="java_operator">//</span><span class="java_plain">&nbsp;</span><span class="java_type">Creating</span><span class="java_plain">&nbsp;a&nbsp;service&nbsp;to&nbsp;save</span><span class="java_separator">.</span><span class="java_plain">&nbsp;&nbsp;</span><span class="java_type">Only</span><span class="java_plain">&nbsp;adding&nbsp;the&nbsp;minimum&nbsp;data</span><span class="java_operator">:</span><span class="java_plain">&nbsp;the&nbsp;parent&nbsp;business&nbsp;key&nbsp;retrieved&nbsp;</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="java_operator">//</span><span class="java_plain">from&nbsp;saving&nbsp;the&nbsp;business&nbsp;above&nbsp;and&nbsp;a&nbsp;single&nbsp;name</span><span class="java_separator">.</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="java_type">BusinessService</span><span class="java_plain">&nbsp;myService&nbsp;</span><span class="java_operator">=</span><span class="java_plain">&nbsp;</span><span class="java_keyword">new</span><span class="java_plain">&nbsp;</span><span class="java_type">BusinessService</span><span class="java_separator">();</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;myService</span><span class="java_separator">.</span><span class="java_plain">setBusinessKey</span><span class="java_separator">(</span><span class="java_plain">myBusKey</span><span class="java_separator">);</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="java_type">Name</span><span class="java_plain">&nbsp;myServName&nbsp;</span><span class="java_operator">=</span><span class="java_plain">&nbsp;</span><span class="java_keyword">new</span><span class="java_plain">&nbsp;</span><span class="java_type">Name</span><span class="java_separator">();</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;myServName</span><span class="java_separator">.</span><span class="java_plain">setValue</span><span class="java_separator">(</span><span class="java_literal">&quot;My&nbsp;Service&quot;</span><span class="java_separator">);</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;myService</span><span class="java_separator">.</span><span class="java_plain">getName</span><span class="java_separator">().</span><span class="java_plain">add</span><span class="java_separator">(</span><span class="java_plain">myServName</span><span class="java_separator">);</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="java_operator">//</span><span class="java_plain">&nbsp;</span><span class="java_type">Add</span><span class="java_plain">&nbsp;binding&nbsp;templates</span><span class="java_separator">,</span><span class="java_plain">&nbsp;etc</span><span class="java_separator">...</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="java_operator">//</span><span class="java_plain">&nbsp;</span><span class="java_type">Adding</span><span class="java_plain">&nbsp;the&nbsp;service&nbsp;to&nbsp;the&nbsp;</span><span class="java_literal">&quot;save&quot;</span><span class="java_plain">&nbsp;structure</span><span class="java_separator">,</span><span class="java_plain">&nbsp;using&nbsp;our&nbsp;publisher's&nbsp;authentication&nbsp;info&nbsp;and&nbsp;</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="java_operator">//</span><span class="java_plain">&nbsp;saving&nbsp;away</span><span class="java_separator">.</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="java_type">SaveService</span><span class="java_plain">&nbsp;ss&nbsp;</span><span class="java_operator">=</span><span class="java_plain">&nbsp;</span><span class="java_keyword">new</span><span class="java_plain">&nbsp;</span><span class="java_type">SaveService</span><span class="java_separator">();</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ss</span><span class="java_separator">.</span><span class="java_plain">getBusinessService</span><span class="java_separator">().</span><span class="java_plain">add</span><span class="java_separator">(</span><span class="java_plain">myService</span><span class="java_separator">);</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ss</span><span class="java_separator">.</span><span class="java_plain">setAuthInfo</span><span class="java_separator">(</span><span class="java_plain">myPubAuthToken</span><span class="java_separator">.</span><span class="java_plain">getAuthInfo</span><span class="java_separator">());</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="java_type">ServiceDetail</span><span class="java_plain">&nbsp;sd&nbsp;</span><span class="java_operator">=</span><span class="java_plain">&nbsp;publish</span><span class="java_separator">.</span><span class="java_plain">saveService</span><span class="java_separator">(</span><span class="java_plain">ss</span><span class="java_separator">);</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="java_type">String</span><span class="java_plain">&nbsp;myServKey&nbsp;</span><span class="java_operator">=</span><span class="java_plain">&nbsp;sd</span><span class="java_separator">.</span><span class="java_plain">getBusinessService</span><span class="java_separator">().</span><span class="java_plain">get</span><span class="java_separator">(</span><span class="java_literal">0</span><span class="java_separator">).</span><span class="java_plain">getServiceKey</span><span class="java_separator">();</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="java_type">System</span><span class="java_separator">.</span><span class="java_plain">out</span><span class="java_separator">.</span><span class="java_plain">println</span><span class="java_separator">(</span><span class="java_literal">&quot;myService&nbsp;key:&nbsp;&nbsp;&quot;</span><span class="java_plain">&nbsp;</span><span class="java_operator">+</span><span class="java_plain">&nbsp;myServKey</span><span class="java_separator">);</span>
+<!--  --><br/><span class="java_plain">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></pre><p>
+        To summarize, here we have created and saved a BusinessEntity and then created and saved a BusinessService.  We’ve just added the bare minimum data to each entity (and in fact, have not added any BindingTemplates to the service).  Obviously, you 
+        would want to fill out each structure with greater information, particularly with services.  However, this is beyond the scope of this article, which aims to simply show you how to programmatically publish entities.
+      </p><p>
+        There are a couple important notes regarding the use of entity keys.  Version 3 of the specification allows for publishers to create their own keys but also instructs implementers to have a default method.  Here we have gone with the default 
+        implementation by leaving each entity’s “key” field blank in the save call.  jUDDI’s default key generator simply takes the node’s partition and appends a GUID.  In a default installation, it will look something like this:
+      </p><div class="blockquote"><blockquote class="blockquote"><p>
+          uddi:juddi.apache.org:&lt;GUID&gt;
+        </p></blockquote></div><p>
+        You can, of course, customize all of this, but that is left for another article.  The second important point is that when the BusinessService is saved, I’ve had to explicitly set its parent business key (retrieved from previous call saving the 
+        business).  This is a necessary step when the service is saved in an independent call like this.  Otherwise you would get an error because jUDDI won’t know where to find the parent entity.  I could have added this service to the BusinessEntity’s service 
+        collection and saved it with the call to saveBusiness.  In that scenario I would not have to set the parent business key.
+      </p></div></div><div class="section" lang="en-US"><div class="titlepage"><div><div><h2 class="title"><a id="d0e1662"/>9.5. Conclusion</h2></div></div></div><p>
+      That does it for this article.  Hopefully I managed to clear some of the confusion around the open-ended question, “How do I publish a service using jUDDI?”.
+    </p></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="chap-UDDI_annotations.html"><strong>Prev</strong>Chapter 8. UDDI Annotations</a></li><li class="up"><a accesskey="u" href="#"><strong>Top of page</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Front page</strong></a></li><li class="next"><a accesskey="n" href="chap-Subscription.html"><strong>Next</strong>Chapter 10. Subscription</a></li></ul></body></html>
\ No newline at end of file



---------------------------------------------------------------------
To unsubscribe, e-mail: juddi-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: juddi-cvs-help@ws.apache.org