cancel
Showing results for 
Search instead for 
Did you mean: 

Why am I getting INVALID_WSDL: Expected element '{http://schemas.xmlsoap.org/wsdl/}definitions error

SOLVED
Occasional Contributor

Why am I getting INVALID_WSDL: Expected element '{http://schemas.xmlsoap.org/wsdl/}definitions error

Below is the definitions section of my .wsdl.  It clearly has the attribute that SoupUI asserts as missing.  What am I doing wrong?

 

<definitions xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:wsp="http://www.w3.org/ns/ws-policy"
xmlns:tns="https://test.connect.boomi.com/ws/soap"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:wsp1_2="http://schemas.xmlsoap.org/ws/2004/09/policy"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
targetNamespace="https://test.connect.boomi.com/ws/soap"
name="TestResultsService">

1 ACCEPTED SOLUTION

Accepted Solutions
Highlighted
Community Hero

Re: Why am I getting INVALID_WSDL: Expected element '{http://schemas.xmlsoap.org/wsdl/}definitions e

Hi,

 

The first thing I do before I try importing a .wsdl is to check that it's wellformed and schema valid.  If the file is malformed xml or invalid, this will cause problems.

 

I had a quick look (after Id removed those annoying emojis that automatically generate) and noticed 2 instances of you referencing elements to the ns1 namespace - but the namespace declarations immediately below the prolog dont include a namespace with the identifier ns1.

 

Once I'd fixed that - I pointed them to the tns namespace as I think that's what they should be pointing at - I started finding more schema invalid issues.  Each one I tried fixing just lead onto another - I'm sorry - I don't know what your .wsdl is supposed to look like to fix all the issues I'm afraid

 

You'll need to fix these before the .wsdl can be loaded into SoapUI - this is why you're getting the invalid wsdl error - the file is schema invalid.

 

I suggest you go back to whoever supplied the .wsdl and ask them to try and validate it, then they'll see the various problems I found that will need to be fixed before this can successfully be loaded into SoapUI.

 

Sorry I can't be more help,

 

Cheers,

 

richie

if this helped answer the post, could you please mark it as 'solved'? Also if you consider whether the title of your post is relevant? Perhaps if the post is solved, it might make sense to update the Subject header field of the post to something more descriptive? This will help people when searching for problems. Ta

View solution in original post

10 REPLIES 10
Highlighted

Re: Why am I getting INVALID_WSDL: Expected element '{http://schemas.xmlsoap.org/wsdl/}definitions e

Hey there,

 

1) What version of ReadyAPI/SoapUI are you using?

2) Could you upload your .wsdl file and any error logs?

 

Best,

Calvin

Highlighted
Occasional Contributor

Re: Why am I getting INVALID_WSDL: Expected element '{http://schemas.xmlsoap.org/wsdl/}definitions e

SoapUI 5.4.0

Highlighted
Occasional Contributor

Re: Why am I getting INVALID_WSDL: Expected element '{http://schemas.xmlsoap.org/wsdl/}definitions e

 
Highlighted

Re: Why am I getting INVALID_WSDL: Expected element '{http://schemas.xmlsoap.org/wsdl/}definitions e

 Hey Mickey, I think your upload may have failed. Could you try again? Alternatively, you can create a support ticket and attach your files at https://support.smartbear.com/message/?prod=ReadyAPI

 

Best,

Calvin

Highlighted
Occasional Contributor

Re: Why am I getting INVALID_WSDL: Expected element '{http://schemas.xmlsoap.org/wsdl/}definitions e

<definitions xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:wsp="http://www.w3.org/ns/ws-policy"
xmlns:tns="https://test.connect.boomi.com/ws/soap"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:wsp1_2="http://schemas.xmlsoap.org/ws/2004/09/policy"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
targetNamespace="https://test.connect.boomi.com/ws/soap"
name="TestResultsService">
<types>
<xs:schema xmlns:tns="https://test.connect.boomi.com/ws/soap"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"
version="1.0"
targetNamespace="https://test.connect.boomi.com/ws/soap">

