Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java WSDL复杂CVC错误_Java_Web Services_Soap_Wsdl - Fatal编程技术网

Java WSDL复杂CVC错误

Java WSDL复杂CVC错误,java,web-services,soap,wsdl,Java,Web Services,Soap,Wsdl,我的web应用程序有以下wsdl代码: <?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:mi

我的web应用程序有以下wsdl代码:

<?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>

如有任何建议,将不胜感激。谢谢你的帮助

最后,我设法解决了这个问题。基本上,Eclipse要求提交的部件为NMTOKEN类型。因此,我将块从:

<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> 



错误消失了

稍后我会看一看,但是这个WSDL不符合WSI,这将解释为什么它很难使用。我已经将它导入到SOAP UI中,并将很快尝试访问它,但它违反了WSI法规遵从性的BP2703。谢谢。我设法解决了以下问题:基本上,Eclipse要求提交的部分为nmtokens类型。Martin将其添加为答案并接受您自己的答案。它可能会帮助其他人。@Namphibian是的,我帮了。但是我不能接受我自己的答案-:)你可以等24小时左右。
- 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'.
<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> 
 <output>
                <mime:multipartRelated>
                    <mime:part>
                        <soap:body parts="nmtokens" use="literal" />
                    </mime:part>
                    <mime:part>
                        <mime:content part="parameters" type="text/xml" />
                    </mime:part>
                </mime:multipartRelated>
            </output>