<?xml version="1.0" encoding="UTF-8"?>
<ecore:EPackage xmi:version="2.0"
    xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="wsclient"
    nsURI="webservice_client.xmi" nsPrefix="org.eclipse.jst.j2ee.webservice.wsclient">
  <eClassifiers xsi:type="ecore:EClass" name="ServiceRef" eSuperTypes="common.ecore#//CompatibilityDescriptionGroup">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="The service-ref element declares a reference to a Web&#xD;&#xA;    service. It contains optional description, display name and&#xD;&#xA;    icons, a declaration of the required Service interface,&#xD;&#xA;    an optional WSDL document location, an optional set&#xD;&#xA;    of JAX-RPC mappings, an optional QName for the service element,&#xD;&#xA;    an optional set of Service Endpoint Interfaces to be resolved&#xD;&#xA;    by the container to a WSDL port, and an optional set of handlers."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="serviceInterface" lowerBound="1"
        eType="ecore:EClass ../../org.eclipse.jem/model/java.ecore#//JavaClass">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The service-interface element declares the fully qualified class&#xD;&#xA;        name of the JAX-RPC Service interface the client depends on.&#xD;&#xA;        In most cases the value will be javax.xml.rpc.Service.  A JAX-RPC&#xD;&#xA;        generated Service Interface class may also be specified."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="serviceRefName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The service-ref-name element declares logical name that the&#xD;&#xA;        components in the module use to look up the Web service. It&#xD;&#xA;        is recommended that all service reference names start with&#xD;&#xA;        &quot;service/&quot;."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="wsdlFile" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value=" The wsdl-file element contains the URI location of a WSDL file. The&#xD;&#xA;        location is relative to the root of the module."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="jaxrpcMappingFile" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The jaxrpc-mapping-file element contains the name of a file that&#xD;&#xA;        describes the JAX-RPC mapping between the Java interaces used by&#xD;&#xA;        the application and the WSDL description in the wsdl-file.  The&#xD;&#xA;        file name is a relative path within the module file."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="portComponentRefs" upperBound="-1"
        eType="#//PortComponentRef" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The port-component-ref element declares a client dependency&#xD;&#xA;        on the container for resolving a Service Endpoint Interface&#xD;&#xA;        to a WSDL port. It optionally associates the Service Endpoint&#xD;&#xA;        Interface with a particular port-component. This is only used&#xD;&#xA;        by the container for a Service.getPort(Class) method call."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="handlers" upperBound="-1"
        eType="#//Handler" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value=" Declares the handler for a port-component. Handlers can access the&#xD;&#xA;        init-param name/value pairs using the HandlerInfo interface. If&#xD;&#xA;        port-name is not specified, the handler is assumed to be associated&#xD;&#xA;        with all ports of the service."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="serviceQname" lowerBound="1"
        eType="ecore:EClass common.ecore#//QName" containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="PortComponentRef" eSuperTypes="common.ecore#//J2EEEObject">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="The port-component-ref element declares a client dependency&#xD;&#xA;    on the container for resolving a Service Endpoint Interface&#xD;&#xA;    to a WSDL port. It optionally associates the Service Endpoint&#xD;&#xA;    Interface with a particular port-component. This is only used&#xD;&#xA;    by the container for a Service.getPort(Class) method call."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="portComponentLink" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The port-component-link element links a port-component-ref to a&#xD;&#xA;        specific port-component required to be made available by a service&#xD;&#xA;        reference.&#xD;&#xA;&#xD;&#xA;        The value of a port-component-link must be the port-component-name&#xD;&#xA;        of a port-component in the same module or another module in the same&#xD;&#xA;        application unit. The syntax for specification follows the syntax&#xD;&#xA;        defined for ejb-link in the EJB 2.0 specification."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="serviceEndpointInterface"
        lowerBound="1" eType="ecore:EClass ../../org.eclipse.jem/model/java.ecore#//JavaClass">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The service-endpoint-interface element defines a fully qualified&#xD;&#xA;        Java class that represents the Service Endpoint Interface of a&#xD;&#xA;        WSDL port."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Handler" eSuperTypes="common.ecore#//CompatibilityDescriptionGroup">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="Declares the handler for a port-component. Handlers can access the&#xD;&#xA;    init-param name/value pairs using the HandlerInfo interface. If&#xD;&#xA;    port-name is not specified, the handler is assumed to be associated&#xD;&#xA;    with all ports of the service.&#xD;&#xA;&#xD;&#xA;    Used in: service-ref"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="handlerName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Defines the name of the handler. The name must be unique within the module."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="soapRoles" upperBound="-1"
        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The soap-role element contains a SOAP actor definition that the Handler will play as a role."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="portNames" upperBound="-1"
        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The port-name element defines the WSDL port-name that a handler should be associated with."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="handlerClass" lowerBound="1"
        eType="ecore:EClass ../../org.eclipse.jem/model/java.ecore#//JavaClass">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Defines a fully qualified class name for the handler implementation."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="initParams" upperBound="-1"
        eType="ecore:EClass common.ecore#//ParamValue" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="soapHeaders" upperBound="-1"
        eType="ecore:EClass common.ecore#//QName" containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="WebServicesClient" eSuperTypes="common.ecore#//J2EEEObject">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="@version J2EE1.4 deprecated"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="componentScopedRefs" upperBound="-1"
        eType="#//ComponentScopedRefs" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="serviceRefs" upperBound="-1"
        eType="#//ServiceRef" containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ComponentScopedRefs" eSuperTypes="common.ecore#//J2EEEObject">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="@version J2EE1.4 deprecated"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="componentName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="serviceRefs" lowerBound="1"
        upperBound="-1" eType="#//ServiceRef" containment="true"/>
  </eClassifiers>
</ecore:EPackage>
