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

    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.

    This program and the accompanying materials are made available under the
    terms of the Eclipse Public License v. 2.0, which is available at
    http://www.eclipse.org/legal/epl-2.0.

    This Source Code may also be made available under the following Secondary
    Licenses when the conditions for such availability set forth in the
    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
    version 2 with the GNU Classpath Exception, which is available at
    https://www.gnu.org/software/classpath/license.html.

    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0

-->

<webservices
  xmlns="http://java.sun.com/xml/ns/j2ee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:retailerNS="http://www.ws-i.org/SampleApplications/SupplyChainManagement/2002-08/Retailer.wsdl"
  xmlns:manufacturerNS="http://www.ws-i.org/SampleApplications/SupplyChainManagement/2002-10/Manufacturer.wsdl"
  xmlns:warehouseNS="http://www.ws-i.org/SampleApplications/SupplyChainManagement/2002-08/Warehouse.wsdl"
  xmlns:loggingNS="http://www.ws-i.org/SampleApplications/SupplyChainManagement/2002-08/LoggingFacility.wsdl"
  xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
                      http://www.ibm.com/webservices/xsd/j2ee_web_services_1_1.xsd"
  version="1.1">
  <description>WSI-Sample-Application-Description</description>
  <webservice-description>
    <webservice-description-name>RetailerDescription</webservice-description-name>
    <wsdl-file>WEB-INF/wsdl/RetailerImpl.wsdl</wsdl-file>
    <jaxrpc-mapping-file>retailer.xml.gz</jaxrpc-mapping-file>
    <port-component>
      <port-component-name>RetailerPort</port-component-name>
      <wsdl-port>retailerNS:RetailerPort</wsdl-port>
      <service-endpoint-interface>
        com.sun.wsi.scm.retailer.RetailerPortType
      </service-endpoint-interface>
      <service-impl-bean>
        <servlet-link>Retailer</servlet-link>
      </service-impl-bean>
    </port-component>
  </webservice-description>

  <webservice-description>
    <webservice-description-name>ManufacturerDescription</webservice-description-name>
    <wsdl-file>WEB-INF/wsdl/ManufacturerImpl.wsdl</wsdl-file>
    <jaxrpc-mapping-file>manufacturer.xml.gz</jaxrpc-mapping-file>

    <port-component>
      <port-component-name>ManufacturerAPort</port-component-name>
      <wsdl-port>manufacturerNS:ManufacturerAPort</wsdl-port>
      <service-endpoint-interface>
        com.sun.wsi.scm.manufacturer.ManufacturerPortType
      </service-endpoint-interface>
      <service-impl-bean>
        <servlet-link>ManufacturerA</servlet-link>
      </service-impl-bean>
    </port-component>
    <port-component>
      <port-component-name>ManufacturerBPort</port-component-name>
      <wsdl-port>manufacturerNS:ManufacturerBPort</wsdl-port>
      <service-endpoint-interface>
        com.sun.wsi.scm.manufacturer.ManufacturerPortType
      </service-endpoint-interface>
      <service-impl-bean>
        <servlet-link>ManufacturerB</servlet-link>
      </service-impl-bean>
    </port-component>
    <port-component>
      <port-component-name>ManufacturerCPort</port-component-name>
      <wsdl-port>manufacturerNS:ManufacturerCPort</wsdl-port>
      <service-endpoint-interface>
        com.sun.wsi.scm.manufacturer.ManufacturerPortType
      </service-endpoint-interface>
      <service-impl-bean>
        <servlet-link>ManufacturerC</servlet-link>
      </service-impl-bean>
    </port-component>
    <port-component>
      <port-component-name>WarehouseCallbackPort</port-component-name>
      <wsdl-port>manufacturerNS:WarehouseCallbackPort</wsdl-port>
      <service-endpoint-interface>
        com.sun.wsi.scm.manufacturer.WarehouseCallbackPortType
      </service-endpoint-interface>
      <service-impl-bean>
        <servlet-link>Warehouse_Callback</servlet-link>
      </service-impl-bean>
    </port-component>
  </webservice-description>

  <webservice-description>
    <webservice-description-name>WarehouseDescription</webservice-description-name>
    <wsdl-file>WEB-INF/wsdl/WarehouseImpl.wsdl</wsdl-file>
    <jaxrpc-mapping-file>warehouse.xml.gz</jaxrpc-mapping-file>

    <port-component>
      <port-component-name>WarehouseAPort</port-component-name>
      <wsdl-port>warehouseNS:WarehouseAPort</wsdl-port>
      <service-endpoint-interface>
        com.sun.wsi.scm.warehouse.WarehouseShipmentsPortType
      </service-endpoint-interface>
      <service-impl-bean>
        <servlet-link>WarehouseA</servlet-link>
      </service-impl-bean>
    </port-component>
    <port-component>
      <port-component-name>WarehouseBPort</port-component-name>
      <wsdl-port>warehouseNS:WarehouseBPort</wsdl-port>
      <service-endpoint-interface>
        com.sun.wsi.scm.warehouse.WarehouseShipmentsPortType
      </service-endpoint-interface>
      <service-impl-bean>
        <servlet-link>WarehouseB</servlet-link>
      </service-impl-bean>
    </port-component>
    <port-component>
      <port-component-name>WarehouseCPort</port-component-name>
      <wsdl-port>warehouseNS:WarehouseCPort</wsdl-port>
      <service-endpoint-interface>
        com.sun.wsi.scm.warehouse.WarehouseShipmentsPortType
      </service-endpoint-interface>
      <service-impl-bean>
        <servlet-link>WarehouseC</servlet-link>
      </service-impl-bean>
    </port-component>
  </webservice-description>

  <webservice-description>
    <webservice-description-name>LoggingDescription</webservice-description-name>
    <wsdl-file>WEB-INF/wsdl/LoggingFacilityImpl.wsdl</wsdl-file>
    <jaxrpc-mapping-file>logging.xml.gz</jaxrpc-mapping-file>
    <port-component>
      <port-component-name>LoggingFacilityPort</port-component-name>
      <wsdl-port>loggingNS:LoggingFacilityPort</wsdl-port>
      <service-endpoint-interface>
        com.sun.wsi.scm.logging.LoggingFacilityLogPortType
      </service-endpoint-interface>
      <service-impl-bean>
        <servlet-link>Logging</servlet-link>
      </service-impl-bean>
    </port-component>
  </webservice-description>
</webservices>
