blob: db9ef622003d6895540dadad8ff44603f012c79d [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
xmlns:ns0="http://axis2.ode.apache.org/xsd"
xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
xmlns:ns1="http://axis2.ode.apache.org"
xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:odex="http://www.apache.org/ode/type/extension/http"
targetNamespace="http://axis2.ode.apache.org">
<wsdl:message name="helloRequest">
<wsdl:part name="TestPart" type="xs:string"/>
</wsdl:message>
<wsdl:message name="helloResponse">
<wsdl:part name="TestPart" type="xs:string"/>
</wsdl:message>
<wsdl:portType name="DummyServicePortType">
<wsdl:operation name="hello">
<wsdl:input message="ns1:helloRequest" wsaw:Action="urn:hello"/>
<wsdl:output message="ns1:helloResponse" wsaw:Action="urn:helloResponse"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="DummyServiceSOAP11Binding" type="ns1:DummyServicePortType">
<wsdl:documentation>
shouldFail # HttpbindingValidator should fail because this port used soap:binding
</wsdl:documentation>
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
<wsdl:operation name="hello">
<soap:operation soapAction="urn:hello" style="document"/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="bye">
<soap:operation soapAction="urn:hello" style="document"/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<!-- ###################################### -->
<!-- Supported HTTP Method tests-->
<!-- ###################################### -->
<wsdl:binding name="DummyServiceHttpBinding_get" type="ns1:DummyServicePortType">
<wsdl:documentation>
shouldPass # GET should be supported
</wsdl:documentation>
<http:binding verb="GET"/>
<wsdl:operation name="hello">
<http:operation location="DummyService/hello"/>
<wsdl:input>
<http:urlEncoded/>
</wsdl:input>
<wsdl:output>
<mime:content type="text/xml" part="TestPart"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:binding name="DummyServiceHttpBinding_post" type="ns1:DummyServicePortType">
<wsdl:documentation>
shouldPass # POST should be supported
</wsdl:documentation>
<http:binding verb="POST"/>
<wsdl:operation name="hello">
<http:operation location="DummyService/hello"/>
<wsdl:input>
<mime:content type="text/xml" part="TestPart"/>
</wsdl:input>
<wsdl:output>
<mime:content type="text/xml" part="TestPart"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:binding name="DummyServiceHttpBinding_delete" type="ns1:DummyServicePortType">
<wsdl:documentation>
shouldPass # DELETE should be supported
</wsdl:documentation>
<http:binding verb="DELETE"/>
<wsdl:operation name="hello">
<http:operation location="DummyService/hello"/>
<wsdl:input>
<http:urlEncoded/>
</wsdl:input>
<wsdl:output>
<mime:content type="text/xml" part="TestPart"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:binding name="DummyServiceHttpBinding_put" type="ns1:DummyServicePortType">
<wsdl:documentation>
shouldPass # PUT should be supported
</wsdl:documentation>
<http:binding verb="PUT"/>
<wsdl:operation name="hello">
<http:operation location="DummyService/hello"/>
<wsdl:input>
<mime:content type="text/xml" part="TestPart"/>
</wsdl:input>
<wsdl:output>
<mime:content type="text/xml" part="TestPart"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:binding name="DummyServiceHttpBinding_head" type="ns1:DummyServicePortType">
<wsdl:documentation>
shouldFail # only GET, DELETE, PUT, POST supported
</wsdl:documentation>
<http:binding verb="HEAD"/>
<wsdl:operation name="hello">
<http:operation location="DummyService/hello"/>
<wsdl:input>
<mime:content type="text/xml" part="TestPart"/>
</wsdl:input>
<wsdl:output>
<mime:content type="text/xml" part="TestPart"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<!-- ###################################### -->
<!-- PUT tests-->
<!-- ###################################### -->
<wsdl:binding name="DummyServiceHttpBinding_put+text/xml" type="ns1:DummyServicePortType">
<wsdl:documentation>
shouldPass # PUT+text/xml should be supported
</wsdl:documentation>
<http:binding verb="PUT"/>
<wsdl:operation name="hello">
<http:operation location="DummyService/hello"/>
<wsdl:input>
<mime:content type="text/xml" part="TestPart"/>
</wsdl:input>
<wsdl:output>
<mime:content type="text/xml" part="TestPart"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:binding name="DummyServiceHttpBinding_put+urlEncoded" type="ns1:DummyServicePortType">
<wsdl:documentation>
shouldPass # PUT should be able to use urlEncoded
</wsdl:documentation>
<http:binding verb="PUT"/>
<wsdl:operation name="hello">
<http:operation location="DummyService/hello"/>
<wsdl:input>
<http:urlEncoded/>
</wsdl:input>
<wsdl:output>
<mime:content type="text/xml" part="TestPart"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:binding name="DummyServiceHttpBinding_put+form-urlencoded" type="ns1:DummyServicePortType">
<wsdl:documentation>
shouldPass # application/x-www-form-urlencoded should be supported for PUT
</wsdl:documentation>
<http:binding verb="PUT"/>
<wsdl:operation name="hello">
<http:operation location="DummyService/hello"/>
<wsdl:input>
<mime:content type="application/x-www-form-urlencoded" part="TestPart"/>
</wsdl:input>
<wsdl:output>
<mime:content type="text/xml" part="TestPart"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<!-- ###################################### -->
<!-- POST tests-->
<!-- ###################################### -->
<wsdl:binding name="DummyServiceHttpBinding_post+text/xml" type="ns1:DummyServicePortType">
<wsdl:documentation>
shouldPass # POST+text/xml should be supported
</wsdl:documentation>
<http:binding verb="POST"/>
<wsdl:operation name="hello">
<http:operation location="DummyService/hello"/>
<wsdl:input>
<mime:content type="text/xml" part="TestPart"/>
</wsdl:input>
<wsdl:output>
<mime:content type="text/xml" part="TestPart"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:binding name="DummyServiceHttpBinding_post+urlEncoded" type="ns1:DummyServicePortType">
<wsdl:documentation>
shouldPass # POST should be able to use urlEncoded
</wsdl:documentation>
<http:binding verb="POST"/>
<wsdl:operation name="hello">
<http:operation location="DummyService/hello"/>
<wsdl:input>
<http:urlEncoded/>
</wsdl:input>
<wsdl:output>
<mime:content type="text/xml" part="TestPart"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:binding name="DummyServiceHttpBinding_post+form-urlencoded" type="ns1:DummyServicePortType">
<wsdl:documentation>
shouldPass # application/x-www-form-urlencoded should be supported for POST
</wsdl:documentation>
<http:binding verb="POST"/>
<wsdl:operation name="hello">
<http:operation location="DummyService/hello"/>
<wsdl:input>
<mime:content type="application/x-www-form-urlencoded" part="TestPart"/>
</wsdl:input>
<wsdl:output>
<mime:content type="text/xml" part="TestPart"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<!-- ###################################### -->
<!-- GET tests-->
<!-- ###################################### -->
<wsdl:binding name="DummyServiceHttpBinding_get+whatever-content-type" type="ns1:DummyServicePortType">
<wsdl:documentation>
shouldFail # GET only supports urlReplacement and urlEncoded
</wsdl:documentation>
<http:binding verb="GET"/>
<wsdl:operation name="hello">
<http:operation location="DummyService/hello"/>
<wsdl:input>
<mime:content type="text/xml" part="TestPart"/>
</wsdl:input>
<wsdl:output>
<mime:content type="text/xml" part="TestPart"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:binding name="DummyServiceHttpBinding_get+urlEncoded" type="ns1:DummyServicePortType">
<wsdl:documentation>
shouldPass # GET should support urlEncoded
</wsdl:documentation>
<http:binding verb="GET"/>
<wsdl:operation name="hello">
<http:operation location="DummyService/hello"/>
<wsdl:input>
<http:urlEncoded/>
</wsdl:input>
<wsdl:output>
<mime:content type="text/xml" part="TestPart"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<!-- ###################################### -->
<!-- DELETE tests-->
<!-- ###################################### -->
<wsdl:binding name="DummyServiceHttpBinding_delete+whatever-content-type" type="ns1:DummyServicePortType">
<wsdl:documentation>
shouldFail # DELETE only supports urlReplacement and urlEncoded
</wsdl:documentation>
<http:binding verb="DELETE"/>
<wsdl:operation name="hello">
<http:operation location="DummyService/hello"/>
<wsdl:input>
<mime:content type="text/xml" part="TestPart"/>
</wsdl:input>
<wsdl:output>
<mime:content type="text/xml" part="TestPart"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:binding name="DummyServiceHttpBinding_delete+urlEncoded" type="ns1:DummyServicePortType">
<wsdl:documentation>
shouldPass # DELETE should support urlEncoded
</wsdl:documentation>
<http:binding verb="DELETE"/>
<wsdl:operation name="hello">
<http:operation location="DummyService/hello"/>
<wsdl:input>
<http:urlEncoded/>
</wsdl:input>
<wsdl:output>
<mime:content type="text/xml" part="TestPart"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<!-- ###################################### -->
<!-- urlReplacement tests-->
<!-- ###################################### -->
<wsdl:binding name="DummyServiceHttpBinding_post+urlReplacement" type="ns1:DummyServicePortType">
<wsdl:documentation>
shouldPass # POST can use urlReplacement
</wsdl:documentation>
<http:binding verb="POST"/>
<wsdl:operation name="hello">
<http:operation location="DummyService/hello/(TestPart)"/>
<wsdl:input>
<http:urlReplacement/>
</wsdl:input>
<wsdl:output>
<mime:content type="text/xml" part="TestPart"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:binding name="DummyServiceHttpBinding_put+urlReplacement" type="ns1:DummyServicePortType">
<wsdl:documentation>
shouldPass # PUT can use urlReplacement
</wsdl:documentation>
<http:binding verb="PUT"/>
<wsdl:operation name="hello">
<http:operation location="DummyService/hello/(TestPart)"/>
<wsdl:input>
<http:urlReplacement/>
</wsdl:input>
<wsdl:output>
<mime:content type="text/xml" part="TestPart"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:binding name="DummyServiceHttpBinding_get+urlReplacement" type="ns1:DummyServicePortType">
<wsdl:documentation>
shouldPass # GET should support urlReplacement
</wsdl:documentation>
<http:binding verb="GET"/>
<wsdl:operation name="hello">
<http:operation location="DummyService/hello/(TestPart)"/>
<wsdl:input>
<http:urlReplacement/>
</wsdl:input>
<wsdl:output>
<mime:content type="text/xml" part="TestPart"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:binding name="DummyServiceHttpBinding_delete+urlReplacement" type="ns1:DummyServicePortType">
<wsdl:documentation>
shouldPass # DELETE should support urlReplacement
</wsdl:documentation>
<http:binding verb="DELETE"/>
<wsdl:operation name="hello">
<http:operation location="DummyService/hello/(TestPart)"/>
<wsdl:input>
<http:urlReplacement/>
</wsdl:input>
<wsdl:output>
<mime:content type="text/xml" part="TestPart"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:binding name="DummyServiceHttpBinding_get+urlReplacement+missing_part" type="ns1:DummyServicePortType">
<wsdl:documentation>
shouldPass # WSLD spec requires that all message parts must be in the url pattern when urlReplacement is used.
However ODE relaxes this.
</wsdl:documentation>
<http:binding verb="GET"/>
<wsdl:operation name="hello">
<http:operation location="DummyService/hello"/>
<wsdl:input>
<http:urlReplacement/>
</wsdl:input>
<wsdl:output>
<mime:content type="text/xml" part="TestPart"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<!-- ###################################### -->
<!-- Content-Type tests-->
<!-- ###################################### -->
<wsdl:binding name="DummyServiceHttpBinding_application/atom+xml-content-type" type="ns1:DummyServicePortType">
<wsdl:documentation>
shouldPass # Supported Content-Types are: application/x-www-form-urlencoded, text/*, application/xml, *+xml
</wsdl:documentation>
<http:binding verb="PUT"/>
<wsdl:operation name="hello">
<http:operation location="DummyService/hello"/>
<wsdl:input>
<mime:content type="application/atom+xml" part="TestPart"/>
</wsdl:input>
<wsdl:output>
<mime:content type="application/atom+xml" part="TestPart"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:binding name="DummyServiceHttpBinding_application/.*+xml-content-type" type="ns1:DummyServicePortType">
<wsdl:documentation>
shouldPass # Supported Content-Types are: application/x-www-form-urlencoded, text/*, application/xml, *+xml
</wsdl:documentation>
<http:binding verb="PUT"/>
<wsdl:operation name="hello">
<http:operation location="DummyService/hello"/>
<wsdl:input>
<mime:content type="application/atom+xml" part="TestPart"/>
</wsdl:input>
<wsdl:output>
<mime:content type="application/atom+xml" part="TestPart"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:binding name="DummyServiceHttpBinding_application/xml-*-content-type" type="ns1:DummyServicePortType">
<wsdl:documentation>
shouldPass # Supported Content-Types are: application/x-www-form-urlencoded, text/*, application/xml, *+xml
</wsdl:documentation>
<http:binding verb="PUT"/>
<wsdl:operation name="hello">
<http:operation location="DummyService/hello"/>
<wsdl:input>
<mime:content type="application/xml-dtd" part="TestPart"/>
</wsdl:input>
<wsdl:output>
<mime:content type="application/atom+xml" part="TestPart"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:binding name="DummyServiceHttpBinding_application/xml-content-type" type="ns1:DummyServicePortType">
<wsdl:documentation>
shouldPass # Supported Content-Types are: application/x-www-form-urlencoded, text/*, application/xml, *+xml
</wsdl:documentation>
<http:binding verb="PUT"/>
<wsdl:operation name="hello">
<http:operation location="DummyService/hello"/>
<wsdl:input>
<mime:content type="application/xml" part="TestPart"/>
</wsdl:input>
<wsdl:output>
<mime:content type="application/xml" part="TestPart"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:binding name="DummyServiceHttpBinding_text/plain-content-type" type="ns1:DummyServicePortType">
<wsdl:documentation>
shouldPass # Supported Content-Types are: application/x-www-form-urlencoded, text/*, application/xml, *+xml
</wsdl:documentation>
<http:binding verb="PUT"/>
<wsdl:operation name="hello">
<http:operation location="DummyService/hello"/>
<wsdl:input>
<mime:content type="text/plain" part="TestPart"/>
</wsdl:input>
<wsdl:output>
<mime:content type="text/plain" part="TestPart"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:binding name="DummyServiceHttpBinding_missing-content-type" type="ns1:DummyServicePortType">
<wsdl:documentation>
shouldFail # mime:content, type attribute is mandatory
</wsdl:documentation>
<http:binding verb="POST"/>
<wsdl:operation name="hello">
<http:operation location="DummyService/hello"/>
<wsdl:input>
<mime:content part="TestPart"/>
</wsdl:input>
<wsdl:output>
<mime:content part="TestPart"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:binding name="DummyServiceHttpBinding_empty-content-type" type="ns1:DummyServicePortType">
<wsdl:documentation>
shouldFail # mime:content, type attribute cannot be empty
</wsdl:documentation>
<http:binding verb="POST"/>
<wsdl:operation name="hello">
<http:operation location="DummyService/hello"/>
<wsdl:input>
<mime:content part="TestPart" type=""/>
</wsdl:input>
<wsdl:output>
<mime:content part="TestPart" type=""/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<!-- no <service> tags needed -->
</wsdl:definitions>