<xs:element name="Response" type="tns:response"/>
<xs:element name="TestResult" type="tns:testResult"/>
<xs:element name="TestResults" type="tns:testResults"/>
<xs:element name="testCitation" type="tns:testCitation"/>
<xs:element name="testProperty" type="tns:testProperty"/>
<xs:complexType name="testResults">
<xs:sequence>
<xs:element ref="tns:TestResult" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="testResult">
<xs:sequence>
<xs:element name="requestId" type="xs:int" default="0" />
<xs:element name="testResultId" type="xs:int" default="0" />
<xs:element name="labOrgId" type="xs:int" default="0" />
<xs:element name="labBuyerNumber" type="xs:string" minOccurs="0"/>
<xs:element name="buyerOrgId" type="xs:int" default="0" />
<xs:element name="reportNumber" type="xs:string" minOccurs="1"/>
<xs:element name="productDescription" type="xs:string" minOccurs="1"/>
<xs:element name="supplierItemNumber" type="xs:string" minOccurs="1"/>
<xs:element name="departmentNumber" type="xs:string" minOccurs="0"/>
<xs:element name="supplierId" type="xs:string" minOccurs="1"/>
<xs:element name="factoryId" type="xs:string" minOccurs="0"/>
<xs:element name="vendorNumber" type="xs:string" minOccurs="1"/>
<xs:element name="buyerItemNumbers" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="buyerItemNumber" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="UPCNumbers" minOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="UPCNumber" type="xs:string" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="countryOfOrigin" type="xs:string" minOccurs="0"/>
<xs:element name="productSource" type="xs:string" minOccurs="0"/>
<xs:element name="purchaseOrderNumber" type="xs:string" minOccurs="0"/>
<xs:element name="overallRating" type="tnsSmiley TongueassFail" minOccurs="1"/>
<xs:element name="executiveSummary" type="xs:string" minOccurs="0"/>
<xs:element name="conditionalApproval" type="xs:string" minOccurs="0"/>
<xs:element name="testCitations" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element ref="tns:testCitation" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="importerOfRecord" type="xs:string" minOccurs="0"/>
<xs:element name="factoryName" type="xs:string" minOccurs="0"/>
<xs:element name="factoryFullAddress" type="xs:string" minOccurs="0"/>
<xs:element name="factoryAddress" type="xs:string" minOccurs="0"/>
<xs:element name="factoryCity" type="xs:string" minOccurs="0"/>
<xs:element name="factoryState" type="xs:string" minOccurs="0"/>
<xs:element name="factoryPostCode" type="xs:string" minOccurs="0"/>
<xs:element name="factoryCountryCode" type="xs:string" minOccurs="0"/>
<xs:element name="factoryPhoneNumber" type="xs:string" minOccurs="0"/>
<xs:element name="factoryEmail" type="xs:string" minOccurs="0"/>
<xs:element name="vendorName" type="xs:string" minOccurs="0"/>
<xs:element name="vendorAddress" type="xs:string" minOccurs="0"/>
<xs:element name="vendorCity" type="xs:string" minOccurs="0"/>
<xs:element name="vendorState" type="xs:string" minOccurs="0"/>
<xs:element name="vendorPostCode" type="xs:string" minOccurs="0"/>
<xs:element name="vendorCountryCode" type="xs:string" minOccurs="0"/>
<xs:element name="vendorPhoneNumber" type="xs:string" minOccurs="0"/>
<xs:element name="vendorEmail" type="xs:string" minOccurs="0"/>
<xs:element name="labName" type="xs:string" minOccurs="0"/>
<xs:element name="labFullAddress" type="xs:string" minOccurs="0"/>
<xs:element name="labPhoneNumber" type="xs:string" minOccurs="0"/>
<xs:element name="dateManufactured" type="xs:date" minOccurs="0"/>
<xs:element name="dateOut" type="xs:date" minOccurs="0"/>
<xs:element name="testPhase" type="xs:string" minOccurs="0"/>
<xs:element name="isChildrensProduct" type="xs:boolean" default="false"/>
<xs:element name="fileName" type="xs:string" minOccurs="0"/>
<xs:element name="certificateRequired" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="certificate" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="meetsBuyerTestingRequirements" type="xs:boolean" default="false"/>
<xs:element name="testProperties" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element ref="tns:testProperty" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="testCitation">
<xs:sequence>
<xs:element name="citationId" type="xs:int" default="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="testProperty">
<xs:sequence>
<xs:element name="testPropertyId" type="xs:int" default="0"/>
<xs:element name="testResult" type="xs:string" minOccurs="0"/>
<xs:element name="federalStateRegulation" type="xs:boolean" default="false"/>
<xs:element name="industryVoluntaryStandards" type="xs:boolean" default="false"/>
<xs:element name="productSpecification" type="xs:boolean" default="false"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="response">
<xs:sequence>
<xs:element name="responseStatus" type="xs:string"/>
<xs:element name="errorCode" type="xs:int" default="0"/>
<xs:element name="errorDescription" type="xs:string" minOccurs="0"/>
<xs:element name="transactionId" type="xs:string" minOccurs="0"/>
<xs:element name="transactionUrl" type="xs:string" minOccurs="0"/>
<xs:element name="transactionDetail" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="PassFail">
<xs:restriction base="xs:string">
<xs:enumeration value="Pass"/>
<xs:enumeration value="Fail"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" version="1.0">
<xs:element name="updateTestResultComplete" type="tns:updateTestResultComplete"/>
<xs:element name="updateTestResultCompleteResponse" type="tns:updateTestResultCompleteResponse"/>
<xs:complexType name="updateTestResultComplete">
<xs:sequence>
<xs:element name="username" type="xs:string" minOccurs="0"/>
<xs:element name="password" type="xs:string" minOccurs="0"/>
<xs:element ref="ns1:TestResults" minOccurs="0"/>
<xs:element name="fileName" type="xs:string" minOccurs="0"/>
<xs:element name="fileData" type="xs:base64Binary" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="updateTestResultCompleteResponse">
<xs:sequence>
<xs:element name="updateTestResultCompleteResult" type="ns1:response" form="qualified" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
</types>
<message name="updateTestResultComplete">
<part name="parameters" element="tns:updateTestResultComplete"/>
</message>
<message name="updateTestResultCompleteResponse">
<part name="parameters" element="tns:updateTestResultCompleteResponse"/>
</message>
<portType name="TestResultsIngesterService">
<operation name="updateTestResultComplete">
<input message="tns:updateTestResultComplete"/>
<output message="tns:updateTestResultCompleteResponse"/>
</operation>
</portType>
<binding name="TestResultsPortBinding" type="tns:TestResultsIngesterService">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
<operation name="updateTestResultComplete">
<soapSmiley Surprisedperation soapAction=""/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
</binding>
<service name="TestResultsService">
<port name="TestResultsPort" binding="tns:TestResultsPortBinding">
<soap:address location="https://test.connect.boomi.com/ws/soap"/>
</port>
</service>
</definitions>

