ws-wsrf-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sc...@apache.org
Subject svn commit: r230465 [2/6] - in /webservices/wsrf/site: ./ dev_guide/ images/ skin/ skin/css/ skin/images/ skin/scripts/ tutorial/ tutorial/images/
Date Fri, 05 Aug 2005 13:42:29 GMT
Added: webservices/wsrf/site/dev_guide/index.html
URL: http://svn.apache.org/viewcvs/webservices/wsrf/site/dev_guide/index.html?rev=230465&view=auto
==============================================================================
--- webservices/wsrf/site/dev_guide/index.html (added)
+++ webservices/wsrf/site/dev_guide/index.html Fri Aug  5 06:42:08 2005
@@ -0,0 +1,363 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<meta content="Apache Forrest" name="Generator">
+<meta name="Forrest-version" content="0.6">
+<meta name="Forrest-skin-name" content="pelt">
+<title>WSRF Developer Guide</title>
+<link type="text/css" href="../skin/basic.css" rel="stylesheet">
+<link media="screen" type="text/css" href="../skin/screen.css" rel="stylesheet">
+<link media="print" type="text/css" href="../skin/print.css" rel="stylesheet">
+<link type="text/css" href="../skin/profile.css" rel="stylesheet">
+<script src="../skin/getBlank.js" language="javascript" type="text/javascript"></script><script src="../skin/getMenu.js" language="javascript" type="text/javascript"></script><script src="../skin/fontsize.js" language="javascript" type="text/javascript"></script>
+<link rel="shortcut icon" href="../images/apache.ico">
+</head>
+<body onload="init()">
+<script type="text/javascript">ndeSetTextSize();</script>
+<div id="top">
+<!--+
+    |breadtrail
+    +-->
+<div class="breadtrail">
+<a href="http://www.apache.org/">apache</a> &gt; <a href="http://ws.apache.org">ws.apache</a><script src="../skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script>
+</div>
+<!--+
+    |header
+    +-->
+<div class="header">
+<!--+
+    |start group logo
+    +-->
+<div class="grouplogo">
+<a href="http://ws.apache.org/"><img class="logoImage" alt="Web Services" src="../images/ws-logo.gif"></a>
+</div>
+<!--+
+    |end group logo
+    +-->
+<!--+
+    |start Project Logo
+    +-->
+<div class="projectlogoA1">
+<a href="http://ws.apache.org/ws-fx/wsrf/"><img class="logoImage" alt="WSRF" src="../images/wsrf-logo.gif"></a>
+</div>
+<!--+
+    |end Project Logo
+    +-->
+<!--+
+    |start Tabs
+    +-->
+<ul id="tabs">
+<li>
+<a class="base-not-selected" href="../index.html">Project Info</a>
+</li>
+<li class="current">
+<a class="base-selected" href="../getting_started.html">Documentation</a>
+</li>
+<li>
+<a class="base-not-selected" href="../apidocs/index.html">API Docs</a>
+</li>
+</ul>
+<!--+
+    |end Tabs
+    +-->
+</div>
+</div>
+<div id="main">
+<div id="publishedStrip">
+<!--+
+    |start Subtabs
+    +-->
+<div id="level2tabs"></div>
+<!--+
+    |end Endtabs
+    +-->
+<script type="text/javascript" language="JavaScript"><!--
+              document.write("Published: " + document.lastModified);
+              //  --></script>
+</div>
+<!--+
+    |breadtrail
+    +-->
+<div class="breadtrail">
+             
+             &nbsp;
+           </div>
+<!--+
+    |start Menu, mainarea
+    +-->
+<!--+
+    |start Menu
+    +-->
+<div id="menu">
+<div onclick="SwitchMenu('menu_1.1', '../skin/')" id="menu_1.1Title" class="menutitle">Getting Started</div>
+<div id="menu_1.1" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../getting_started.html">Introduction</a>
+</div>
+<div class="menuitem">
+<a title="" href="../getting_started.html#install">Installation</a>
+</div>
+<div class="menuitem">
+<a title="" href="../getting_started.html#qd">Quick Demo</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.2', '../skin/')" id="menu_1.2Title" class="menutitle">Tutorial</div>
+<div id="menu_1.2" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../tutorial/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/setup.html">Create Workspace</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/wsdl.html">Create WSDL</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/wsdl2java.html">Run wsdl2Java Tool</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/mod_home.html">Modify Home Class</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/mod_resource.html">Modify Resource Class</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/webapp.html">Deploy Service</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/test.html">Test</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_selected_1.3', '../skin/')" id="menu_selected_1.3Title" class="menutitle" style="background-image: url('../skin/images/chapter_open.gif');">Developer Guide</div>
+<div id="menu_selected_1.3" class="selectedmenuitemgroup" style="display: block;">
+<div class="menupage">
+<div class="menupagetitle">Overview</div>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/wsrf_wsdl.html">Composing a WSRF WSDL</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/wsdl_tool.html">Using Wsdl2Java</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/service.html">Service Class</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/resource.html">Resource Class</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/home.html">Home Class</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/callback.html">Callback Objects</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/metadata.html">Metadata Operations</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/singleton.html">Singleton Service</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/deploy.html">Deploying</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/client.html">Using the SOAP Client</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/validate.html">Schema Validation</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/debug.html">Logging</a>
+</div>
+</div>
+<div id="credit">
+<a href="http://forrest.apache.org/"><img border="0" title="Built with Apache Forrest" alt="Built with Apache Forrest - logo" src="../images/built-with-forrest-button.png" style="width: 88px;height: 31px;"></a>
+</div>
+<div id="roundbottom">
+<img style="display: none" class="corner" height="15" width="15" alt="" src="../skin/images/rc-b-l-15-1body-2menu-3menu.png"></div>
+<!--+
+  |alternative credits
+  +-->
+</div>
+<!--+
+    |end Menu
+    +-->
+<!--+
+    |start content
+    +-->
+<div id="content">
+<div id="skinconf-txtlink"></div>
+<h1>WSRF Developer Guide</h1>
+<div id="minitoc-area">
+<ul class="minitoc">
+<li>
+<a href="#About+this+Guide">About this Guide</a>
+</li>
+<li>
+<a href="#WSRF+Overview">WSRF Overview</a>
+</li>
+<li>
+<a href="#Resource+Invocation+Framework">Resource Invocation Framework</a>
+<ul class="minitoc">
+<li>
+<a href="#Core+Interfaces">Core Interfaces</a>
+</li>
+<li>
+<a href="#Runtime+Behavior">Runtime Behavior</a>
+</li>
+</ul>
+</li>
+<li>
+<a href="#Design-Time">Design-Time</a>
+</li>
+</ul>
+</div>
+		
+<a name="N1000C"></a><a name="About+this+Guide"></a>
+<h2 class="boxed">About this Guide</h2>
+<div class="section">
+<p>The Developer Guide provides instructions for using many of the features that are included in Apache WSRF. If you are new to this project, you should start 
+			with the <a href="../index.html">Getting Started</a> and the <a href="../tutorial/index.html">Tutorial</a> before reading this guide. They provide a good starting point for 
+			learning how to use Apache WSRF.</p>
+<p>The Developer guide often refers to different parts of the <a href="../wsrf.html">Web Services Resource Framework (WSRF) specifications</a> that are defined by 
+			the OASIS standards body. You should become familiar with these specifications and refer to them as needed.</p>
+<p>The Developer Guide guide often refers to Apache Axis, Apache Tomcat, Apache Ant, and Apache XMLBeans. Instructions for these packages are included 
+			as required and are not meant to replace the formal documentation for these projects. Consult them as necessary.</p>
+<p>Lastly, Apache WSRF is consumed by the <a href="http://ws.apache.org/pubscribe/">Pubscribe</a> and <a href="http://ws.apache.org/muse/">Muse</a> projects. Many of the concepts that are 
+			covered in this guide are also applicable to Pubscribe and Muse. While it is not required, it is a good idea to start with Apache WSRF before 
+			moving on to these other projects.</p>
+</div>
+		
+<a name="N10033"></a><a name="WSRF+Overview"></a>
+<h2 class="boxed">WSRF Overview</h2>
+<div class="section">
+<p>Apache WSRF is an implementation of the <a href="../wsrf.html">WSRF</a> family of specifications that are defined by the OASIS standards body. Ultimately, the family 
+			of specifications define a method of exposing resources using Web services. This is typically done for management purposes. The resource can 
+			be anything from a device to application components or even current management components such as JMX MBeans.The specifications 
+			include:</p>
+<ul>
+				
+<li>WS Resource - Defines a WS-Resource and describes how one Web service can be used to represent multiple resource instances.</li>
+				
+<li>WS-ResourceProperties (WSRF-RP) - Defines how to define and interact with stateful properties of a WS-Resource.</li>
+				
+<li>WS-ResourceLifetime (WSRF-RL) - Defines a way in which the lifetime of a WS-Resource can be monitored and how the WS-Resource can be destroyed. </li>
+				
+<li>WS-ServiceGroup (WSRF-SG) - Defines how WS-Resources can be aggregated or grouped together for a domain specific 
+				purpose. 
+				<div class="frame note">
+<div class="label">Note</div>
+<div class="content">The WS-ServiceGroup specification is currently not implemented in Apache WSRF.</div>
+</div>
+				
+</li>
+				
+<li>WS-BaseFaults (WSRF-BF) - Defines a standard format for SOAP faults thrown by WSRF services.</li>
+			
+</ul>
+</div>
+		
+<a name="N10056"></a><a name="Resource+Invocation+Framework"></a>
+<h2 class="boxed">Resource Invocation Framework</h2>
+<div class="section">
+<p> The resource invocation framework is the foundation upon which Apache WSRF is implemented. The framework includes a set of core interfaces, as well as 
+			runtime pieces. The framework is discussed in detail below. 
+			</p>
+<a name="N1005F"></a><a name="Core+Interfaces"></a>
+<h3 class="boxed">Core Interfaces</h3>
+<p>The resource invocation framework revolves around several core interfaces:</p>
+<ul>
+					
+<li>WsrfService - represents a WSRF service (i.e. a service that represents the external interface for a set of WS-Resource instances of a particular type)</li>
+					
+<li>Resource - represents a WS-Resource as defined by the WS-Resource specification.</li>
+					
+<li>ResourceHome - provides a way to instantiate and lookup Resource instances; there is one ResourceHome object per type of Resource</li>
+					
+<li>ResourceContext - provides request context information to the WSRF service</li>
+				
+</ul>
+<a name="N10078"></a><a name="Runtime+Behavior"></a>
+<h3 class="boxed">Runtime Behavior</h3>
+<p>At runtime, the entry point to the framework is the ResourceHandler. The ResourceHandler is implemented as a JAX-RPC 1.1 handler to allow it to run inside of 
+				any JAX-RPC-based SOAP engine. Since it acts as a request dispatcher, it belongs either as the pivot point of the handler chain or as the last handler in the chain. 
+				For each incoming SOAP request, the ResourceHandler performs the following steps:
+				</p>
+<ol>
+					
+<li>deserializes the contents of the request message body to an XMLBeans XmlObject and then validates this XmlObject according to its schema type as it was 
+					defined in the service's WSDL;</li>
+					
+<li>creates a ResourceContext and populates it with vital information associated with the request such as the service name, the service URL, and the 
+					JAX-RPC SOAPMessageContext;</li>
+					
+<li>based on the name of the service to which the request was sent, instantiates the appropriate type of service object, passing it the ResourceContext;</li>
+					
+<li>based on either the request body element or the wsa:Action header (this is configurable on a per-operation basis), maps the request to a particular 
+					method of the service object, invoking that method with the request XmlObject as a parameter;</li>
+					
+<li>serializes the XmlObject returned by the method and adds it to the body of the response message.</li>
+				
+</ol>
+<p>Schema validation of incoming requests is a powerful feature. When validation fails, a fault is returned to the client that contains a detailed description of 
+				exactly what is wrong with the XML. Request validation is not only powerful, but it is also efficient, since it is performed via XMLBeans, which uses an in-memory 
+				binary schema store. Nevertheless, if the utmost performance is required, request validation can be disabled.
+				</p>
+<p>As described above, when the ResourceHandler creates a service instance, it passes it a ResourceContext object. From the context, methods in the service 
+				an obtain the specific resource instance that was targeted by the current request; this is accomplished by simply calling the getResource method on the context. 
+				Under the hood, the context uses the service name as a key to lookup the resource home object from JNDI. It then extracts a resource key Object from the header 
+				portion of the SOAP request and uses this key to lookup a resource instance from the home. If there is no resource registered in the home with the specified key, a 
+				ResourceUnknownException is thrown, which ultimately is propagated back to the client as a ResourceUnknownFault WSRF base fault.
+				</p>
+</div>
+		
+<a name="N1009B"></a><a name="Design-Time"></a>
+<h2 class="boxed">Design-Time</h2>
+<div class="section">
+<p>A set of tools and integrations are provided that facilitate developing WSRF-compliant Web services. They are provided to help developers focus on 
+			defining their WS Resource without having to deal with low-level implementation details.</p>
+<div class="frame note">
+<div class="label">Note</div>
+<div class="content">These tools and integrations are not required to create WSRF-compliant Web services, but are instead provided to save you time.</div>
+</div>
+<p>The tools and integrations include:</p>
+<ul>
+				
+<li>A WSRF WSDL template for writing WSRF-compliant WSDLs</li>
+				
+<li>A Wsdl2Java tool for generating Java Classes from a WSDL</li>
+				
+<li>An integration with Apache XMLBeans for generating custom types defined in the WSDL</li>
+				
+<li>an integration with Apache Axis for automatically deploying WS Resources</li>
+			
+</ul>
+</div>
+	
+</div>
+<!--+
+    |end content
+    +-->
+<div class="clearboth">&nbsp;</div>
+</div>
+<div id="footer">
+<!--+
+    |start bottomstrip
+    +-->
+<div class="lastmodified">
+<script type="text/javascript"><!--
+document.write("Last Published: " + document.lastModified);
+//  --></script>
+</div>
+<div class="copyright">
+ Copyright &copy; 2004 The Apache Software Foundation.</div>
+<div id="logos">
+<a href="http://validator.w3.org/check/referer"><img style="height: 31px; width: 88px;" title="Valid HTML 4.01!" alt="Valid HTML 4.01!" src="../skin/images/valid-html401.png" class="logoImage"></a><a href="http://jigsaw.w3.org/css-validator/"><img style="height: 31px; width: 88px;" title="Valid CSS!" alt="Valid CSS!" src="../skin/images/vcss.png" class="logoImage"></a>
+</div>
+<!--+
+    |end bottomstrip
+    +-->
+</div>
+</body>
+</html>

