<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en-us" xml:lang="en-us">
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<meta name="copyright" content="Copyright (c) 2000, 2009 IBM Corporation and others. All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html. Contributors: IBM Corporation - initial API and implementation" />
<meta name="DC.rights.owner" content="(C) Copyright 2000, 2009" />
<meta content="public" name="security" />
<meta content="index,follow" name="Robots" />
<meta http-equiv="PICS-Label" content='(PICS-1.1 "http://www.icra.org/ratingsv02.html" l gen true r (cz 1 lz 1 nz 1 oz 1 vz 1) "http://www.rsac.org/ratingsv01.html" l gen true r (n 0 s 0 v 0 l 0) "http://www.classify.org/safesurf/" l gen true r (SS~~000 1))' />
<meta content="task" name="DC.Type" />
<meta name="DC.Title" content="Publishing Web services and business entities" />
<meta name="abstract" content="Through UDDI and WSIL, other applications can discover WSDL documents and bind with them to execute transactions or perform other business processes." />
<meta name="description" content="Through UDDI and WSIL, other applications can discover WSDL documents and bind with them to execute transactions or perform other business processes." />
<meta content="Web Services, publishing, overview, business entities, Web Services Explorer, publishing Web services" name="DC.subject" />
<meta content="Web Services, publishing, overview, business entities, Web Services Explorer, publishing Web services" name="keywords" />
<meta scheme="URI" name="DC.Relation" content="../tasks/tstrtexp.html" />
<meta scheme="URI" name="DC.Relation" content="../tasks/treg.html" />
<meta scheme="URI" name="DC.Relation" content="../tasks/tlogexp.html" />
<meta scheme="URI" name="DC.Relation" content="../tasks/taddreg.html" />
<meta scheme="URI" name="DC.Relation" content="../tasks/tpubent.html" />
<meta scheme="URI" name="DC.Relation" content="../tasks/tpublish.html" />
<meta scheme="URI" name="DC.Relation" content="../tasks/tupdate.html" />
<meta scheme="URI" name="DC.Relation" content="../tasks/tunpub.html" />
<meta scheme="URI" name="DC.Relation" content="../tasks/tbusproj.html" />
<meta scheme="URI" name="DC.Relation" content="../tasks/tassert.html" />
<meta scheme="URI" name="DC.Relation" content="../tasks/tbkmrk.html" />
<meta scheme="URI" name="DC.Relation" content="../../org.eclipse.jst.ws.doc.user/concepts/cwsinwsa.html" />
<meta scheme="URI" name="DC.Relation" content="../../org.eclipse.jst.ws.doc.user/concepts/cws.html" />
<meta scheme="URI" name="DC.Relation" content="../concepts/cuddi.html" />
<meta scheme="URI" name="DC.Relation" content="tuddiexp.html" />
<meta scheme="URI" name="DC.Relation" content="tstrtexp.html" />
<meta scheme="URI" name="DC.Relation" content="twsdlexp.html" />
<meta scheme="URI" name="DC.Relation" content="../../org.eclipse.jst.ws.doc.user/tasks/toverws.html" />
<meta scheme="URI" name="DC.Relation" content="../ref/ruddi.html" />
<meta content="XHTML" name="DC.Format" />
<meta content="tuddiexp" name="DC.Identifier" />
<meta content="en-us" name="DC.Language" />
<link href="../../org.eclipse.wst.doc.user/common.css" type="text/css" rel="stylesheet" />
<title>Publishing Web services and business entities with the
Web Services Explorer</title>
</head>
<body id="tuddiexp"><a name="tuddiexp"><!-- --></a>


<h1 class="topictitle1">Publishing Web services and business entities</h1>




<div><p>Through UDDI and WSIL, other applications can discover
WSDL documents and bind with them to execute transactions or perform
other business processes. </p>

<div class="section"><p>UDDI enables the discovery of Web services by providing
a distributed registry of businesses and their service descriptions,
implemented in a common XML format.  In order for a service requestor
to discover a service, a service provider must first publish a business
entity and at least one business service, and service interface in
a UDDI registry.  The Web Services Explorer is a Web application
that supports the publication, discovery, and maintenance of business
entities, business services, and service interfaces.</p>
<p>WSIL enables
the discovery of Web services by defining a distributed service discovery
method that supplies references to service descriptions at the service
provider's point-of-offering, by specifying how to inspect a Web site
for available Web services.  The WSIL specification defines the
locations on a Web site where you can look for Web service descriptions. Since
WSIL focuses on distributed service discovery, the WSIL specification
complements UDDI by facilitating the discovery of services that are
available on Web sites that may not be listed yet in a UDDI registry.
The Web Services Explorer allows you to generate and explore WSIL
documents.</p>
<p>The favorites page of the Web Services Explorer allows
you to store the location of UDDI registries, business entities, Web
services, service interfaces, as well as WSIL and WSDL documents.</p>
<p>Use
the Web Services Explorer to do any of the following tasks:</p>
<ul>
<li> <a href="taddreg.html">Add a registry to the Web Services Explorer</a> </li>

