Loading ...
Sorry, an error occurred while loading the content.

Re: [soapbuilders] What's wrong with my sample wsdl?

Expand Messages
  • Jim Murphy
    Looks like many QName links are broken. You have to link port to binding to portType to messages using QNames. Thats a namespace qualified name. The first
    Message 1 of 2 , Feb 18, 2007
    • 0 Attachment
      Looks like many QName links are broken. You have to link port to
      binding to portType to messages using QNames. Thats a namespace
      qualified name. The first example I found was the link from the
      service port to the binding. Notice the value of the binding
      attribute: "ratings:SampleServiceSoapBinding" The ratings namespace
      prefix is bound to the wrong namespace
      (http://schemas.wamu.com/2006/07/LoanSampleRequest). The binding you
      want is the one in the file, but it is defined in
      "http://com/wamu/Sample" - the targetNamespace for the document.

      In short figure out your namespaces and links. If you like grab a
      copy of SOAPscope[1] (my company) to validate your WSDL and find this
      error.

      Hope this Helps,

      Jim Murphy
      Mindreef, Inc.

      [1] http://www.mindreef.com/


      On 2/18/07, Karr, David <david.karr@...> wrote:
      > 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>
      > ----------------
      >
      >
      > -----------------------------------------------------------------
      > This group is a forum for builders of SOAP implementations to discuss implementation and interoperability issues. Please stay on-topic.
      > Yahoo! Groups Links
      >
      >
      >
      >
    Your message has been successfully submitted and would be delivered to recipients shortly.