Added: webservices/wsrf/site/dev_guide/metadata.html
URL: http://svn.apache.org/viewcvs/webservices/wsrf/site/dev_guide/metadata.html?rev=230465&view=auto
==============================================================================
--- webservices/wsrf/site/dev_guide/metadata.html (added)
+++ webservices/wsrf/site/dev_guide/metadata.html Fri Aug  5 06:42:08 2005
@@ -0,0 +1,346 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<meta content="Apache Forrest" name="Generator">
+<meta name="Forrest-version" content="0.6">
+<meta name="Forrest-skin-name" content="pelt">
+<title>Adding Service Metadata</title>
+<link type="text/css" href="../skin/basic.css" rel="stylesheet">
+<link media="screen" type="text/css" href="../skin/screen.css" rel="stylesheet">
+<link media="print" type="text/css" href="../skin/print.css" rel="stylesheet">
+<link type="text/css" href="../skin/profile.css" rel="stylesheet">
+<script src="../skin/getBlank.js" language="javascript" type="text/javascript"></script><script src="../skin/getMenu.js" language="javascript" type="text/javascript"></script><script src="../skin/fontsize.js" language="javascript" type="text/javascript"></script>
+<link rel="shortcut icon" href="../images/apache.ico">
+</head>
+<body onload="init()">
+<script type="text/javascript">ndeSetTextSize();</script>
+<div id="top">
+<!--+
+    |breadtrail
+    +-->
+<div class="breadtrail">
+<a href="http://www.apache.org/">apache</a> &gt; <a href="http://ws.apache.org">ws.apache</a><script src="../skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script>
+</div>
+<!--+
+    |header
+    +-->
+<div class="header">
+<!--+
+    |start group logo
+    +-->
+<div class="grouplogo">
+<a href="http://ws.apache.org/"><img class="logoImage" alt="Web Services" src="../images/ws-logo.gif"></a>
+</div>
+<!--+
+    |end group logo
+    +-->
+<!--+
+    |start Project Logo
+    +-->
+<div class="projectlogoA1">
+<a href="http://ws.apache.org/ws-fx/wsrf/"><img class="logoImage" alt="WSRF" src="../images/wsrf-logo.gif"></a>
+</div>
+<!--+
+    |end Project Logo
+    +-->
+<!--+
+    |start Tabs
+    +-->
+<ul id="tabs">
+<li>
+<a class="base-not-selected" href="../index.html">Project Info</a>
+</li>
+<li class="current">
+<a class="base-selected" href="../getting_started.html">Documentation</a>
+</li>
+<li>
+<a class="base-not-selected" href="../apidocs/index.html">API Docs</a>
+</li>
+</ul>
+<!--+
+    |end Tabs
+    +-->
+</div>
+</div>
+<div id="main">
+<div id="publishedStrip">
+<!--+
+    |start Subtabs
+    +-->
+<div id="level2tabs"></div>
+<!--+
+    |end Endtabs
+    +-->
+<script type="text/javascript" language="JavaScript"><!--
+              document.write("Published: " + document.lastModified);
+              //  --></script>
+</div>
+<!--+
+    |breadtrail
+    +-->
+<div class="breadtrail">
+             
+             &nbsp;
+           </div>
+<!--+
+    |start Menu, mainarea
+    +-->
+<!--+
+    |start Menu
+    +-->
+<div id="menu">
+<div onclick="SwitchMenu('menu_1.1', '../skin/')" id="menu_1.1Title" class="menutitle">Getting Started</div>
+<div id="menu_1.1" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../getting_started.html">Introduction</a>
+</div>
+<div class="menuitem">
+<a title="" href="../getting_started.html#install">Installation</a>
+</div>
+<div class="menuitem">
+<a title="" href="../getting_started.html#qd">Quick Demo</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.2', '../skin/')" id="menu_1.2Title" class="menutitle">Tutorial</div>
+<div id="menu_1.2" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../tutorial/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/setup.html">Create Workspace</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/wsdl.html">Create WSDL</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/wsdl2java.html">Run wsdl2Java Tool</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/mod_home.html">Modify Home Class</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/mod_resource.html">Modify Resource Class</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/webapp.html">Deploy Service</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/test.html">Test</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_selected_1.3', '../skin/')" id="menu_selected_1.3Title" class="menutitle" style="background-image: url('../skin/images/chapter_open.gif');">Developer Guide</div>
+<div id="menu_selected_1.3" class="selectedmenuitemgroup" style="display: block;">
+<div class="menuitem">
+<a title="" href="../dev_guide/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/wsrf_wsdl.html">Composing a WSRF WSDL</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/wsdl_tool.html">Using Wsdl2Java</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/service.html">Service Class</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/resource.html">Resource Class</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/home.html">Home Class</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/callback.html">Callback Objects</a>
+</div>
+<div class="menupage">
+<div class="menupagetitle">Metadata Operations</div>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/singleton.html">Singleton Service</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/deploy.html">Deploying</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/client.html">Using the SOAP Client</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/validate.html">Schema Validation</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/debug.html">Logging</a>
+</div>
+</div>
+<div id="credit"></div>
+<div id="roundbottom">
+<img style="display: none" class="corner" height="15" width="15" alt="" src="../skin/images/rc-b-l-15-1body-2menu-3menu.png"></div>
+<!--+
+  |alternative credits
+  +-->
+</div>
+<!--+
+    |end Menu
+    +-->
+<!--+
+    |start content
+    +-->
+<div id="content">
+<div id="skinconf-txtlink"></div>
+<h1>Adding Service Metadata</h1>
+<div id="minitoc-area">
+<ul class="minitoc">
+<li>
+<a href="#Introduction">Introduction</a>
+</li>
+<li>
+<a href="#Define+the+Operations">Define the Operations</a>
+</li>
+<li>
+<a href="#Modify+the+JNDI+Configuration+File">Modify the JNDI Configuration File</a>
+</li>
+</ul>
+</div>
+		
+<a name="N1000C"></a><a name="Introduction"></a>
+<h2 class="boxed">Introduction</h2>
+<div class="section">
+<p>Web services may have various metadata associated with them (e.g. the WSDL for the service or a set of Topic Space documents). The 
+			<a class="external" href="http://msdn.microsoft.com/library/en-us/dnglobspec/html/ws-metadataexchange.pdf">WS-MEXWS-Metadata Exchange</a> specification (defined by Microsoft 
+			and other industry contributors) defines operations that can be provided by services to allow clients to retrieve these metadata documents.
+			</p>
+</div>
+		
+<a name="N1001A"></a><a name="Define+the+Operations"></a>
+<h2 class="boxed">Define the Operations</h2>
+<div class="section">
+<p>The metadata data operations are defined in your service's WSDL. If you used the INSTALL_DIR/template/_TEMPLATE_.wsdl file to create your WSDL, you simply 
+			need to uncomment these operations in the <span class="codefrag">portType</span> and <span class="codefrag">binding</span> sections.
+			</p>
+<pre class="code">
+&lt;portType name="MyPortType"&gt;
+   ...
+   &lt;operation name="GetMetadata" &gt;
+      &lt;input message="mex:GetMetadataMsg" wsa04:Action="http://schemas.xmlsoap.org/ws/2004/09/mex/GetMetadata/Request" /&gt;
+      &lt;output message="mex:GetMetadataResponseMsg" wsa04:Action="http://schemas.xmlsoap.org/ws/2004/09/mex/GetMetadata/Response" /&gt;
+   &lt;/operation&gt;
+           
+   &lt;operation name="Get" &gt;
+      &lt;input message="mex:GetMsg" wsa04:Action="http://schemas.xmlsoap.org/ws/2004/09/mex/Get/Request" /&gt;
+      &lt;output message="mex:GetResponseMsg" wsa04:Action="http://schemas.xmlsoap.org/ws/2004/09/mex/Get/Response" /&gt;
+   &lt;/operation&gt;
+&lt;/portype&gt;
+ 
+&lt;binding name="MySoapHttpBinding"&gt;
+   ...
+   &lt;operation name="GetMetadata" &gt;
+      &lt;soap:operation style="document"/&gt;
+      &lt;input&gt;
+         &lt;soap:body use="literal"/&gt;
+      &lt;/input&gt;
+      &lt;output&gt;
+         &lt;soap:body use="literal"/&gt;
+      &lt;/output&gt;
+   &lt;/operation&gt;
+   
+   &lt;operation name="Get" &gt;
+      &lt;soap:operation style="document"/&gt;
+      &lt;input&gt;
+         &lt;soap:body use="literal"/&gt;
+      &lt;/input&gt;
+      &lt;output&gt;
+         &lt;soap:body use="literal"/&gt;
+      &lt;/output&gt;
+   &lt;/operation&gt;
+&lt;/binding&gt;</pre>
+</div>
+		
+<a name="N1002E"></a><a name="Modify+the+JNDI+Configuration+File"></a>
+<h2 class="boxed">Modify the JNDI Configuration File</h2>
+<div class="section">
+<p>The JNDI configuration file must be modified to include a metadata resource for your service as well as configurations that define where your metadata files are located.</p>
+<p>To update the JNDI configuration file to include metadata information:</p>
+<ol>
+				
+<li>Using a text editor, open <span class="codefrag">jndi-config.xml</span> in the <span class="codefrag">WEB-INF/classes</span> directory.</li>
+				
+<li>Add the following JNDI resource block to the service, for which you would like to associate metadata:
+				<pre class="code">
+&lt;service name="myService"&gt;
+   &lt;resource name="metadata" type="org.apache.ws.util.jndi.tools.MetadataConfigImpl"&gt;</pre>
+					
+<p>The <span class="codefrag">org.apache.ws.util.jndi.tools.MetadataConfigImpl</span> object containing the metadata is available via JNDI using a Context lookup of 
+				<span class="codefrag">wsrf/services/{service_name}/metadata</span> - i.e. <span class="codefrag">ctx.lookup("wsrf/services/sushi/metadata");</span>
+					
+</p>
+				
+</li>
+				
+<li>In the metadata resource block, add a<span class="codefrag"> metadataConfig</span> element that contains metadata configurations. The configuration includes a <span class="codefrag">dialect</span> 
+				attribute that defines the type of the data (xsd, wsdl, etc...) and an identifier attribute that uniquely identifies a particular document and is typically a targetNamespace. The 
+				following examples demonstrate five different methods of configuring where your metadata files are located. The files should be "reachable" at the configured locations.<pre class="code">
+&lt;resource name="metadata" type="org.apache.ws.util.jndi.tools.MetadataConfigImpl"&gt;
+   &lt;metadataConfig&gt;
+      &lt;!-- classpath --&gt;
+      &lt;metadata dialect="http://www.w3.org/2001/XMLSchema" identifier="http://ws.apache.org/resource/properties/test/sushi_classpath"&gt;
+         &lt;location&gt;org/apache/ws/resource/properties/SushiProperties.xsd&lt;/location&gt;
+      &lt;/metadata&gt;
+            
+      &lt;!-- file --&gt;
+      &lt;metadata dialect="http://schemas.xmlsoap.org/wsdl/" identifier="http://ws.apache.org/resource/properties/test/sushi_wsdl"&gt;
+         &lt;location&gt;C:/Projects/apache/wsrf/trunk/src/test/org/apache/ws/resource/properties/SushiProperties.wsdl&lt;/location&gt;
+      &lt;/metadata&gt;
+            
+      &lt;!-- http url --&gt;
+      &lt;metadata dialect="http://www.w3.org/2001/XMLSchema" identifier="http://ws.apache.org/resource/properties/test/sushi_url"&gt;
+         &lt;location&gt;http://localhost:8080/wsrf/SushiProperties.xsd&lt;/location&gt;
+      &lt;/metadata&gt;
+            
+      &lt;!-- file url --&gt;
+      &lt;metadata dialect="http://www.w3.org/2001/XMLSchema" identifier="http://ws.apache.org/resource/properties/test/sushi_fileurl"&gt;
+         &lt;location&gt;file://C:/Projects/apache/wsrf/trunk/src/test/org/apache/ws/resource/properties/SushiProperties.xsd&lt;/location&gt;
+      &lt;/metadata&gt;
+            
+      &lt;!-- EndpointReference --&gt;
+      &lt;metadata dialect="http://schemas.xmlsoap.org/ws/2004/08/addressing" identifier="http://ws.apache.org/resource/properties/test/sushi_epr"&gt;           
+         &lt;reference xmlns:wsa04="http://schemas.xmlsoap.org/ws/2004/08/addressing"&gt;
+            &lt;wsa04:Address&gt;http://localhost:8080/wsrf/services/sushi&lt;/wsa04:Address&gt;
+            &lt;wsa04:ReferenceProperties&gt;
+               &lt;sushi:ResourceIdentifier xmlns:sushi="http://ws.apache.org/resource/properties/test/sushi"&gt;1&lt;/sushi:ResourceIdentifier&gt;
+            &lt;/wsa04:ReferenceProperties&gt;
+         &lt;/reference&gt;                           
+      &lt;/metadata&gt;
+   &lt;/metadataConfig&gt;
+&lt;/resource&gt;</pre>
+				
+</li>
+				
+<li>Save and close jndi-config.xml.</li>
+				
+<li>Restart Tomcat if it is already started.</li>
+			
+</ol>
+</div>
+	
+</div>
+<!--+
+    |end content
+    +-->
+<div class="clearboth">&nbsp;</div>
+</div>
+<div id="footer">
+<!--+
+    |start bottomstrip
+    +-->
+<div class="lastmodified">
+<script type="text/javascript"><!--
+document.write("Last Published: " + document.lastModified);
+//  --></script>
+</div>
+<div class="copyright">
+ Copyright &copy; 2004 The Apache Software Foundation.</div>
+<!--+
+    |end bottomstrip
+    +-->
+</div>
+</body>
+</html>

