<?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

-->

<definitions name="WebServiceServletTest" targetNamespace="urn:WebServiceTest" xmlns:tns="urn:WebServiceTest" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
  <types>
    <schema targetNamespace="urn:WebServiceTest" xmlns:tns="urn:WebServiceTest" xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns="http://www.w3.org/2001/XMLSchema">
      <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
      <complexType name="ArrayOfstring">
        <complexContent>
          <restriction base="soap11-enc:Array">
            <attribute ref="soap11-enc:arrayType" wsdl:arrayType="string[]"/></restriction></complexContent></complexType></schema></types>
  <message name="WebServiceTest_doTest">
    <part name="arrayOfString_1" type="tns:ArrayOfstring"/></message>
  <message name="WebServiceTest_doTestResponse">
    <part name="result" type="xsd:string"/></message>
  <portType name="WebServiceTest">
    <operation name="doTest" parameterOrder="arrayOfString_1">
      <input message="tns:WebServiceTest_doTest"/>
      <output message="tns:WebServiceTest_doTestResponse"/></operation></portType>
  <binding name="WebServiceTestBinding" type="tns:WebServiceTest">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="rpc"/>
    <operation name="doTest">
      <soap:operation soapAction=""/>
      <input>
        <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded" namespace="urn:WebServiceTest"/></input>
      <output>
        <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded" namespace="urn:WebServiceTest"/></output></operation></binding>
  <service name="WebServiceServletTest">
    <port name="WebServiceTestPort" binding="tns:WebServiceTestBinding">
      <soap:address location="REPLACE_WITH_ACTUAL_URL"/></port></service></definitions>
