<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.    
-->
<xs:schema version="1.0" targetNamespace="http://helloworld/external" xmlns:tns="http://helloworld/external" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="getGreetings" type="tns:getGreetings"/>

  <xs:element name="getGreetingsResponse" type="tns:getGreetingsResponse"/>

  <xs:complexType name="getGreetings">
    <xs:sequence>
      <xs:element name="name" type="xs:string" form="qualified" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="getGreetingsResponse">
    <xs:sequence>
      <xs:element name="getGreetingsReturn" type="xs:string" form="qualified" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>

