2013-03-18 23 views
8

Tôi nhận được thông báo này khi cố gắng tạo dự án SoapUI mới và nhập WSDL cho Mô phỏng dịch vụ web. Thông báo lỗi có vẻ không đầy đủ vì nó không thực sự nói thẻ nào không bị đóng.Lỗi khi nhập WSDL trong SoapUI

Error loading [file:\C:\chad.wsdl]: org.apache.xmlbeans.XmlException: org.apache.xmlbeans.XmlException: error: does not close tag

Đây là WSDL:

<wsdl:definitions name="Chad" targetNamespace="http://www.examples.com/wsdl/Chad.wsdl" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://www.examples.com/wsdl/Chad.wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 

     <wsdl:message name="SayHiRequest"> 
      <wsdl:part name="text" type="xsd:string"/> 
     </wsdl:message> 
     <wsdl:message name="SayHiResponse"> 
      <wsdl:part name="text" type="xsd:string"/> 
     </wsdl:message> 

     <wsdl:portType name="Hello_PortType"> 
      <wsdl:operation name="sayHi"> 
      <wsdl:input message="tns:SayHiRequest"/> 
      <wsdl:output message="tns:SayHiResponse"/> 
      </wsdl:operation> 
     </wsdl:portType> 

     <wsdl:binding name="Hello_Binding" type="tns:Hello_PortType"> 
      <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> 
      <wsdl:operation name="sayHi"> 
       <soap:operation soapAction="sayHi"/> 
       <wsdl:input> 
       <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:examples:chadservice" use="encoded"/> 
       </wsdl:input> 
       <wsdl:output> 
       <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:examples:chadservice" use="encoded"/> 
       </wsdl:output> 
      </wsdl:operation> 
     </wsdl:binding> 

     <wsdl:service name="Hello_Service"> 
      <wsdl:documentation>WSDL File for HelloService</documentation> 
      <wsdl:port binding="tns:Hello_Binding" name="Hello_Port"> 
      <soap:address location="http://www.examples.com/chad/"/> 
      </wsdl:port> 
     </wsdl:service> 
    </wsdl:definitions> 

WSDL của tôi dường như để xác nhận.

Tôi đã tìm thấy một số vấn đề tương tự trực tuyến nơi wsdl được nhập từ url http và kết quả nhập trong cùng lỗi này, nhưng tôi đang nhập trực tiếp từ ổ C của tôi (không phải trên http) để các giải pháp được đề xuất có không làm việc.

Trả lời

2

Có một vấn đề không gian tên trong dòng sau

gốc dòng

<wsdl:documentation>WSDL File for HelloService</documentation> 

Thay đổi để

<wsdl:documentation>WSDL File for HelloService</wsdl:documentation> 

Dưới đây là wsdl cập nhật

<?xml version='1.0' encoding="UTF-8"?> 
<wsdl:definitions name="Chad" targetNamespace="http://www.examples.com/wsdl/Chad.wsdl" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://www.examples.com/wsdl/Chad.wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
     <wsdl:message name="SayHiRequest"> 
      <wsdl:part name="text" type="xsd:string"/> 
     </wsdl:message> 
     <wsdl:message name="SayHiResponse"> 
      <wsdl:part name="text" type="xsd:string"/> 
     </wsdl:message> 

     <wsdl:portType name="Hello_PortType"> 
      <wsdl:operation name="sayHi"> 
      <wsdl:input message="tns:SayHiRequest"/> 
      <wsdl:output message="tns:SayHiResponse"/> 
      </wsdl:operation> 
     </wsdl:portType> 

     <wsdl:binding name="Hello_Binding" type="tns:Hello_PortType"> 
      <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> 
      <wsdl:operation name="sayHi"> 
       <soap:operation soapAction="sayHi"/> 
       <wsdl:input> 
       <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:examples:chadservice" use="encoded"/> 
       </wsdl:input> 
       <wsdl:output> 
       <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:examples:chadservice" use="encoded"/> 
       </wsdl:output> 
      </wsdl:operation> 
     </wsdl:binding> 

     <wsdl:service name="Hello_Service"> 
      <wsdl:documentation>WSDL File for HelloService</wsdl:documentation> 
      <wsdl:port binding="tns:Hello_Binding" name="Hello_Port"> 
      <soap:address location="http://www.examples.com/chad/"/> 
      </wsdl:port> 
     </wsdl:service> 
    </wsdl:definitions> 
+1

Sử dụng công cụ xác thực trực tuyến [http://www.xmlvalidation.com] (http://www.xmlvalidation.com), ngay lập tức chỉ ra cùng một lỗi. – kabeleced

0

Tôi đã có thể tải WSDL trong soapUI 4.5.2 mà không gặp lỗi bạn nhận được. Mặc dù, tôi đã nhận được lỗi dưới đây.

Tue Aug 20 11:30:21 ADT 2013:ERROR:Could not find element [{https://something.com/service/types}IsAvailableRequest] specified in part [parameters] 
0

Tôi đã có những lỗi tương tự, nhưng một nguyên nhân khác nhau:

Instead of: 
https://sitename.com/prefix/app/services.asxm 

Use: 
https://sitename.com/prefix/app/services.asxm?WSDL 

tôi đã không được sử dụng SOAP trước và nó không phải là ngay lập tức rõ ràng rằng tôi đã mất tích WSDL từ url?. Chỉ đăng trong trường hợp bất kỳ ai khác có cùng một vấn đề.