<li> <a href="tbkmrk.html">Adding a registry, business entity, business service, service interface, WSIL, or WSDL service to Favorites</a> </li>

<li><a href="tlogexp.html" title="If you have published your Web service to a UDDI registry you can&#10;log into the registry and manage the service through the Web Services Explorer.">Logging in to a UDDI registry</a></li>

<li> <a href="tdiscov.html">Discover a Web service</a> </li>

<li> <a href="tpubent.html">Publish a business entity to a registry</a> </li>

<li> <a href="tpublish.html">Publish a business service to a registry</a> </li>

<li> <a href="tunpub.html">Remove a business entity, business service, or service interface from a registry</a> </li>

<li> <a href="tupdate.html">Update a business entity, business service, or service interface</a> </li>

<li> <a href="tbusproj.html">Manage referenced services</a> </li>

<li> <a href="tassert.html">Manage publisher assertions</a> </li>

</ul>
<p>Prerequisites:</p>
</div>

<ol>
<li class="stepexpand"><span /></li>

<li class="stepexpand"><span>Before you can use the Web Services Explorer to perform
any of these functions, you must  <a href="treg.html">register with a public registry</a> or have access to a private registry.
There are many different registries with which you can register.</span>
 If you are publishing to a private registry on WebSphere Application
Server, the server must be started.</li>

<li class="stepexpand"><span>Ensure that you are using a supported Web browser.</span>
 The following Web browsers and versions are supported:<ul>
<li>Internet Explorer: 6.0 and up</li>

<li>Mozilla: 1.2.1 and up</li>

</ul>
</li>

<li class="stepexpand"><span> <a href="tstrtexp.html">Launch the Web Services Explorer</a>.</span>
</li>

</ol>

<div class="section"><div class="p"><strong>Known limitations of the Web Services Explorer:</strong><ul>
<li>The taxonomy categories in the Web Services Explorer are not translated
since they must match those in the standards adhered to by UDDI (ISO,
UNSPSC 7.3, NAICS).</li>

<li>The Web Services Explorer will launch without the browser toolbar
which shows, amongst other things, the URL to the Web application.
This URL should only be used by users with accessibility needs. The
URL to the Web Services Explorer Web application can be obtained through
the following steps:<ol>
<li>From the Window menu, select Preferences.</li>

<li>In the Preferences dialog, select <span class="uicontrol">Web Browser</span> in
the left pane.</li>

<li>On the right, select <span class="uicontrol">Use external Web Browser</span>.</li>

<li>In the <span class="uicontrol">Location: text</span> field, browse or
type in the full path of the Internet Explorer executable. (for example,
C:\Program Files\Internet Explorer\iexplore.exe).</li>

<li>Click <span class="uicontrol">Apply</span> followed by <span class="uicontrol">OK</span>.</li>

</ol>
 Note that this preference will now apply to any browser windows
that are launched by the user or by the tools themselves (such as
the Universal Test Client).  The Web Services Explorer will now launch
in an external browser and its URL should be in the Address field.
This can then be pasted or opened using am accessibility assisting
browser.</li>

<li>When performing an advanced find or publish in the UDDI page of
the Web Services Explorer, the items in the drop down list for picking
a language in conjunction with a name or description is sorted  according
to the operating system's locale settings. On Windows<sup>®</sup>,
this order may be managed through the Control Panel. To do this:<ol>
<li>Open the Control Panel.</li>

<li>Launch the Regional Options control panel applet.</li>

<li>In the General tab of the resulting dialog, there may be a "Sorting
order" drop-down list. If so, pick a sorting order and then click <span class="uicontrol">Apply</span> followed
by <span class="uicontrol">OK</span>.</li>

<li>In the Web Services Explorer, the new sorting order comes into
effect once the page reloads. This can be accomplished by pressing
the back arrow followed by the forward arrow in the main toolbar.</li>

</ol>
Note: The instructions above apply to Windows 2000.
On Windows XP, the tab mentioned in step 3 is
called "Regional Options". Beside the language drop-down, there is
a <span class="uicontrol">Customize</span> button. When this is clicked, a
new dialog appears. A sorting tab will allow users to pick the sorting
method if applicable.</li>

</ul>
</div>
</div>

</div>

