<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">

<!--
        Licensed to the Apache Software Foundation (ASF) under one
        or more contributor license agreements. See the NOTICE file
        distributed with this work for additional information
        regarding copyright ownership. The ASF licenses this file
        to you 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.
-->
<web-app>
  <context-param>
    <param-name>log4jConfigLocation</param-name>
    <param-value>/WEB-INF/classes/log4j.properties</param-value>
  </context-param>
  <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>UDDISecurityWS</servlet-name>
    <servlet-class>org.jboss.wsf.stack.cxf.CXFServletExt</servlet-class>
    <init-param>
      <param-name>jboss.ws.endpoint</param-name>
      <param-value>org.apache.juddi.api.impl.UDDISecurityImpl</param-value>
    </init-param>
  </servlet>
  <servlet>
    <servlet-name>UDDIPublishWS</servlet-name>
    <servlet-class>org.jboss.wsf.stack.cxf.CXFServletExt</servlet-class>
    <init-param>
      <param-name>jboss.ws.endpoint</param-name>
      <param-value>org.apache.juddi.api.impl.UDDIPublicationImpl</param-value>
    </init-param>
  </servlet>
  <servlet>
    <servlet-name>UDDIInquiryWS</servlet-name>
    <servlet-class>org.jboss.wsf.stack.cxf.CXFServletExt</servlet-class>
    <init-param>
      <param-name>jboss.ws.endpoint</param-name>
      <param-value>org.apache.juddi.api.impl.UDDIInquiryImpl</param-value>
    </init-param>
  </servlet>
  <servlet>
    <servlet-name>UDDIInquiryWSv2</servlet-name>
    <servlet-class>org.jboss.wsf.stack.cxf.CXFServletExt</servlet-class>
    <init-param>
      <param-name>jboss.ws.endpoint</param-name>
      <param-value>org.apache.juddi.api.impl.UDDIv2InquiryImpl</param-value>
    </init-param>
  </servlet>
   <servlet>
    <servlet-name>UDDIPublishWSv2</servlet-name>
    <servlet-class>org.jboss.wsf.stack.cxf.CXFServletExt</servlet-class>
    <init-param>
      <param-name>jboss.ws.endpoint</param-name>
      <param-value>org.apache.juddi.api.impl.UDDIv2PublishImpl</param-value>
    </init-param>
  </servlet>
  <servlet>
    <servlet-name>UDDISubscriptionWS</servlet-name>
    <servlet-class>org.jboss.wsf.stack.cxf.CXFServletExt</servlet-class>
    <init-param>
      <param-name>jboss.ws.endpoint</param-name>
      <param-value>org.apache.juddi.api.impl.UDDISubscriptionImpl</param-value>
    </init-param>
  </servlet>
  <servlet>
    <servlet-name>UDDISubscriptionListenerWS</servlet-name>
    <servlet-class>org.jboss.wsf.stack.cxf.CXFServletExt</servlet-class>
    <init-param>
      <param-name>jboss.ws.endpoint</param-name>
      <param-value>org.apache.juddi.api.impl.UDDISubscriptionListenerImpl</param-value>
    </init-param>
  </servlet>
  <servlet>
 
  <servlet>
    <servlet-name>UDDIReplicationWS</servlet-name>

    <servlet-class>org.jboss.wsf.stack.cxf.CXFServletExt</servlet-class>
    <init-param>
      <param-name>jboss.ws.endpoint</param-name>
      <param-value>org.apache.juddi.api.impl.UDDIReplicationImpl</param-value>

    </init-param>
  </servlet>

  <servlet>
    <servlet-name>UDDIValueSetWS</servlet-name>
    <servlet-class>org.jboss.wsf.stack.cxf.CXFServletExt</servlet-class>
    <init-param>
      <param-name>jboss.ws.endpoint</param-name>
      <param-value>org.apache.juddi.api.impl.UDDIValueSetValidationImpl</param-value>
    </init-param>
  </servlet>  
  
    <servlet>
    <servlet-name>UDDIValueSetCachingWS</servlet-name>

    <servlet-class>org.jboss.wsf.stack.cxf.CXFServletExt</servlet-class>
    <init-param>
      <param-name>jboss.ws.endpoint</param-name>
      <param-value>org.apache.juddi.api.impl.UDDIValueSetCachingImpl</param-value>

    </init-param>
  </servlet>  
    <servlet-name>UDDICustodyTransferWS</servlet-name>
    <servlet-class>org.jboss.wsf.stack.cxf.CXFServletExt</servlet-class>
    <init-param>
      <param-name>jboss.ws.endpoint</param-name>
      <param-value>org.apache.juddi.api.impl.UDDICustodyTransferImpl</param-value>
    </init-param>
  </servlet>
  <servlet>
    <servlet-name>JUDDIApiWS</servlet-name>
    <servlet-class>org.jboss.wsf.stack.cxf.CXFServletExt</servlet-class>
    <init-param>
      <param-name>jboss.ws.endpoint</param-name>
      <param-value>org.apache.juddi.api.impl.JUDDIApiImpl</param-value>
    </init-param>
  </servlet>
  <servlet-mapping>
    <servlet-name>UDDISecurityWS</servlet-name>
    <url-pattern>/services/security/*</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>UDDIPublishWS</servlet-name>
    <url-pattern>/services/publish/*</url-pattern>
  </servlet-mapping>
   <servlet-mapping>
    <servlet-name>UDDIValueSetCachingWS</servlet-name>
    <url-pattern>/services/valueset-caching/*</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>UDDIValueSetWS</servlet-name>
    <url-pattern>/services/valueset-validation/*</url-pattern>
  </servlet-mapping>
  
  <servlet-mapping>
    <servlet-name>UDDIReplicationWS</servlet-name>
    <url-pattern>/services/replication/*</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>UDDIPublishWSv2</servlet-name>
    <url-pattern>/services/publishv2/*</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>UDDIInquiryWS</servlet-name>
    <url-pattern>/services/inquiry/*</url-pattern>
  </servlet-mapping>
    <servlet-mapping>
    <servlet-name>UDDIInquiryWSv2</servlet-name>
    <url-pattern>/services/inquire/*</url-pattern>
  </servlet-mapping>
    <servlet-mapping>
    <servlet-name>UDDISubscriptionWS</servlet-name>
    <url-pattern>/services/subscription/*</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>UDDISubscriptionListenerWS</servlet-name>
    <url-pattern>/services/subscription-listener/*</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>UDDICustodyTransferWS</servlet-name>
    <url-pattern>/services/custody-transfer/*</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>JUDDIApiWS</servlet-name>
    <url-pattern>/services/juddi-api/*</url-pattern>
  </servlet-mapping>
  
  <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>
  
