I have a WSDL that was originally generated from a service in WebLogic
Workshop. It isn't validating, and I don't understand why. I'll attach
a slightly modified version of it at the end of this.
Line 76 (I mark that line below) has an error that says this:
"The input element is referencing an undefined message
'overrideRequest'. Check that the message name and namespace are correct
and that the message has been defined."
There are similar errors on lines 77, 80, and 81, and other errors
further on, because of these errors.
I'm sure that I'm making some mistake with namespaces or wsdl, but I'm
not sure what I'm doing wrong.
----------------
<?xml version='1.0' encoding='UTF-8'?>
<s0:definitions name="SampleServiceDefinitions"
targetNamespace="http://com/wamu/Sample"
xmlns=""
xmlns:s0="http://schemas.xmlsoap.org/wsdl/"
xmlns:tns="http://schemas.wamu.com/Sample.wsdl"
xmlns:ratings="http://schemas.wamu.com/2006/07/LoanSampleRequest"
xmlns:questions="http://schemas.wamu.com/2006/07/QuestionsRequest"
xmlns:s2="http://schemas.xmlsoap.org/wsdl/soap/">
<s0:types>
<xs:schema
targetNamespace="http://schemas.wamu.com/2006/07/LoanSampleRequest"
xmlns:ratings="http://schemas.wamu.com/2006/07/LoanSampleRequest"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="loanSampleRequest">
<xs:complexType>
<xs:sequence>
<xs:element ref="ratings:loanProperties"/>
</xs:sequence>
<xs:attribute name="modelVersion" type="xs:integer"
use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="loanSampleResponse">
<xs:complexType>
<xs:sequence>
<xs:element ref="ratings:loanProperties"/>
<xs:element ref="ratings:messages"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="loanProperties">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="ratings:property"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="property">
<xs:complexType>
<xs:sequence>
<xs:element ref="ratings:key"/>
<xs:element ref="ratings:value"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="key" type="xs:string"/>
<xs:element name="value" type="xs:string"/>
<xs:element name="messages">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0"
ref="ratings:message"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="message">
<xs:complexType mixed="true">
<xs:attribute name="level" type="xs:string"/>
<xs:attribute name="fieldName" type="xs:string"/>
</xs:complexType>
</xs:element>
</xs:schema>
</s0:types>
<s0:message name="overrideRequest">
<s0:part element="ratings:loanSampleRequest" name="parameters"/>
</s0:message>
<s0:message name="overrideRequestResponse">
<s0:part element="ratings:loanSampleResponse" name="parameters"/>
</s0:message>
<s0:message name="ratingsRequest">
<s0:part element="ratings:loanSampleRequest" name="parameters"/>
</s0:message>
<s0:message name="ratingsRequestResponse">
<s0:part element="ratings:loanSampleRequest" name="parameters"/>
</s0:message>
<s0:portType name="Sample">
<s0:operation name="overrideRequest" parameterOrder="parameters">
<s0:input message="overrideRequest"/> <!-- 76 -->
<s0:output message="tns:overrideRequestResponse"/>
</s0:operation>
<s0:operation name="ratingsRequest" parameterOrder="parameters">
<s0:input message="ratings:loanSampleRequest"/>
<s0:output message="ratings:loanSampleResponse"/>
</s0:operation>
</s0:portType>
<s0:binding name="SampleServiceSoapBinding" type="ratings:Sample">
<s2:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
<s0:operation name="overrideRequest">
<s2:operation soapAction="" style="document"/>
<s0:input>
<s2:body parts="parameters" use="literal"/>
</s0:input>
<s0:output>
<s2:body parts="parameters" use="literal"/>
</s0:output>
</s0:operation>
<s0:operation name="ratingsRequest">
<s2:operation soapAction="" style="document"/>
<s0:input>
<s2:body parts="parameters" use="literal"/>
</s0:input>
<s0:output>
<s2:body parts="parameters" use="literal"/>
</s0:output>
</s0:operation>
</s0:binding>
<s0:service name="SampleService">
<s0:port binding="ratings:SampleServiceSoapBinding"
name="SampleSoapPort">
<s2:address location="http://localhost:7001/Sample/Sample"/>
</s0:port>
</s0:service>
</s0:definitions>
----------------