Added: webservices/wsrf/site/dev_guide/resource.html
URL: http://svn.apache.org/viewcvs/webservices/wsrf/site/dev_guide/resource.html?rev=230465&view=auto
==============================================================================
--- webservices/wsrf/site/dev_guide/resource.html (added)
+++ webservices/wsrf/site/dev_guide/resource.html Fri Aug  5 06:42:08 2005
@@ -0,0 +1,301 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<meta content="Apache Forrest" name="Generator">
+<meta name="Forrest-version" content="0.6">
+<meta name="Forrest-skin-name" content="pelt">
+<title>Writing a Resource Class</title>
+<link type="text/css" href="../skin/basic.css" rel="stylesheet">
+<link media="screen" type="text/css" href="../skin/screen.css" rel="stylesheet">
+<link media="print" type="text/css" href="../skin/print.css" rel="stylesheet">
+<link type="text/css" href="../skin/profile.css" rel="stylesheet">
+<script src="../skin/getBlank.js" language="javascript" type="text/javascript"></script><script src="../skin/getMenu.js" language="javascript" type="text/javascript"></script><script src="../skin/fontsize.js" language="javascript" type="text/javascript"></script>
+<link rel="shortcut icon" href="../images/apache.ico">
+</head>
+<body onload="init()">
+<script type="text/javascript">ndeSetTextSize();</script>
+<div id="top">
+<!--+
+    |breadtrail
+    +-->
+<div class="breadtrail">
+<a href="http://www.apache.org/">apache</a> &gt; <a href="http://ws.apache.org">ws.apache</a><script src="../skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script>
+</div>
+<!--+
+    |header
+    +-->
+<div class="header">
+<!--+
+    |start group logo
+    +-->
+<div class="grouplogo">
+<a href="http://ws.apache.org/"><img class="logoImage" alt="Web Services" src="../images/ws-logo.gif"></a>
+</div>
+<!--+
+    |end group logo
+    +-->
+<!--+
+    |start Project Logo
+    +-->
+<div class="projectlogoA1">
+<a href="http://ws.apache.org/ws-fx/wsrf/"><img class="logoImage" alt="WSRF" src="../images/wsrf-logo.gif"></a>
+</div>
+<!--+
+    |end Project Logo
+    +-->
+<!--+
+    |start Tabs
+    +-->
+<ul id="tabs">
+<li>
+<a class="base-not-selected" href="../index.html">Project Info</a>
+</li>
+<li class="current">
+<a class="base-selected" href="../getting_started.html">Documentation</a>
+</li>
+<li>
+<a class="base-not-selected" href="../apidocs/index.html">API Docs</a>
+</li>
+</ul>
+<!--+
+    |end Tabs
+    +-->
+</div>
+</div>
+<div id="main">
+<div id="publishedStrip">
+<!--+
+    |start Subtabs
+    +-->
+<div id="level2tabs"></div>
+<!--+
+    |end Endtabs
+    +-->
+<script type="text/javascript" language="JavaScript"><!--
+              document.write("Published: " + document.lastModified);
+              //  --></script>
+</div>
+<!--+
+    |breadtrail
+    +-->
+<div class="breadtrail">
+             
+             &nbsp;
+           </div>
+<!--+
+    |start Menu, mainarea
+    +-->
+<!--+
+    |start Menu
+    +-->
+<div id="menu">
+<div onclick="SwitchMenu('menu_1.1', '../skin/')" id="menu_1.1Title" class="menutitle">Getting Started</div>
+<div id="menu_1.1" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../getting_started.html">Introduction</a>
+</div>
+<div class="menuitem">
+<a title="" href="../getting_started.html#install">Installation</a>
+</div>
+<div class="menuitem">
+<a title="" href="../getting_started.html#qd">Quick Demo</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.2', '../skin/')" id="menu_1.2Title" class="menutitle">Tutorial</div>
+<div id="menu_1.2" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../tutorial/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/setup.html">Create Workspace</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/wsdl.html">Create WSDL</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/wsdl2java.html">Run wsdl2Java Tool</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/mod_home.html">Modify Home Class</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/mod_resource.html">Modify Resource Class</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/webapp.html">Deploy Service</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/test.html">Test</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_selected_1.3', '../skin/')" id="menu_selected_1.3Title" class="menutitle" style="background-image: url('../skin/images/chapter_open.gif');">Developer Guide</div>
+<div id="menu_selected_1.3" class="selectedmenuitemgroup" style="display: block;">
+<div class="menuitem">
+<a title="" href="../dev_guide/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/wsrf_wsdl.html">Composing a WSRF WSDL</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/wsdl_tool.html">Using Wsdl2Java</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/service.html">Service Class</a>
+</div>
+<div class="menupage">
+<div class="menupagetitle">Resource Class</div>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/home.html">Home Class</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/callback.html">Callback Objects</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/metadata.html">Metadata Operations</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/singleton.html">Singleton Service</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/deploy.html">Deploying</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/client.html">Using the SOAP Client</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/validate.html">Schema Validation</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/debug.html">Logging</a>
+</div>
+</div>
+<div id="credit"></div>
+<div id="roundbottom">
+<img style="display: none" class="corner" height="15" width="15" alt="" src="../skin/images/rc-b-l-15-1body-2menu-3menu.png"></div>
+<!--+
+  |alternative credits
+  +-->
+</div>
+<!--+
+    |end Menu
+    +-->
+<!--+
+    |start content
+    +-->
+<div id="content">
+<div id="skinconf-txtlink"></div>
+<h1>Writing a Resource Class</h1>
+<div id="minitoc-area">
+<ul class="minitoc">
+<li>
+<a href="#intro">Introduction</a>
+</li>
+<li>
+<a href="#class-declaration">Class Declaration</a>
+</li>
+<li>
+<a href="#vars">Instance Variables</a>
+</li>
+<li>
+<a href="#methods">Methods</a>
+</li>
+</ul>
+</div>
+		
+<a name="N1000C"></a><a name="intro"></a>
+<h2 class="boxed">Introduction</h2>
+<div class="section">
+<p>The resource class is the stateful instance-representation of your Web service.
+      			The resource maintains the resource <span class="codefrag">id</span> and the <span class="codefrag">ResourcePropertySet</span>. The resource <span class="codefrag">id</span> is
+      			the unique identifier for an instance of your Web service.  It allows you to have multiple
+       		resource instances, each with their own state, fronted by the same Web service.
+       		The stateful properties are represented by the <span class="codefrag">ResourcePropertySet</span>. The <span class="codefrag">ResourcePropertySet</span>
+       		is the Java representation of the Resource Properties document defined in the schema section
+       		of your WSDL file.
+    			</p>
+<p>When a request is made for a Web service, it is expected to contain a WS-Addressing
+        		header which contains the resource <span class="codefrag">id</span>. When Apache WSRF receives the request it
+         		will use the resource <span class="codefrag">id</span> to look up the corresponding resource instance to
+         		service the request.
+         		</p>
+<p>If you use the Wsdl2Java tool, the resource class is automatically generated, but code will need to be added
+			 to initialize the resource's <span class="codefrag">ResourcePropertySet</span>. This section discuss 
+			 how to write a resource class. Initially, you should model your resource off of the included <span class="codefrag">FileSystemResource</span> example to
+         		ensure that you write a valid resource class.</p>
+</div>
+		
+<a name="N10037"></a><a name="class-declaration"></a>
+<h2 class="boxed">Class Declaration</h2>
+<div class="section">
+<p>When declaring your Resource class you MUST implement <span class="codefrag">org.apache.ws.resource.Resource</span> which
+         		provides the necessary operations for dealing with the <span class="codefrag">ResourcePropertySet</span> and the
+        		 resource's <span class="codefrag">id</span>.
+        		 </p>
+<div class="frame note">
+<div class="label">Note</div>
+<div class="content">The resource<span class="codefrag"> id</span> is a custom WS-Addressing header element which you will define in your configuration
+            		information for your service.</div>
+</div>
+<p>Optionally, you may also implement <span class="codefrag">PersistentResource</span>, for providing hooks for persistence,
+         		and <span class="codefrag">ScheduledResourceTerminationResource</span>, for adding the ability to schedule when the resource
+        		 should be terminated.
+         		</p>
+<p>The <span class="codefrag">FileSystemResource</span> class declaration is as follows:</p>
+<pre class="code">public class FileSystemResource extends
+      AbstractFileSystemResource</pre>
+<p>Notice that we've extended a base abstract class.  This allows us to focus solely on the <span class="codefrag">init()</span> operation for registering 			callback objects and initializing the values of our ResourceProperties.
+			</p>
+<p>The <span class="codefrag">AbstractFileSystemResource</span> class implements <span class="codefrag">Resource</span>, <span class="codefrag">PropertiesResource</span>, and 
+			<span class="codefrag">	ScheduledResourceTerminationResource</span>.  We've "abstracted" the non-user specific code to the abstract class so that the user can focus on 
+			their initialization.
+			</p>
+</div>
+		
+<a name="N10078"></a><a name="vars"></a>
+<h2 class="boxed">Instance Variables</h2>
+<div class="section">
+<p>The instance variables of <span class="codefrag">AbstractFileSystemResource</span> should include the resource <span class="codefrag">id</span> and the
+         		<span class="codefrag">ResourcePropertySet</span>. The <span class="codefrag">ResourcePropertySet</span> is the object representation of the resource
+          		properties document associated with this resource instance.</p>
+<div class="frame note">
+<div class="label">Note</div>
+<div class="content">Since it is not a requirement to have resource properties in your service,
+            		there is a <span class="codefrag">PropertiesResource</span> interface to denote that properties are being exposed.</div>
+</div>
+</div>
+		
+<a name="N10094"></a><a name="methods"></a>
+<h2 class="boxed">Methods</h2>
+<div class="section">
+<p>The methods are defined by the interfaces you implement and are mainly setters and
+         		getters for the <span class="codefrag">ResourcePropertySet</span> and the resource <span class="codefrag">id</span>. There are also 
+         		<span class="codefrag">init()</span>and <span class="codefrag">destroy()</span> operations
+         		which allow you to initialize or clean up your resource.
+         		</p>
+</div>
+	
+</div>
+<!--+
+    |end content
+    +-->
+<div class="clearboth">&nbsp;</div>
+</div>
+<div id="footer">
+<!--+
+    |start bottomstrip
+    +-->
+<div class="lastmodified">
+<script type="text/javascript"><!--
+document.write("Last Published: " + document.lastModified);
+//  --></script>
+</div>
+<div class="copyright">
+ Copyright &copy; 2004 The Apache Software Foundation.</div>
+<!--+
+    |end bottomstrip
+    +-->
+</div>
+</body>
+</html>

