<?xml version="1.0" encoding="UTF-8"?>
<section version="5.0" xml:id="services.wsdl-publisher.config" xml:lang="en"
         xmlns="http://docbook.org/ns/docbook"
         xmlns:xlink="http://www.w3.org/1999/xlink"
         xmlns:xi="http://www.w3.org/2001/XInclude"
         xmlns:svg="http://www.w3.org/2000/svg"
         xmlns:mml="http://www.w3.org/1998/Math/MathML"
         xmlns:html="http://www.w3.org/1999/xhtml"
         xmlns:db="http://docbook.org/ns/docbook">
  <info>
    <title>wsdl-publisher service configuration</title>
  </info>

  <para>The <emphasis role="bold">wsdl-publisher</emphasis> service provides a
  pluggable component dedicated to alternate WSDL publishing
  mechanisms.</para>

  <para>By default, all the web services deployed by JOnAS have their WSDL
  available at a given URL location. For J2EE 1.4 webservices, the URL ends
  with <constant>?JWSDL</constant>, for Java EE 5.0 webservices, the URL ends
  with <constant>?WSDL</constant>.</para>

  <para>When this default publishing mechansim is not sufficent, it is
  possible to add one or more custom WSDL publishers. Within JOnAS, 2 custom
  publishers are availables (<link linkend="wsdl-publisher.file">file
  based</link> and <link linkend="wsdl-publisher.jaxr">JAXR
  based</link>).</para>

  <para>Here is the part of <filename>jonas.properties</filename> concerning
  the <emphasis role="bold">wsdl-publisher</emphasis> service:</para>

  <screen>###################### JOnAS WSDL Publisher service configuration
#
#  Set the name of the implementation class of the WSDL Publisher service.
jonas.service.wsdl-publisher.class    org.ow2.jonas.ws.publish.internal.manager.DefaultWSDLPublisherManager

#  Set the WSDL Publishers list for WSDL publication
#  A minimum of 1 WSDLPublisher is required !
#  This property is set with a coma-separated list of WSDLPublisher properties
#  file names (without the '.properties' suffix).
#  Ex: file1,uddi (while the properties file names are
#                  file1.properties and uddi.properties)
jonas.service.wsdl-publisher.publishers    file1
</screen>

  <section xml:id="wsdl-publisher.file">
    <info>
      <title>File WSDLPublisher</title>
    </info>

    <para>The <emphasis>File</emphasis> WSDLPublisher type is used in simple
    WebServices usage scenario, when the application doesn't requires a full
    blown web services registry (like <link
    xlink:href="http://en.wikipedia.org/wiki/Universal_Description_Discovery_and_Integration">UDDI</link>
    or <link xlink:href="http://www.ebxml.org">ebXML</link>). It will simply
    save the WSDL documents (and their dependencies) in a configurable
    directory.</para>

    <para><screen># FileWSDLPublisher class
jonas.service.wsdl.class    org.ow2.jonas.ws.publish.internal.file.FileWSDLPublisher

# Directory where WSDLs will be copied
# If not set JONAS_BASE/wsdls will be used
# jonas.service.publish.file.directory    /tmp     <co xml:id="dir" />

# Encoding of the file (In respect with the platform JOnAS is running on)
# If not set default to UTF-8
jonas.service.publish.file.encoding     UTF-8      <co xml:id="enc" />
</screen></para>

    <para><calloutlist>
        <callout arearefs="dir">
          <para>Base directory where WSDL documents will be published</para>
        </callout>

        <callout arearefs="enc">
          <para>File encoding to be used (must be supported by the
          platform)</para>
        </callout>
      </calloutlist></para>
  </section>

  <section xml:id="wsdl-publisher.jaxr">
    <info>
      <title>JAXR WSDLPublisher</title>
    </info>

    <para>The <emphasis>JAXR</emphasis> WSDLPublisher type is responsible of
    publishing a given WSDL in an enterprise level registry or repository,
    allowing external clients to get the technical and administrative
    information about the deployed service.<footnote>
        <para>JOnAS has been tested with Apache jUDDI, an ASL2 UDDI v2
        implementation.</para>
      </footnote></para>

    <para><screen># RegistryWSDLPublisher class
jonas.service.wsdl.class    org.ow2.jonas.ws.publish.internal.registry.RegistryWSDLPublisher

# User name and Password to access Registry
jonas.service.publish.uddi.username                 jonas                                             <co
          xml:id="user" />
jonas.service.publish.uddi.password                 jonas                                             <co
          xml:id="passwd" />

# Organization name, small desc (optionnal) and primary contact name.
jonas.service.publish.uddi.organization.name        OW2                                               <co
          xml:id="oname" />
jonas.service.publish.uddi.organization.desc        OW2 Consortium (http://www.ow2.org)               <co
          xml:id="odesc" />
jonas.service.publish.uddi.organization.person_name JOnAS                                             <co
          xml:id="operson" />

# URLs where Registry can be contacted (Publish an Query APIs)
javax.xml.registry.lifeCycleManagerURL  http://localhost:9000/juddi/publish                           <co
          xml:id="publish" />
javax.xml.registry.queryManagerURL      http://localhost:9000/juddi/inquiry                           <co
          xml:id="inquiry" />
</screen></para>

    <calloutlist>
      <callout arearefs="user">
        <para>Username</para>
      </callout>

      <callout arearefs="passwd">
        <para>Credential to be used for registry authentication</para>
      </callout>

      <callout arearefs="oname">
        <para>Organization name</para>
      </callout>

      <callout arearefs="odesc">
        <para>Organization details/description</para>
      </callout>

      <callout arearefs="operson">
        <para>Contact for the organization</para>
      </callout>

      <callout arearefs="publish">
        <para>JAXR LifeCycleManager URL (Administration URL where WSDL can be
        published)</para>
      </callout>

      <callout arearefs="inquiry">
        <para>JAXR QueryManager URL (Read only URL acting as a
        registry)</para>
      </callout>
    </calloutlist>
  </section>
</section>