Highlighted

Re: Why am I getting INVALID_WSDL: Expected element '{http://schemas.xmlsoap.org/wsdl/}definitions e

Hello Mickey,

 

Thank you for your wsdl file. May I please have your error logs that I requested as well?

 

They should be located within the SoapUI bin directory (path should look like so: C:\Program Files\SmartBear\SoapUI-5.4.0\bin\soapui-errors.log)

 

Best,

Calvin

Highlighted
Occasional Contributor

Re: Why am I getting INVALID_WSDL: Expected element '{http://schemas.xmlsoap.org/wsdl/}definitions e

 
Highlighted

Re: Why am I getting INVALID_WSDL: Expected element '{http://schemas.xmlsoap.org/wsdl/}definitions e

Hi Mickey,

 

Thank you for the error log. Strangely I do not see the invalid_wsdl error in your error log. Does this error occur/pop up when you try to import your wsdl to SoapUI or something else perhaps like running it? Could you take a screenshot of this pop up? Could I also have you restart SoapUI, click on the error log on the bottom, import/run your wsdl file, then take a screenshot of the error that pops up please?

 

Best,

Calvin

Highlighted
Occasional Contributor

Re: Why am I getting INVALID_WSDL: Expected element '{http://schemas.xmlsoap.org/wsdl/}definitions e