Added: webservices/wsrf/site/dev_guide/service.html
URL: http://svn.apache.org/viewcvs/webservices/wsrf/site/dev_guide/service.html?rev=230465&view=auto
==============================================================================
--- webservices/wsrf/site/dev_guide/service.html (added)
+++ webservices/wsrf/site/dev_guide/service.html Fri Aug  5 06:42:08 2005
@@ -0,0 +1,443 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<meta content="Apache Forrest" name="Generator">
+<meta name="Forrest-version" content="0.6">
+<meta name="Forrest-skin-name" content="pelt">
+<title>Writing a Service Class</title>
+<link type="text/css" href="../skin/basic.css" rel="stylesheet">
+<link media="screen" type="text/css" href="../skin/screen.css" rel="stylesheet">
+<link media="print" type="text/css" href="../skin/print.css" rel="stylesheet">
+<link type="text/css" href="../skin/profile.css" rel="stylesheet">
+<script src="../skin/getBlank.js" language="javascript" type="text/javascript"></script><script src="../skin/getMenu.js" language="javascript" type="text/javascript"></script><script src="../skin/fontsize.js" language="javascript" type="text/javascript"></script>
+<link rel="shortcut icon" href="../images/apache.ico">
+</head>
+<body onload="init()">
+<script type="text/javascript">ndeSetTextSize();</script>
+<div id="top">
+<!--+
+    |breadtrail
+    +-->
+<div class="breadtrail">
+<a href="http://www.apache.org/">apache</a> &gt; <a href="http://ws.apache.org">ws.apache</a><script src="../skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script>
+</div>
+<!--+
+    |header
+    +-->
+<div class="header">
+<!--+
+    |start group logo
+    +-->
+<div class="grouplogo">
+<a href="http://ws.apache.org/"><img class="logoImage" alt="Web Services" src="../images/ws-logo.gif"></a>
+</div>
+<!--+
+    |end group logo
+    +-->
+<!--+
+    |start Project Logo
+    +-->
+<div class="projectlogoA1">
+<a href="http://ws.apache.org/ws-fx/wsrf/"><img class="logoImage" alt="WSRF" src="../images/wsrf-logo.gif"></a>
+</div>
+<!--+
+    |end Project Logo
+    +-->
+<!--+
+    |start Tabs
+    +-->
+<ul id="tabs">
+<li>
+<a class="base-not-selected" href="../index.html">Project Info</a>
+</li>
+<li class="current">
+<a class="base-selected" href="../getting_started.html">Documentation</a>
+</li>
+<li>
+<a class="base-not-selected" href="../apidocs/index.html">API Docs</a>
+</li>
+</ul>
+<!--+
+    |end Tabs
+    +-->
+</div>
+</div>
+<div id="main">
+<div id="publishedStrip">
+<!--+
+    |start Subtabs
+    +-->
+<div id="level2tabs"></div>
+<!--+
+    |end Endtabs
+    +-->
+<script type="text/javascript" language="JavaScript"><!--
+              document.write("Published: " + document.lastModified);
+              //  --></script>
+</div>
+<!--+
+    |breadtrail
+    +-->
+<div class="breadtrail">
+             
+             &nbsp;
+           </div>
+<!--+
+    |start Menu, mainarea
+    +-->
+<!--+
+    |start Menu
+    +-->
+<div id="menu">
+<div onclick="SwitchMenu('menu_1.1', '../skin/')" id="menu_1.1Title" class="menutitle">Getting Started</div>
+<div id="menu_1.1" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../getting_started.html">Introduction</a>
+</div>
+<div class="menuitem">
+<a title="" href="../getting_started.html#install">Installation</a>
+</div>
+<div class="menuitem">
+<a title="" href="../getting_started.html#qd">Quick Demo</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.2', '../skin/')" id="menu_1.2Title" class="menutitle">Tutorial</div>
+<div id="menu_1.2" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../tutorial/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/setup.html">Create Workspace</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/wsdl.html">Create WSDL</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/wsdl2java.html">Run wsdl2Java Tool</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/mod_home.html">Modify Home Class</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/mod_resource.html">Modify Resource Class</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/webapp.html">Deploy Service</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/test.html">Test</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_selected_1.3', '../skin/')" id="menu_selected_1.3Title" class="menutitle" style="background-image: url('../skin/images/chapter_open.gif');">Developer Guide</div>
+<div id="menu_selected_1.3" class="selectedmenuitemgroup" style="display: block;">
+<div class="menuitem">
+<a title="" href="../dev_guide/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/wsrf_wsdl.html">Composing a WSRF WSDL</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/wsdl_tool.html">Using Wsdl2Java</a>
+</div>
+<div class="menupage">
+<div class="menupagetitle">Service Class</div>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/resource.html">Resource Class</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/home.html">Home Class</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/callback.html">Callback Objects</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/metadata.html">Metadata Operations</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/singleton.html">Singleton Service</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/deploy.html">Deploying</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/client.html">Using the SOAP Client</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/validate.html">Schema Validation</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/debug.html">Logging</a>
+</div>
+</div>
+<div id="credit"></div>
+<div id="roundbottom">
+<img style="display: none" class="corner" height="15" width="15" alt="" src="../skin/images/rc-b-l-15-1body-2menu-3menu.png"></div>
+<!--+
+  |alternative credits
+  +-->
+</div>
+<!--+
+    |end Menu
+    +-->
+<!--+
+    |start content
+    +-->
+<div id="content">
+<div id="skinconf-txtlink"></div>
+<h1>Writing a Service Class</h1>
+<div id="minitoc-area">
+<ul class="minitoc">
+<li>
+<a href="#intro">Introduction</a>
+</li>
+<li>
+<a href="#classes">What classes will need to be written?</a>
+<ul class="minitoc">
+<li>
+<a href="#abstract">The AbstractService class</a>
+<ul class="minitoc">
+<li>
+<a href="#class-declaration">Class Declaration</a>
+</li>
+<li>
+<a href="#wsrfservice">WsrfService Interface</a>
+</li>
+<li>
+<a href="#classvars">Class Variables</a>
+</li>
+<li>
+<a href="#ops">Operations</a>
+</li>
+</ul>
+</li>
+<li>
+<a href="#service">The Service class</a>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+		
+<a name="N1000C"></a><a name="intro"></a>
+<h2 class="boxed">Introduction</h2>
+<div class="section">
+<p>The service class is the representation of your WSDL file as a Web service.
+       		The public methods in the service class correspond to the SOAP operations
+      			exposed by your Web service.
+      			</p>
+<p>If you use the Wsdl2Java tool, the service class is automatically generated and typically does not need to be modified. However; this section discusses how 
+			to write a service class if you choose to do so. Initially, you should model your service off of the included FileSystemService example to ensure that you write a 
+			valid service.</p>
+</div>
+		
+<a name="N10019"></a><a name="classes"></a>
+<h2 class="boxed">What classes will need to be written?</h2>
+<div class="section">
+<p>The provided example FileSystem includes a <span class="codefrag">FileSystemService</span> class.
+         		The FileSystemService extends <span class="codefrag">AbstractFileSystemService</span>, which contains
+        		any code which should not need to be altered. The abstract class mainly
+         		consists of the specification operations (i.e. <span class="codefrag">getMultipleResourceProperties</span>),
+        	 	while the service class which extends this class contains the "custom" operations.
+       		In the case of <span class="codefrag">FileSystemService</span>, the custom operations are <span class="codefrag">mount</span> and <span class="codefrag">unmount</span>.
+       		</p>
+<p> We recommend this structure for writing your service class, however you may write
+       		the service however you like. Our description will describe the use of the abstract
+       		class to separate the functionality.
+      			</p>
+<a name="N10037"></a><a name="abstract"></a>
+<h3 class="boxed">The AbstractService class</h3>
+<p>The abstract class is the superclass for your service and will contain most of the
+           			specification-specific operations and utility operations. Our description of writing
+          			 the class will be based on the <span class="codefrag">example.filesystem.AbstractFileSystemService</span> class.</p>
+<p>We will describe the class in sections:</p>
+<ol>
+					
+<li>
+						
+<a href="#class-declaration">Class Declaration</a>
+					
+</li>
+					
+<li>
+						
+<a href="#wsrfservice">WsrfService Interface</a>
+					
+</li>
+					
+<li>
+						
+<a href="#classvars">Class Variable</a>
+					
+</li>
+					
+<li>
+						
+<a href="#ops">Operations</a>
+					
+</li>
+				
+</ol>
+<a name="N10065"></a><a name="class-declaration"></a>
+<h4>Class Declaration</h4>
+<p>When declaring your abstract class, you must implement
+            				<span class="codefrag">org.apache.ws.resource.handler.WsrfService</span>. This interface provides
+                  			methods for initialization, obtaining the ResourceContext and getting the
+                  			SoapMethodNameMap used for mapping incoming request QName's to method name
+                  			for a given object. It basically ensures that Apache WSRF can interact with your
+                 			service class.
+          				</p>
+<p>The <span class="codefrag">AbstractFileSystemService</span> class declaration is as follows:</p>
+<pre class="code">
+						
+<strong> abstract class AbstractFileSystemService implements WsrfService,
+       GetResourcePropertyPortType,
+       GetMultipleResourcePropertiesPortType,
+       SetResourcePropertiesPortType,
+       QueryResourcePropertiesPortType,
+       ImmediateResourceTerminationPortType,
+       ScheduledResourceTerminationPortType</strong>
+					
+</pre>
+<p>You should notice that the class implements <span class="codefrag">WsrfService</span> (described above) and various *PortType
+             				inerfaces. Each PortType interface is a Java representation of a specification's WSDL portType
+             				declaration. By implementing the PortType interface corresponding to the specification-defined portTypes
+             				you are interested in, you will ensure you get the correct method signature for the method call. </p>
+<p>The packages:<strong>
+							<span class="codefrag">org.apache.ws.resource.properties.porttype</span>
+						</strong> and
+            				<strong>
+							<span class="codefrag">org.apache.ws.resource.lifetime.porttype</span>
+						</strong> contain the interfaces for the
+            				specifications. You should refer to these packages when selecting the operations you'd like
+           				to support.
+         				</p>
+<a name="N10094"></a><a name="wsrfservice"></a>
+<h4>WsrfService Interface</h4>
+<p>All Apache WSRF services must implement the <span class="codefrag">WsrfService</span> interface. The interface provides operation
+             				"hooks" which will allow Apache WSRF to interact with your service. There are currenty three operations defined
+            				 by the interface:</p>
+<pre class="code">   /**
+    * Returns the SoapMethodNameMap for the Service, to determine
+    * which method to invoke for an incoming request.
+    *
+    * @return SoapMethodNameMap
+    */
+   public SoapMethodNameMap getMethodNameMap(  );
+
+   /**
+    * Returns the ResourceContext for the given Service.
+    *
+    * @return ResourceContext
+    */
+   public ResourceContext getResourceContext(  );
+
+   /**
+    * Initialization method.
+    */
+   public void init(  );</pre>
+<p>The <span class="codefrag">getMethodNameMap()</span> returns a SoapMethodNameMap implementation which contains mappings of WSDL 
+					operation QNames to Java method names.  If you have custom operations you will need to create an instance of 
+					<span class="codefrag">ServiceSoapMethodName</span> and add mappings for your operations.
+					</p>
+<p>The <span class="codefrag">getResourceContext()</span> operation returns the ResourceContext associated with this service.  This method may be 
+					left abstract in this class and later implemented in the Service extension of your abstract class.
+					</p>
+<p>The<span class="codefrag"> init()</span> method is provided to give you an opportunity to initialize members for your Service 
+					(e.g. <span class="codefrag">ServiceSoapMethodName </span>)</p>
+<a name="N100BD"></a><a name="classvars"></a>
+<h4>Class Variables</h4>
+<p>The class variables which should be defined are:</p>
+<ol>
+						
+<li>
+							
+<strong>
+								<span class="codefrag">TARGET_NSURI</span>
+							</strong> - The target namespace of your sevice's WSDL file.</li>
+						
+<li>
+							
+<strong>
+								<span class="codefrag">TARGET_NSPREFIX</span>
+							</strong> - The target prefix to be associated with your service's namespace.</li>
+					
+</ol>
+<p>	In the <span class="codefrag">AbstractFileSystem</span> we have:</p>
+<pre class="code">public static final String TARGET_NSURI = "http://ws.apache.org/resource/example/filesystem";
+public static final String TARGET_NSPREFIX = "fs";</pre>
+<p>Notice the fields are <span class="codefrag">public static final</span> since they are constants that other classes may need to access.</p>
+<a name="N100EC"></a><a name="ops"></a>
+<h4>Operations</h4>
+<p>The operations which are defined in the abstract class should be operations which typically should not need to be touched.  The 
+					specification operations are a prime example.  Upon looking at the <span class="codefrag">AbstractFileSystem</span> class, we see the operations 
+					defined for methods like: <span class="codefrag">getMultipleResourceProperties(..)</span>.  The body of these methods are similar in that they hand the 
+					invocation off to a Provider class:
+					</p>
+<pre class="code">public GetMultipleResourcePropertiesResponseDocument getMultipleResourceProperties( GetMultipleResourcePropertiesDocument requestDoc )
+{
+      return new GetMultipleResourcePropertiesProvider( getResourceContext(  ) ).getMultipleResourceProperties( requestDoc );
+}</pre>
+<p>Notice the <span class="codefrag">GetMultipleResourcePropertiesProvider</span> class being used.  Providers are used to handle the specification 
+					method calls.  It provides a way to encapsulate the functionalty needed to handle a method call for a specific specification.  Each 
+					specification operation will have an equivalent *Provider class to handle a particular class.</p>
+<p>The packages:
+            				<strong>
+							<span class="codefrag">org.apache.ws.resource.properties.porttype.impl</span>
+						</strong> and
+            				<strong>
+							<span class="codefrag">org.apache.ws.resource.lifetime.porttype.impl</span>
+						</strong> contain the Providers for the methods of the specifications. 
+            				You should refer to these packages when implementing the specification operations.
+         				 </p>
+<a name="N10116"></a><a name="service"></a>
+<h3 class="boxed">The Service class</h3>
+<p>The service class is the extension of the abstract class we previously outlined.  Because of the extension you will need to implement the 
+				required method <span class="codefrag">getResourceContext()</span>.  The ResourceContext should be passed in the constructor to the class and be 
+				maintained as a class variable.
+				</p>
+<p>The Service class should contain any custom operations as were defined in the WSDL for the service.  The safest way to handle the 
+				parameters and return type of the methods is to simply use <span class="codefrag">XmlObject</span>:
+				</p>
+<pre class="code">   public XmlObject mount( XmlObject requestDoc )
+   {
+      try
+      {
+         return XmlObject.Factory.parse( "&lt;MountResponse /&gt;" );
+      }
+      catch ( XmlException xe )
+      {
+         throw new JAXRPCException( xe );
+      }
+   }
+        			</pre>
+<p>XmlBeans will generate strongly-typed objects for the types defined in the schema section of
+           			your WSDL document, and these types may be used, however if you are unsure which type will get
+           			passed to your operation, you can be sure it will implement the <span class="codefrag">XmlObject</span> interface, since
+          			 all XmlBeans implement this interface.</p>
+</div>
+	
+</div>
+<!--+
+    |end content
+    +-->
+<div class="clearboth">&nbsp;</div>
+</div>
+<div id="footer">
+<!--+
+    |start bottomstrip
+    +-->
+<div class="lastmodified">
+<script type="text/javascript"><!--
+document.write("Last Published: " + document.lastModified);
+//  --></script>
+</div>
+<div class="copyright">
+ Copyright &copy; 2004 The Apache Software Foundation.</div>
+<!--+
+    |end bottomstrip
+    +-->
+</div>
+</body>
+</html>

