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

<!--
  ~ 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.
  -->

<definitions xmlns:mh="http://www.Monson-Haefel.com/jwsbook/BookQuote" xmlns="http://schemas.xmlsoap.org/wsdl/"
             xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
             targetNamespace="http://www.Monson-Haefel.com/jwsbook/BookQuote"
             xmlns:types="http://www.Monson-Haefel.com/jwsbook/BookQuote/xsd" name="BookQuote">
    <types>
    <xsd:schema elementFormDefault="qualified"
                targetNamespace="http://www.Monson-Haefel.com/jwsbook/BookQuote/xsd">
      <xsd:element name="faultElement" type="xsd:anyType"/>
    </xsd:schema>
  </types>
	<message name="BookQuote_getBookPrice">
		<part name="isbn" type="xsd:anyType"/>
		<part name="number" type="xsd:int"/>
	</message>
	<message name="BookQuote_getBookPriceResponse">
		<part name="result" type="xsd:anyType"/>
	</message>
	<message name="InvalidIsbnFault">
        <part name="message" element="types:faultElement"/>
	</message>
	<portType name="BookQuote">
		<operation name="getBookPrice">
			<input message="mh:BookQuote_getBookPrice"/>
			<output message="mh:BookQuote_getBookPriceResponse"/>
			<fault name="InvalidIsbnFault" message="mh:InvalidIsbnFault"/>
		</operation>
		<operation name="getBookPriceNonRobust">
			<input message="mh:BookQuote_getBookPrice"/>
			<output message="mh:BookQuote_getBookPriceResponse"/>
		</operation>
	</portType>
	<binding name="BookQuoteBinding" type="mh:BookQuote">
		<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
		<operation name="getBookPrice">
			<soap:operation soapAction="myAction"/>
			<input>
				<soap:body use="literal" namespace="http://www.Monson-Haefel.com/jwsbook/BookQuote/BookQuote"/>
			</input>
			<output>
				<soap:body use="literal" namespace="http://www.Monson-Haefel.com/jwsbook/BookQuote/BookQuote"/>
			</output>
			<fault name="InvalidIsbnFault">
				<soap:fault name="InvalidIsbnFault" use="literal"/>
			</fault>	
		</operation>
		<operation name="getBookPriceNonRobust">
			<soap:operation soapAction="myAction2"/>
			<input>
				<soap:body use="literal" namespace="http://www.Monson-Haefel.com/jwsbook/BookQuote/BookQuote"/>
			</input>
			<output>
				<soap:body use="literal" namespace="http://www.Monson-Haefel.com/jwsbook/BookQuote/BookQuote"/>
			</output>
		</operation>
	</binding>
	<service name="BookQuoteService">
		<port name="BookQuotePort" binding="mh:BookQuoteBinding">
			<soap:address location="http://www.Monson-Haefel.com/jwsbook/BookQuoteService"/>
		</port>
	</service>
</definitions>