<div>
<ul class="ullinks">
<li class="ulchildlink"><strong><a href="../tasks/tstrtexp.html">Launching the Web Services Explorer</a></strong><br />
The Web services tools allows you to launch the Web Services Explorer in several ways.</li>
<li class="ulchildlink"><strong><a href="../tasks/treg.html">Registering with a UDDI registry</a></strong><br />
In order to publish your business entity and Web service to a UDDI registry, you must first register with the registry that you want to use.</li>
<li class="ulchildlink"><strong><a href="../tasks/tlogexp.html">Logging in to a UDDI registry</a></strong><br />
If you have published your Web service to a UDDI registry you can log into the registry and manage the service through the Web Services Explorer.</li>
<li class="ulchildlink"><strong><a href="../tasks/taddreg.html">Adding a Registry to the Web Services Explorer</a></strong><br />
Although the Web Services Explorer comes populated with several registries, you can also add additional registries to your list of favorites.</li>
<li class="ulchildlink"><strong><a href="../tasks/tpubent.html">Publishing a business entity</a></strong><br />
A business entity contains information about the business that has published a service. Before you can publish a business service, you must publish a business entity.</li>
<li class="ulchildlink"><strong><a href="../tasks/tpublish.html">Publishing a Web service</a></strong><br />
The Web service, also known as the business service, describes a Web service's endpoint and where its WSDL file resides. The WSDL file lists the operations that service provides.</li>
<li class="ulchildlink"><strong><a href="../tasks/tupdate.html">Updating a business entity, Web service, or service interface</a></strong><br />
After you have published a business entity, Web service, or service interface, you can update it through the Web Services Explorer.</li>
<li class="ulchildlink"><strong><a href="../tasks/tunpub.html">Removing a business entity, Web service, or service interface from a registry</a></strong><br />
After you have published a business entity, Web service, or service interface, you can remove or unpublish it through the Web Services Explorer.</li>
<li class="ulchildlink"><strong><a href="../tasks/tbusproj.html">Managing referenced services</a></strong><br />
A service projection enables a business entity to reference a service that was published by another business entity. By using the businessService structure as a projection to an already published businessService, businesses can share or reuse services.  Service projections are managed centrally as part of the referencing businessEntity.</li>
<li class="ulchildlink"><strong><a href="../tasks/tassert.html">Managing publisher assertions</a></strong><br />
A publisher assertion is a way in UDDI to associate businessEntity structures.  The publisher assertion defines a group of businessEntity structures. Many businesses are not effectively represented by a single businessEntity. A publisher assertion allows for associations to be formed between several businessEntity structures. For example, a large company may have several subsidiaries that have different descriptions but are still closely coupled and want to make their relationships visible in UDDI registries.</li>
<li class="ulchildlink"><strong><a href="../tasks/tbkmrk.html">Adding a registry, business entity, business service, service interface, WSIL, or WSDL service to Favorites</a></strong><br />
You can add a registry, business entity, business service, service interface, WSIL, or WSDL service to the Web Service Explorer Favorites if you plan to access them in the future.</li>
</ul>

<div class="linklist"><strong>Related Concepts</strong><br />

<div><a href="../../org.eclipse.jst.ws.doc.user/concepts/cwsinwsa.html"> Tools for Web services development</a></div>
<div><a href="../../org.eclipse.jst.ws.doc.user/concepts/cws.html">Web services development</a></div>
<div><a href="../concepts/cuddi.html" title="Universal Description, Discovery, and Integration (UDDI) specification defines a way to publish and discover information about Web services.">Universal Description, Discovery, and Integration (UDDI)</a></div></div>

<div class="linklist"><strong>Related Tasks</strong><br />

<div><a href="tuddiexp.html" title="Through UDDI and WSIL, other applications can discover WSDL documents and bind with them to execute transactions or perform other business processes.">Publishing Web services and business entities</a></div>
<div><a href="tstrtexp.html" title="The Web services tools allows you to launch the Web Services Explorer in several ways.">Launching the Web Services Explorer</a></div>
<div><a href="twsdlexp.html" title="">Exploring WSDL using the WSDL Explorer</a></div>
<div><a href="../../org.eclipse.jst.ws.doc.user/tasks/toverws.html"> Developing Web services</a></div></div>

<div class="linklist"><strong>Related Reference</strong><br />

<div><a href="../ref/ruddi.html" title="Once you have registered and logged in to the UDDI registry that you want to use, you can register your Web service. Registration of a service involves four core data structure types: business information, service information, binding information, and information describing the specifications for services. The relationship between these data types is described in Figure 1.">Data structure types (UDDI registry)</a></div></div>
</div>

</body>
</html>