Added: webservices/wsrf/site/dev_guide/singleton.html
URL: http://svn.apache.org/viewcvs/webservices/wsrf/site/dev_guide/singleton.html?rev=230465&view=auto
==============================================================================
--- webservices/wsrf/site/dev_guide/singleton.html (added)
+++ webservices/wsrf/site/dev_guide/singleton.html Fri Aug  5 06:42:08 2005
@@ -0,0 +1,274 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<meta content="Apache Forrest" name="Generator">
+<meta name="Forrest-version" content="0.6">
+<meta name="Forrest-skin-name" content="pelt">
+<title>Creating a Singleton Service</title>
+<link type="text/css" href="../skin/basic.css" rel="stylesheet">
+<link media="screen" type="text/css" href="../skin/screen.css" rel="stylesheet">
+<link media="print" type="text/css" href="../skin/print.css" rel="stylesheet">
+<link type="text/css" href="../skin/profile.css" rel="stylesheet">
+<script src="../skin/getBlank.js" language="javascript" type="text/javascript"></script><script src="../skin/getMenu.js" language="javascript" type="text/javascript"></script><script src="../skin/fontsize.js" language="javascript" type="text/javascript"></script>
+<link rel="shortcut icon" href="../images/apache.ico">
+</head>
+<body onload="init()">
+<script type="text/javascript">ndeSetTextSize();</script>
+<div id="top">
+<!--+
+    |breadtrail
+    +-->
+<div class="breadtrail">
+<a href="http://www.apache.org/">apache</a> &gt; <a href="http://ws.apache.org">ws.apache</a><script src="../skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script>
+</div>
+<!--+
+    |header
+    +-->
+<div class="header">
+<!--+
+    |start group logo
+    +-->
+<div class="grouplogo">
+<a href="http://ws.apache.org/"><img class="logoImage" alt="Web Services" src="../images/ws-logo.gif"></a>
+</div>
+<!--+
+    |end group logo
+    +-->
+<!--+
+    |start Project Logo
+    +-->
+<div class="projectlogoA1">
+<a href="http://ws.apache.org/ws-fx/wsrf/"><img class="logoImage" alt="WSRF" src="../images/wsrf-logo.gif"></a>
+</div>
+<!--+
+    |end Project Logo
+    +-->
+<!--+
+    |start Tabs
+    +-->
+<ul id="tabs">
+<li>
+<a class="base-not-selected" href="../index.html">Project Info</a>
+</li>
+<li class="current">
+<a class="base-selected" href="../getting_started.html">Documentation</a>
+</li>
+<li>
+<a class="base-not-selected" href="../apidocs/index.html">API Docs</a>
+</li>
+</ul>
+<!--+
+    |end Tabs
+    +-->
+</div>
+</div>
+<div id="main">
+<div id="publishedStrip">
+<!--+
+    |start Subtabs
+    +-->
+<div id="level2tabs"></div>
+<!--+
+    |end Endtabs
+    +-->
+<script type="text/javascript" language="JavaScript"><!--
+              document.write("Published: " + document.lastModified);
+              //  --></script>
+</div>
+<!--+
+    |breadtrail
+    +-->
+<div class="breadtrail">
+             
+             &nbsp;
+           </div>
+<!--+
+    |start Menu, mainarea
+    +-->
+<!--+
+    |start Menu
+    +-->
+<div id="menu">
+<div onclick="SwitchMenu('menu_1.1', '../skin/')" id="menu_1.1Title" class="menutitle">Getting Started</div>
+<div id="menu_1.1" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../getting_started.html">Introduction</a>
+</div>
+<div class="menuitem">
+<a title="" href="../getting_started.html#install">Installation</a>
+</div>
+<div class="menuitem">
+<a title="" href="../getting_started.html#qd">Quick Demo</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.2', '../skin/')" id="menu_1.2Title" class="menutitle">Tutorial</div>
+<div id="menu_1.2" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../tutorial/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/setup.html">Create Workspace</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/wsdl.html">Create WSDL</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/wsdl2java.html">Run wsdl2Java Tool</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/mod_home.html">Modify Home Class</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/mod_resource.html">Modify Resource Class</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/webapp.html">Deploy Service</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/test.html">Test</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_selected_1.3', '../skin/')" id="menu_selected_1.3Title" class="menutitle" style="background-image: url('../skin/images/chapter_open.gif');">Developer Guide</div>
+<div id="menu_selected_1.3" class="selectedmenuitemgroup" style="display: block;">
+<div class="menuitem">
+<a title="" href="../dev_guide/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/wsrf_wsdl.html">Composing a WSRF WSDL</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/wsdl_tool.html">Using Wsdl2Java</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/service.html">Service Class</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/resource.html">Resource Class</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/home.html">Home Class</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/callback.html">Callback Objects</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/metadata.html">Metadata Operations</a>
+</div>
+<div class="menupage">
+<div class="menupagetitle">Singleton Service</div>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/deploy.html">Deploying</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/client.html">Using the SOAP Client</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/validate.html">Schema Validation</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/debug.html">Logging</a>
+</div>
+</div>
+<div id="credit"></div>
+<div id="roundbottom">
+<img style="display: none" class="corner" height="15" width="15" alt="" src="../skin/images/rc-b-l-15-1body-2menu-3menu.png"></div>
+<!--+
+  |alternative credits
+  +-->
+</div>
+<!--+
+    |end Menu
+    +-->
+<!--+
+    |start content
+    +-->
+<div id="content">
+<div id="skinconf-txtlink"></div>
+<h1>Creating a Singleton Service</h1>
+<div id="minitoc-area">
+<ul class="minitoc">
+<li>
+<a href="#Introduction">Introduction</a>
+</li>
+<li>
+<a href="#Create+a+Single+Instance">Create a Single Instance</a>
+</li>
+<li>
+<a href="#Modify+the+JNDI+Configuration+File">Modify the JNDI Configuration File</a>
+</li>
+</ul>
+</div>
+		
+<a name="N1000C"></a><a name="Introduction"></a>
+<h2 class="boxed">Introduction</h2>
+<div class="section">
+<p>You can create a singleton service if only a single instance of a resource is required. If a service is a singleton, no resource ID parameter is expected in the 
+			header of requests sent to the service. To create a singleton service, you must create a single instance of the resource in the generated home class and modify the deployed 
+			jndi-config.xml file.
+			</p>
+</div>
+		
+<a name="N10016"></a><a name="Create+a+Single+Instance"></a>
+<h2 class="boxed">Create a Single Instance</h2>
+<div class="section">
+<p>Resource instances are created in the service's home class. For a singleton, specify an identifier of <span class="codefrag">null</span> when you call <span class="codefrag">createInstance()</span>. This 
+			ensures that only a single instance of the resource is created. For example:</p>
+<pre class="code">public void init() throws Exception
+    {
+        super.init();
+        
+        HostResource host = (HostResource) createInstance( null );
+        add( host );
+    }			</pre>
+</div>
+		
+<a name="N1002A"></a><a name="Modify+the+JNDI+Configuration+File"></a>
+<h2 class="boxed">Modify the JNDI Configuration File</h2>
+<div class="section">
+<p>To update the JNDII configuration file for a singleton service:</p>
+<ol>
+				
+<li>Using a text editor, open <span class="codefrag">jndi-config.xml</span> in the <span class="codefrag">WEB-INF/classes</span> directory.</li>
+				
+<li>From the <span class="codefrag">&lt;service name="your_service"&gt;</span> block, remove the <span class="codefrag">resourceIdentifierReferenceParameterName</span> parameter. 
+				This parameter is not required for a singleton. Removing this entry ensures that Apache WSRF does not look for a resource id in the 
+				WS Addressing header.</li>
+				
+<li>Save and close jndi-config.xml.</li>
+				
+<li>Restart Tomcat if it is already started.
+				<div class="frame note">
+<div class="label">Note</div>
+<div class="content">The service entry in jndi-config is only present if the service has been deployed.</div>
+</div>
+				
+</li>
+			
+</ol>
+</div>
+	
+</div>
+<!--+
+    |end content
+    +-->
+<div class="clearboth">&nbsp;</div>
+</div>
+<div id="footer">
+<!--+
+    |start bottomstrip
+    +-->
+<div class="lastmodified">
+<script type="text/javascript"><!--
+document.write("Last Published: " + document.lastModified);
+//  --></script>
+</div>
+<div class="copyright">
+ Copyright &copy; 2004 The Apache Software Foundation.</div>
+<!--+
+    |end bottomstrip
+    +-->
+</div>
+</body>
+</html>

