<?xml version="1.0" encoding="UTF-8"?>
	<!--
		/* * Copyright 2001-2004 The Apache Software Foundation. * * Licensed
		under the Apache License, Version 2.0 (the "License"); * you may not
		use this file except in compliance with the License. * You may obtain
		a copy of the License at * *
		http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by
		applicable law or agreed to in writing, software * distributed under
		the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES
		OR CONDITIONS OF ANY KIND, either express or implied. * See the
		License for the specific language governing permissions and *
		limitations under the License. */
	-->
<!DOCTYPE web-app PUBLIC
        "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
        "http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>

	<display-name>jUDDI</display-name>
	<description>
		jUDDI is Java-based implementation of an UDDI version 3.0 registry.
    </description>
	<listener>
		 <!-- this class setups the encryption key for the session-->
    <listener-class>org.apache.juddi.adminconsole.StartupServlet</listener-class>
    
  </listener>
	<servlet>
		<servlet-name>RegistryServlet</servlet-name>
		<display-name>Registry Servlet</display-name>
		<servlet-class>org.apache.juddi.servlets.RegistryServlet</servlet-class>
		<load-on-startup>1</load-on-startup>
	</servlet>

	<servlet>
		<servlet-name>NotifyServlet</servlet-name>
		<display-name>Notify Servlet</display-name>
		<servlet-class>
			org.apache.juddi.servlets.NotifyServlet
    </servlet-class>
		<load-on-startup>1</load-on-startup>
	</servlet>

	<servlet>
		<servlet-name>InquiryService</servlet-name>
		<servlet-class>org.apache.juddi.api.impl.UDDIInquiryImpl</servlet-class>
	</servlet>
	
	<servlet>
		<servlet-name>InquiryServicev2</servlet-name>
		<servlet-class>org.apache.juddi.api.impl.UDDIv2InquiryImpl</servlet-class>
	</servlet>

	<servlet>
		<servlet-name>PublicationService</servlet-name>
		<servlet-class>org.apache.juddi.api.impl.UDDIPublicationImpl</servlet-class>
	</servlet>
	<servlet>
		<servlet-name>PublicationServicev2</servlet-name>
		<servlet-class>org.apache.juddi.api.impl.UDDIv2PublishImpl</servlet-class>
	</servlet>

	<servlet>
		<servlet-name>ReplicationService</servlet-name>
		<servlet-class>org.apache.juddi.api.impl.UDDIReplicationImpl</servlet-class>
	</servlet>

	<servlet>
		<servlet-name>SecurityService</servlet-name>
		<servlet-class>org.apache.juddi.api.impl.UDDISecurityImpl</servlet-class>
	</servlet>

	<servlet>
		<servlet-name>SubscriptionService</servlet-name>
		<servlet-class>org.apache.juddi.api.impl.UDDISubscriptionImpl</servlet-class>
	</servlet>

	<servlet>
		<servlet-name>SubscriptionListenerService</servlet-name>
		<servlet-class>org.apache.juddi.api.impl.UDDISubscriptionListenerImpl</servlet-class>
	</servlet>

	 <servlet>
		<servlet-name>CustodyTransferService</servlet-name>
		<servlet-class>org.apache.juddi.api.impl.UDDICustodyTransferImpl</servlet-class>
	</servlet>

	<servlet>
		<servlet-name>JUDDIApiService</servlet-name>
		<servlet-class>org.apache.juddi.api.impl.JUDDIApiImpl</servlet-class>
	</servlet>

	<servlet-mapping>
		<servlet-name>NotifyServlet</servlet-name>
		<url-pattern>/notify/*</url-pattern>
	</servlet-mapping>

	<servlet-mapping>
		<servlet-name>InquiryService</servlet-name>
		<url-pattern>/services/inquiry</url-pattern>
	</servlet-mapping>
	<servlet-mapping>
		<servlet-name>InquiryServicev2</servlet-name>
		<url-pattern>/services/inquiryv2</url-pattern>
	</servlet-mapping>
	
	<servlet-mapping>
		<servlet-name>PublicationService</servlet-name>
		<url-pattern>/services/publish</url-pattern>
	</servlet-mapping>
	<servlet-mapping>
		<servlet-name>PublicationServicev2</servlet-name>
		<url-pattern>/services/publishv2</url-pattern>
	</servlet-mapping>

	<servlet-mapping>
		<servlet-name>ReplicationService</servlet-name>
		<url-pattern>/services/replication</url-pattern>
	</servlet-mapping>

	<servlet-mapping>
		<servlet-name>SecurityService</servlet-name>
		<url-pattern>/services/security</url-pattern>
	</servlet-mapping>

	<servlet-mapping>
		<servlet-name>SubscriptionService</servlet-name>
		<url-pattern>/services/subscription</url-pattern>
	</servlet-mapping>

	<servlet-mapping>
		<servlet-name>SubscriptionListenerService</servlet-name>
		<url-pattern>/services/subscription-listener</url-pattern>
	</servlet-mapping>

	<servlet-mapping>
		<servlet-name>CustodyTransferService</servlet-name>
		<url-pattern>/services/custody-transfer</url-pattern>
	</servlet-mapping>

	<servlet-mapping>
		<servlet-name>JUDDIApiService</servlet-name>
		<url-pattern>/services/juddi-api</url-pattern>
	</servlet-mapping>

	<welcome-file-list id="WelcomeFileList">
		<welcome-file>index.jsp</welcome-file>
		<welcome-file>index.html</welcome-file>
	</welcome-file-list>
        <security-constraint>
              <display-name>jUDDI Admin content</display-name>
              <web-resource-collection>
                  <web-resource-name>admin</web-resource-name>
                  <url-pattern>/admin/*</url-pattern>


              </web-resource-collection>
              <auth-constraint>
                  <role-name>uddiadmin</role-name>
              </auth-constraint>
              <!-- uncomment to require SSL <user-data-constraint>
                <transport-guarantee>CONFIDENTIAL</transport-guarantee>
              </user-data-constraint>
              -->
          </security-constraint>
            <login-config> 
                    <auth-method>BASIC</auth-method> 
                    <!-- you should consider NOT using BASIC is favor of something more secure, see your web app servers documentation for details -->
                    <realm-name>Apache jUDDI - Make sure you're using HTTPS!</realm-name> 
              </login-config> 
          <security-role>
              <role-name>uddiadmin</role-name>
          </security-role>
</web-app>
    
