<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema
  targetNamespace="http://www.jboss.com/xml/ns/javaee"
  xmlns:jboss="http://www.jboss.com/xml/ns/javaee"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  elementFormDefault="qualified"
  attributeFormDefault="unqualified"
  version="1.2">

  <xsd:element name="webservices" type="jboss:webservicesType"/>

  <xsd:complexType name="webservicesType">
    <xsd:sequence>
      <xsd:element name="context-root" type="xsd:token" minOccurs="0"/>
      <xsd:element name="config-name" type="xsd:token" minOccurs="0"/>
      <xsd:element name="config-file" type="xsd:token" minOccurs="0"/>
      <xsd:element name="property" type="jboss:webservicePropertyType" minOccurs="0" maxOccurs="unbounded"/>
      <xsd:element name="port-component" type="jboss:portComponentType" minOccurs="0" maxOccurs="unbounded"/>
      <xsd:element name="webservice-description" type="jboss:webserviceDescriptionType" minOccurs="0" maxOccurs="unbounded"/>
    </xsd:sequence>
  </xsd:complexType>

  <xsd:complexType name="portComponentType">
    <xsd:sequence>
      <xsd:element name="ejb-name" type="xsd:token"/>
      <xsd:element name="port-component-name" type="xsd:token"/>
      <xsd:element name="port-component-uri" type="xsd:token" minOccurs="0"/>
      <xsd:element name="auth-method" type="xsd:token" minOccurs="0"/>
      <xsd:element name="transport-guarantee" type="xsd:token" minOccurs="0"/>
      <xsd:element name="secure-wsdl-access" type="xsd:boolean" minOccurs="0"/>
    </xsd:sequence>
  </xsd:complexType>

  <xsd:complexType name="webserviceDescriptionType">
    <xsd:sequence>
      <xsd:element name="webservice-description-name" type="xsd:token"/>
      <xsd:element name="wsdl-publish-location" type="xsd:token" minOccurs="0"/>
      <xsd:element name="port-component" type="jboss:portComponentType" minOccurs="1" maxOccurs="unbounded"/>
    </xsd:sequence>
  </xsd:complexType>
  
  <xsd:complexType name="webservicePropertyType">
      <xsd:sequence>
         <xsd:element name="name" type="xsd:string"/>
         <xsd:element name="value" type="xsd:string"/>
      </xsd:sequence>
   </xsd:complexType>

</xsd:schema>
