1
Ich habe folgende WSDL-Code für meine Web-applicaiton:WSDL-Komplex CVC Fehler
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns:tns="http://www.ebi.ac.uk/webservices/whatizit/ws"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns="http://schemas.xmlsoap.org/wsdl/"
targetNamespace="http://www.ebi.ac.uk/webservices/whatizit/ws" name="whatizit">
<types>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.ebi.ac.uk/webservices/whatizit/ws"
version="1.0">
<xs:element xmlns:ns1="http://www.ebi.ac.uk/webservices/whatizit/ws"
type="ns1:search" name="search" />
<xs:complexType name="search">
<xs:sequence>
<xs:element type="xs:string" minOccurs="0" name="pipelineName" />
<xs:element type="xs:string" minOccurs="0" name="query" />
<xs:element name="limit">
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:minInclusive value="0" />
<xs:maxExclusive value="10000" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:element xmlns:ns2="http://www.ebi.ac.uk/webservices/whatizit/ws"
type="ns2:searchResponse" name="searchResponse" />
<xs:complexType name="searchResponse">
<xs:sequence>
<xs:element type="xs:string" minOccurs="0" name="return" />
</xs:sequence>
</xs:complexType>
<xs:element xmlns:ns3="http://www.ebi.ac.uk/webservices/whatizit/ws"
type="ns3:WhatizitException" name="WhatizitException" />
<xs:complexType name="WhatizitException">
<xs:sequence>
<xs:element type="xs:string" minOccurs="0" name="message" />
</xs:sequence>
</xs:complexType>
<xs:element xmlns:ns4="http://www.ebi.ac.uk/webservices/whatizit/ws"
type="ns4:contact" name="contact" />
<xs:complexType name="contact">
<xs:sequence>
<xs:element type="xs:string" minOccurs="0" name="pipelineName" />
<xs:element type="xs:string" minOccurs="0" name="text" />
<xs:element type="xs:boolean" name="convertToHtml" />
</xs:sequence>
</xs:complexType>
<xs:element xmlns:ns5="http://www.ebi.ac.uk/webservices/whatizit/ws"
type="ns5:contactResponse" name="contactResponse" />
<xs:complexType name="contactResponse">
<xs:sequence>
<xs:element type="xs:string" minOccurs="0" name="return" />
</xs:sequence>
</xs:complexType>
<xs:element xmlns:ns6="http://www.ebi.ac.uk/webservices/whatizit/ws"
type="ns6:queryPmid" name="queryPmid" />
<xs:complexType name="queryPmid">
<xs:sequence>
<xs:element type="xs:string" minOccurs="0" name="pipelineName" />
<xs:element type="xs:string" minOccurs="0" name="pmid" />
</xs:sequence>
</xs:complexType>
<xs:element xmlns:ns7="http://www.ebi.ac.uk/webservices/whatizit/ws"
type="ns7:queryPmidResponse" name="queryPmidResponse" />
<xs:complexType name="queryPmidResponse">
<xs:sequence>
<xs:element type="xs:string" minOccurs="0" name="return" />
</xs:sequence>
</xs:complexType>
<xs:element xmlns:ns8="http://www.ebi.ac.uk/webservices/whatizit/ws"
type="ns8:getPipelinesStatus" name="getPipelinesStatus" />
<xs:complexType name="getPipelinesStatus" />
<xs:element xmlns:ns9="http://www.ebi.ac.uk/webservices/whatizit/ws"
type="ns9:getPipelinesStatusResponse" name="getPipelinesStatusResponse" />
<xs:complexType name="getPipelinesStatusResponse">
<xs:sequence>
<xs:element xmlns:ns10="http://www.ebi.ac.uk/webservices/whatizit/ws"
type="ns10:selectItem" minOccurs="0" name="return" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="selectItem">
<xs:sequence>
<xs:element type="xs:string" minOccurs="0" name="description" />
<xs:element type="xs:boolean" name="disabled" />
<xs:element type="xs:string" minOccurs="0" name="label" />
<xs:element type="xs:anyType" minOccurs="0" name="value" />
</xs:sequence>
</xs:complexType>
</xs:schema>
</types>
<message name="contact">
<part element="tns:contact" name="parameters" />
</message>
<message name="contactResponse">
<part element="tns:contactResponse" name="parameters" />
</message>
<message name="WhatizitException">
<part element="tns:WhatizitException" name="fault" />
</message>
<message name="getPipelinesStatus">
<part element="tns:getPipelinesStatus" name="parameters" />
</message>
<message name="getPipelinesStatusResponse">
<part element="tns:getPipelinesStatusResponse" name="parameters" />
</message>
<message name="queryPmid">
<part element="tns:queryPmid" name="parameters" />
</message>
<message name="queryPmidResponse">
<part element="tns:queryPmidResponse" name="parameters" />
</message>
<message name="search">
<part element="tns:search" name="parameters" />
</message>
<message name="searchResponse">
<part element="tns:searchResponse" name="parameters" />
</message>
<portType name="whatizit">
<operation name="contact">
<input message="tns:contact" />
<output message="tns:contactResponse" />
<fault message="tns:WhatizitException" name="WhatizitException" />
</operation>
<operation name="getPipelinesStatus">
<input message="tns:getPipelinesStatus" />
<output message="tns:getPipelinesStatusResponse" />
<fault message="tns:WhatizitException" name="WhatizitException" />
</operation>
<operation name="queryPmid">
<input message="tns:queryPmid" />
<output message="tns:queryPmidResponse" />
<fault message="tns:WhatizitException" name="WhatizitException" />
</operation>
<operation name="search">
<input message="tns:search" />
<output message="tns:searchResponse" />
<fault message="tns:WhatizitException" name="WhatizitException" />
</operation>
</portType>
<binding type="tns:whatizit" name="pipelineBinding">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http" />
<operation name="contact">
<soap:operation soapAction="" />
<input>
<soap:body use="literal" />
</input>
<output>
<soap:body use="literal" />
</output>
<fault name="WhatizitException">
<soap:fault use="literal" name="WhatizitException" />
</fault>
</operation>
<operation name="getPipelinesStatus">
<soap:operation soapAction="" />
<input>
<soap:body use="literal" />
</input>
<output>
<soap:body use="literal" />
</output>
<fault name="WhatizitException">
<soap:fault use="literal" name="WhatizitException" />
</fault>
</operation>
<operation name="queryPmid">
<soap:operation soapAction="" />
<input>
<soap:body use="literal" />
</input>
<output>
<soap:body use="literal" />
</output>
<fault name="WhatizitException">
<soap:fault use="literal" name="WhatizitException" />
</fault>
</operation>
<operation name="search">
<soap:operation soapAction="" />
<input>
<soap:body use="literal" />
</input>
<output>
<mime:multipartRelated>
<mime:part>
<soap:body parts="" use="literal" />
</mime:part>
<mime:part>
<mime:content part="parameters" type="text/xml" />
</mime:part>
</mime:multipartRelated>
</output>
<fault name="WhatizitException">
<soap:fault use="literal" name="WhatizitException" />
</fault>
</operation>
</binding>
<service name="whatizit">
<port binding="tns:pipelineBinding" name="pipeline">
<!--<soap:address location="http://www.ebi.ac.uk/webservices/whatizit/ws"/> -->
<soap:address location="http://localhost:8080/whatizit/ws" />
</port>
</service>
</definitions>
Jetzt bin ich sehr neu für Web-Services mit WSDL. Ich erlebe zwei Fehler, die auf dieser Linie, die ich nicht beheben kann:
<output>
<mime:multipartRelated>
<mime:part>
<soap:body parts="" use="literal" />
</mime:part>
<mime:part>
<mime:content part="parameters" type="text/xml" />
</mime:part>
</mime:multipartRelated>
</output>
Mehrere Anmerkungen an dieser Linie gefunden:
- cvc-attribute.3: The value '' of attribute 'parts' on element 'soap:body' is not valid with respect to its type,
'NMTOKENS'.
- cvc-minLength-valid: Value '' with length = '0' is not facet-valid with respect to minLength '1' for type
'NMTOKENS'.
Jeder Vorschlag geschätzt wird. Danke für Ihre Hilfe.
Ich werde ein wenig später schauen, aber diese WSDL ist nicht WSI-konform, was erklären wird, warum es so schwierig zu verwenden ist. Ich habe es in die SOAP-Benutzeroberfläche importiert und werde versuchen, in Kürze darauf zuzugreifen, aber es verletzt BP2703 der WSI-Konformität. – Namphibian
Danke. Ich schaffte es, das Problem zu lösen, wie folgt: Grundsätzlich Eclipse wurde die Teile abgelegt fragen vom Typ NMTOKENS zu sein. – Martin
Martin fügen Sie es als Antwort und akzeptieren Sie Ihre eigene Antwort. Es könnte jemand anderem helfen. – Namphibian