<?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="HttpTestService"
	targetNamespace="http://httptestservice.org/wsdl" 
	xmlns:tns="http://httptestservice.org/wsdl" 
	xmlns="http://schemas.xmlsoap.org/wsdl/" 
	xmlns:ns="http://httptestservice.org/types" 
	xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
	xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
  <types>
    <schema targetNamespace="http://httptestservice.org/types" 
	xmlns:tns="http://httptestservice.org/types" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 
	xmlns="http://www.w3.org/2001/XMLSchema">
      <complexType name="HelloRequest">
        <sequence>
          <element name="string" type="string" nillable="true"/>
       </sequence>  
      </complexType>
      <complexType name="HelloResponse">
        <sequence>
          <element name="string" type="string" nillable="true"/>
        </sequence>
      </complexType>
      <complexType name="HelloOneWay">
        <sequence>
          <element name="string" type="string" nillable="true"/>
	</sequence>
      </complexType>
    </schema>
  </types>
  <message name="Hello_helloRequest">
    <part name="parameters" type="ns:HelloRequest"/>
  </message>
  <message name="Hello_helloResponse">
    <part name="result" type="ns:HelloResponse"/>
  </message>
  <message name="Hello_helloOneWay">
    <part name="parameters" type="ns:HelloOneWay"/>
  </message>
  <portType name="Hello">
    <operation name="hello">
      <input message="tns:Hello_helloRequest"/>
      <output message="tns:Hello_helloResponse"/>
    </operation>
    <operation name="helloOneWay">
      <input message="tns:Hello_helloOneWay"/>
    </operation>
  </portType>
  <binding name="HelloBinding" type="tns:Hello">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="rpc"/>
    <operation name="hello">
      <soap:operation soapAction=""/>
      <input>
        <soap:body use="literal" namespace="http://httptestservice.org/wsdl"/>
      </input>
      <output>
        <soap:body use="literal" namespace="http://httptestservice.org/wsdl"/>
      </output>
    </operation>
    <operation name="helloOneWay">
      <soap:operation soapAction=""/>
      <input>
        <soap:body use="literal" namespace="http://httptestservice.org/wsdl"/>
      </input>
    </operation>
  </binding>
  <service name="HttpTestService">
    <port name="HelloPort" binding="tns:HelloBinding">
      <soap:address location="http://HTTP_HOST:HTTP_PORT/wsdltojava/ws4ee"/>
    </port>
  </service>
</definitions>
