Salesforce 导入wsdl时Apex生成失败

Salesforce 导入wsdl时Apex生成失败,salesforce,apex-code,Salesforce,Apex Code,我正试图从wsdl文件生成Apex类。但我面临一个问题 顶点生成失败 找不到元素的架构;{}字符串 你能帮忙吗 <?xml version="1.0" encoding="UTF-8"?> <wsdl:definitions targetNamespace="http://eapisws.cbp.dhs.gov/ws/manifest1_0/" xmlns:mns="http://eapisws.cbp.dhs.gov/ws/manifest1_0/" xmlns:wsdl="

我正试图从wsdl文件生成Apex类。但我面临一个问题

顶点生成失败 找不到元素的架构;{}字符串

你能帮忙吗

<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="http://eapisws.cbp.dhs.gov/ws/manifest1_0/" xmlns:mns="http://eapisws.cbp.dhs.gov/ws/manifest1_0/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
    <wsdl:types>
        <xs:schema targetNamespace="http://eapisws.cbp.dhs.gov/ws/manifest1_0/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:mns="http://eapisws.cbp.dhs.gov/ws/manifest1_0/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1_0">
            <xs:annotation>
                <xs:documentation xml:lang="en">
                This is the first release of WSDL file for the APIS FlightManifest Batch Web Service and it is subject to change.
                </xs:documentation>
            </xs:annotation>
            <xs:element name="flightManifest" nillable="false">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Valid UN-EDIFACT document</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:maxLength value="2097152"/>
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element name="certificationFlightManifest" nillable="false">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Valid UN-EDIFACT document to be certified/validated</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:maxLength value="2097152"/>
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element name="submissionResponse" nillable="true" type="xs:string"/>
        </xs:schema>
    </wsdl:types>
    <wsdl:message name="flightManifestRequest">
        <wsdl:part element="mns:flightManifest" name="flightManifest"/>
    </wsdl:message>
    <wsdl:message name="certificationFlightManifestRequest">
        <wsdl:part element="mns:certificationFlightManifest" name="certificationFlightManifest"/>
    </wsdl:message>
    <wsdl:message name="flightManifestResponse">
        <wsdl:part element="mns:submissionResponse" name="submissionResponse"/>
    </wsdl:message>
    <wsdl:portType name="EapisManifest">
        <wsdl:operation name="submitFlightManifest">
            <wsdl:input message="mns:flightManifestRequest" name="flightManifestRequest"/>
            <wsdl:output message="mns:flightManifestResponse" name="flightManifestResponse"/>
        </wsdl:operation>
        <wsdl:operation name="submitCarrierCertificationRequest">
            <wsdl:input message="mns:certificationFlightManifestRequest" name="certificationFlightManifestRequest"/>
            <wsdl:output message="mns:flightManifestResponse" name="flightManifestResponse"/>
        </wsdl:operation>
    </wsdl:portType>
    <wsdl:binding name="EapisManifestSoapBinding" type="mns:EapisManifest">
        <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
        <wsdl:operation name="submitFlightManifest">
            <wsdlsoap:operation soapAction=""/>
            <wsdl:input name="flightManifestRequest">
                <wsdlsoap:body use="literal"/>
            </wsdl:input>
            <wsdl:output name="flightManifestResponse">
                <wsdlsoap:body use="literal"/>
            </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="submitCarrierCertificationRequest">
            <wsdlsoap:operation soapAction=""/>
            <wsdl:input name="certificationFlightManifestRequest">
                <wsdlsoap:body use="literal"/>
            </wsdl:input>
            <wsdl:output name="flightManifestResponse">
                <wsdlsoap:body use="literal"/>
            </wsdl:output>
        </wsdl:operation>
    </wsdl:binding>
    <wsdl:service name="EapisManifestService">
        <wsdl:port binding="mns:EapisManifestSoapBinding" name="EapisManifest">
            <wsdlsoap:address location="https://eapisws.cbp.dhs.gov/apis/eapisws1_0/services/EapisManifest"/>
        </wsdl:port>
    </wsdl:service>
</wsdl:definitions>

问题的答案在关于将提交响应元素从简单类型更改为复杂类型的评论中提到。

您能提供一些关于wsdl文件的信息吗?这是一个公开的版本,还是你可以发布其中的一部分?我想这个解决方案会给你一些启示。我认为您需要将元素更改为复杂类型。值得一提的是,我同意pbattisson发布的链接中的评论,即最终,您可能会发现HTTP请求和手动soap xml代码是使其运行的最快解决方案,这对我来说真的更快了。。我也有同样的经历。手动创建类对我来说也更快。非常感谢。。。。为了帮助我…我通过更改complexType获得了解决方案…将添加该选项作为答案,供您标记以供将来查看。嗨,pbattisson,上次我能够导入web服务。现在我试图通过传递xml请求来调用服务。但我在响应xml中遇到了错误。你能帮我解决这个问题吗。我正在使用soapUI,并且在请求头中设置了凭据。响应:soapenv:Server.userException org.xml.sax.SAXException:SimpleDeserializer在尝试反序列化的内容中遇到了一个子元素,这不是预期的。