<?xml version="1.0" encoding="UTF-8"?>

<!--
  ~ JBoss, Home of Professional Open Source.
  ~ Copyright 2020, Red Hat, Inc., and individual contributors
  ~ as indicated by the @author tags. See the copyright.txt file in the
  ~ distribution for a full listing of individual contributors.
  ~
  ~ This is free software; you can redistribute it and/or modify it
  ~ under the terms of the GNU Lesser General Public License as
  ~ published by the Free Software Foundation; either version 2.1 of
  ~ the License, or (at your option) any later version.
  ~
  ~ This software is distributed in the hope that it will be useful,
  ~ but WITHOUT ANY WARRANTY; without even the implied warranty of
  ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  ~ Lesser General Public License for more details.
  ~
  ~ You should have received a copy of the GNU Lesser General Public
  ~ License along with this software; if not, write to the Free
  ~ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
  ~ 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  -->

<module xmlns="urn:jboss:module:1.5" name="javax.xml.rpc.api.internal">
    <!--
      This wrapper around the Jakarta XML RPC API classes is meant only for internal use
      by WildFly modules that have a compile time dependency on Jakarta XML RPC classes.
      WildFly does not provide a Jakarta XML RPC implementation and Jakarta XML RPC has been
      removed from EE 9. This module allows WildFly modules to internally
      depend on a module that may be implemented differently in an EE9 variant
      of WildFly, while leaving the javax.xml.rpc.api module that WF has
      exposed to deployments as a separate thing that can be dropped from the
      EE 9 variant.  See https://issues.redhat.com/browse/WFLY-14008
    -->
    <properties>
        <property name="jboss.api" value="private"/>
    </properties>
    <dependencies>
        <module name="javax.xml.rpc.api" export="true">
            <!-- Limit what this module provides to classes that we know
                 are used. -->
            <exports>
                <!-- EJB's SessionContext has a 'MessageContext getMessageContext' method -->
                <include path="javax/xml/rpc/handler/MessageContext*"/>
            </exports>
        </module>
    </dependencies>
</module>
