<?xml version="1.0" encoding="UTF-8" ?>
<definitions targetNamespace="http://www.gbv.de/wsdl/webcatws-1.0"
	     xmlns="http://schemas.xmlsoap.org/wsdl/"
	     xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
	     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
	     xmlns:cat="http://www.gbv.de/wsdl/webcatws-1.0"
	     xmlns:typ="http://www.gbv.de/schema/webcatws-1.0">
  <types>
    <xsd:schema targetNamespace="http://www.gbv.de/schema/webcatws-1.0">
      <xsd:complexType name="get">
	<xsd:sequence>
	  <xsd:element name="userkey" type="xsd:string" />
	  <xsd:element name="password" type="xsd:string" />
	  <xsd:element name="dbsid" type="xsd:string" />
	  <xsd:element name="language" type="xsd:string" minOccurs="0" />
	  <xsd:element name="format" type="xsd:string" minOccurs="0" />
	  <xsd:element name="ppn" type="xsd:string" />
	</xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="create">
	<xsd:sequence>
	  <xsd:element name="userkey" type="xsd:string" />
	  <xsd:element name="password" type="xsd:string" />
	  <xsd:element name="dbsid" type="xsd:string" />
	  <xsd:element name="language" type="xsd:string" minOccurs="0" />
	  <xsd:element name="format" type="xsd:string" minOccurs="0" />
	  <xsd:element name="record" type="xsd:string" />
	  <xsd:element name="rectype" type="xsd:string" minOccurs="0" />
	</xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="update">
	<xsd:sequence>
	  <xsd:element name="userkey" type="xsd:string" />
	  <xsd:element name="password" type="xsd:string" />
	  <xsd:element name="dbsid" type="xsd:string" />
	  <xsd:element name="language" type="xsd:string" minOccurs="0" />
	  <xsd:element name="format" type="xsd:string" minOccurs="0" />
	  <xsd:element name="ppn" type="xsd:string" />
	  <xsd:element name="record" type="xsd:string" />
	  <xsd:element name="version" type="xsd:string" />
	</xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="delete">
	<xsd:sequence>
	  <xsd:element name="userkey" type="xsd:string" />
	  <xsd:element name="password" type="xsd:string" />
	  <xsd:element name="dbsid" type="xsd:string" />
	  <xsd:element name="language" type="xsd:string" minOccurs="0" />
	  <xsd:element name="ppn" type="xsd:string" />
	</xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="response">
	<xsd:sequence>
	  <xsd:element name="dbsid" type="xsd:string" />
	  <xsd:element name="ppn" type="xsd:string" />
	  <xsd:element name="format" type="xsd:string" />
	  <xsd:element name="record" type="xsd:string" />
	  <xsd:element name="version" type="xsd:string" />
	</xsd:sequence>
      </xsd:complexType>
    </xsd:schema>
  </types>

  <message name="get">
    <part name="get" type="typ:get" />
  </message>
  <message name="create">
    <part name="create" type="typ:create" />
  </message>
  <message name="update">
    <part name="update" type="typ:update" />
  </message>
  <message name="delete">
    <part name="delete" type="typ:delete" />
  </message>
  <message name="response">
    <part name="response" type="typ:response" />
  </message>
  <message name="error" />

  <portType name="webcat_porttype">
    <operation name="get">
      <input message="cat:get" />
      <output message="cat:response" />
      <fault name="error" message="cat:error" />
    </operation>
    <operation name="create">
      <input message="cat:create" />
      <output message="cat:response" />
      <fault name="error" message="cat:error" />
    </operation>
    <operation name="update">
      <input message="cat:update" />
      <output message="cat:response" />
      <fault name="error" message="cat:error" />
    </operation>
    <operation name="delete">
      <input message="cat:delete" />
      <output message="cat:response" />
      <fault name="error" message="cat:error" />
    </operation>
  </portType>

  <binding name="webcat_binding" type="cat:webcat_porttype">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
    <operation name="get">
      <soap:operation soapAction="get" />
      <input><soap:body use="literal" /></input>
      <output><soap:body use="literal" /></output>
      <fault name="error"><soap:fault name="error" use="literal" /></fault>
    </operation>
    <operation name="create">
      <soap:operation soapAction="create" />
      <input><soap:body use="literal" /></input>
      <output><soap:body use="literal" /></output>
      <fault name="error"><soap:fault name="error" use="literal" /></fault>
    </operation>
    <operation name="update">
      <soap:operation soapAction="update" />
      <input><soap:body use="literal" /></input>
      <output><soap:body use="literal" /></output>
      <fault name="error"><soap:fault name="error" use="literal" /></fault>
    </operation>
    <operation name="delete">
      <soap:operation soapAction="delete" />
      <input><soap:body use="literal" /></input>
      <output><soap:body use="literal" /></output>
      <fault name="error"><soap:fault name="error" use="literal" /></fault>
    </operation>
  </binding>

  <service name="webcat_service">
    <port name="webcat_port" binding="cat:webcat_binding">
      <soap:address location="http://cws.gbv.de/ws/webcatws" />
    </port>
  </service>
</definitions>