Added: webservices/wsrf/site/dev_guide/validate.html
URL: http://svn.apache.org/viewcvs/webservices/wsrf/site/dev_guide/validate.html?rev=230465&view=auto
==============================================================================
--- webservices/wsrf/site/dev_guide/validate.html (added)
+++ webservices/wsrf/site/dev_guide/validate.html Fri Aug  5 06:42:08 2005
@@ -0,0 +1,246 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<meta content="Apache Forrest" name="Generator">
+<meta name="Forrest-version" content="0.6">
+<meta name="Forrest-skin-name" content="pelt">
+<title>Schema Validation</title>
+<link type="text/css" href="../skin/basic.css" rel="stylesheet">
+<link media="screen" type="text/css" href="../skin/screen.css" rel="stylesheet">
+<link media="print" type="text/css" href="../skin/print.css" rel="stylesheet">
+<link type="text/css" href="../skin/profile.css" rel="stylesheet">
+<script src="../skin/getBlank.js" language="javascript" type="text/javascript"></script><script src="../skin/getMenu.js" language="javascript" type="text/javascript"></script><script src="../skin/fontsize.js" language="javascript" type="text/javascript"></script>
+<link rel="shortcut icon" href="../images/apache.ico">
+</head>
+<body onload="init()">
+<script type="text/javascript">ndeSetTextSize();</script>
+<div id="top">
+<!--+
+    |breadtrail
+    +-->
+<div class="breadtrail">
+<a href="http://www.apache.org/">apache</a> &gt; <a href="http://ws.apache.org">ws.apache</a><script src="../skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script>
+</div>
+<!--+
+    |header
+    +-->
+<div class="header">
+<!--+
+    |start group logo
+    +-->
+<div class="grouplogo">
+<a href="http://ws.apache.org/"><img class="logoImage" alt="Web Services" src="../images/ws-logo.gif"></a>
+</div>
+<!--+
+    |end group logo
+    +-->
+<!--+
+    |start Project Logo
+    +-->
+<div class="projectlogoA1">
+<a href="http://ws.apache.org/ws-fx/wsrf/"><img class="logoImage" alt="WSRF" src="../images/wsrf-logo.gif"></a>
+</div>
+<!--+
+    |end Project Logo
+    +-->
+<!--+
+    |start Tabs
+    +-->
+<ul id="tabs">
+<li>
+<a class="base-not-selected" href="../index.html">Project Info</a>
+</li>
+<li class="current">
+<a class="base-selected" href="../getting_started.html">Documentation</a>
+</li>
+<li>
+<a class="base-not-selected" href="../apidocs/index.html">API Docs</a>
+</li>
+</ul>
+<!--+
+    |end Tabs
+    +-->
+</div>
+</div>
+<div id="main">
+<div id="publishedStrip">
+<!--+
+    |start Subtabs
+    +-->
+<div id="level2tabs"></div>
+<!--+
+    |end Endtabs
+    +-->
+<script type="text/javascript" language="JavaScript"><!--
+              document.write("Published: " + document.lastModified);
+              //  --></script>
+</div>
+<!--+
+    |breadtrail
+    +-->
+<div class="breadtrail">
+             
+             &nbsp;
+           </div>
+<!--+
+    |start Menu, mainarea
+    +-->
+<!--+
+    |start Menu
+    +-->
+<div id="menu">
+<div onclick="SwitchMenu('menu_1.1', '../skin/')" id="menu_1.1Title" class="menutitle">Getting Started</div>
+<div id="menu_1.1" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../getting_started.html">Introduction</a>
+</div>
+<div class="menuitem">
+<a title="" href="../getting_started.html#install">Installation</a>
+</div>
+<div class="menuitem">
+<a title="" href="../getting_started.html#qd">Quick Demo</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.2', '../skin/')" id="menu_1.2Title" class="menutitle">Tutorial</div>
+<div id="menu_1.2" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../tutorial/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/setup.html">Create Workspace</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/wsdl.html">Create WSDL</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/wsdl2java.html">Run wsdl2Java Tool</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/mod_home.html">Modify Home Class</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/mod_resource.html">Modify Resource Class</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/webapp.html">Deploy Service</a>
+</div>
+<div class="menuitem">
+<a title="" href="../tutorial/test.html">Test</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_selected_1.3', '../skin/')" id="menu_selected_1.3Title" class="menutitle" style="background-image: url('../skin/images/chapter_open.gif');">Developer Guide</div>
+<div id="menu_selected_1.3" class="selectedmenuitemgroup" style="display: block;">
+<div class="menuitem">
+<a title="" href="../dev_guide/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/wsrf_wsdl.html">Composing a WSRF WSDL</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/wsdl_tool.html">Using Wsdl2Java</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/service.html">Service Class</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/resource.html">Resource Class</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/home.html">Home Class</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/callback.html">Callback Objects</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/metadata.html">Metadata Operations</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/singleton.html">Singleton Service</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/deploy.html">Deploying</a>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/client.html">Using the SOAP Client</a>
+</div>
+<div class="menupage">
+<div class="menupagetitle">Schema Validation</div>
+</div>
+<div class="menuitem">
+<a title="" href="../dev_guide/debug.html">Logging</a>
+</div>
+</div>
+<div id="credit"></div>
+<div id="roundbottom">
+<img style="display: none" class="corner" height="15" width="15" alt="" src="../skin/images/rc-b-l-15-1body-2menu-3menu.png"></div>
+<!--+
+  |alternative credits
+  +-->
+</div>
+<!--+
+    |end Menu
+    +-->
+<!--+
+    |start content
+    +-->
+<div id="content">
+<div id="skinconf-txtlink"></div>
+<h1>Schema Validation</h1>
+<div id="minitoc-area">
+<ul class="minitoc">
+<li>
+<a href="#intro">Introduction</a>
+</li>
+<li>
+<a href="#Disabling+Schema+Validation">Disabling Schema Validation</a>
+</li>
+</ul>
+</div>
+		
+<a name="N1000C"></a><a name="intro"></a>
+<h2 class="boxed">Introduction</h2>
+<div class="section">
+<p>All requests sent to the resource invocation framework are validated against any defined schemas types which have corresponding XMLBean classes located on the 
+			classpath. When validation fails, a fault that contains a detailed description of exactly what is wrong with the XM is returned to the client. Request validation is performed using 
+			XMLBeans, which uses an in-memory binary schema store. If the utmost performance is required, request validation can be disabled.
+			</p>
+</div>
+		
+<a name="N10016"></a><a name="Disabling+Schema+Validation"></a>
+<h2 class="boxed">Disabling Schema Validation</h2>
+<div class="section">
+<p>Schema validation is enabled by default. This means that all requests are validated. If you would like to disable this feature, you must set the 
+			<span class="codefrag">validateRequestXml</span> system property to <span class="codefrag">false</span>. The property must be set as a Java property before starting the container that is hosting 
+			Apache WSRF. For example:</p>
+<pre class="code">
+	-DvalidateRequestXml=false</pre>
+<p>If you are using Tomcat, you can set this property in the <span class="codefrag">JAVA_OPTS</span> variable before starting Tomcat. For example:</p>
+<pre class="code">
+	set JAVA_OPTS=-DvalidateRequestXml=false
+	catalina.bat run</pre>
+</div>
+	
+</div>
+<!--+
+    |end content
+    +-->
+<div class="clearboth">&nbsp;</div>
+</div>
+<div id="footer">
+<!--+
+    |start bottomstrip
+    +-->
+<div class="lastmodified">
+<script type="text/javascript"><!--
+document.write("Last Published: " + document.lastModified);
+//  --></script>
+</div>
+<div class="copyright">
+ Copyright &copy; 2004 The Apache Software Foundation.</div>
+<!--+
+    |end bottomstrip
+    +-->
+</div>
+</body>
+</html>



Mime
View raw message