문제

WSDL 파일에서 Apex 클래스를 생성하려고하지만 아래의 오류가 발생합니다.

Apex 생성에 실패했습니다 요소에 스키마를 찾을 수 없습니다.{ "Nofollow"> http://www.w3.org/2001/xmlschema } 문자열

이에 대한 도움이 많이 많이 감사합니다. 미리 감사드립니다

아래 WSDL 파일 참조 :

<?xml version="1.0" encoding="UTF-8"?>
<!--Created by TIBCO WSDL-->
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"    xmlns:tns="http://xmlns.example.com/1393912810519" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:ns0="http://www.tibco.com/schemas/vendorInterface/SharedResource/Schema/Schema.xsd2" xmlns:ns1="http://www.tibco.com/schemas/vendorInterface/SharedResource/Schema/Schema.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" name="Untitled" targetNamespace="http://xmlns.example.com/1393912810519">
    <wsdl:types>
        <xs:schema xmlns="http://www.tibco.com/schemas/vendorInterface/SharedResource/Schema/Schema.xsd" targetNamespace="http://www.tibco.com/schemas/vendorInterface/SharedResource/Schema/Schema.xsd" elementFormDefault="qualified" attributeFormDefault="unqualified">
            <xs:element name="VendorInterface">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="Vendor_main">
                            <xs:complexType>
                                <xs:sequence>
                                    <xs:element name="LIFNR" type="xs:string"/>
                                    <xs:element name="NAME1" type="xs:string"/>
                                    <xs:element name="SORTL" type="xs:string"/>
                                    <xs:element name="BUS_TYPE" type="xs:string"/>
                                    <xs:element name="ROUTE_CODE" type="xs:string"/>
                                    <xs:element name="VESTYR" type="xs:string" minOccurs="0"/>
                                    <xs:element name="VESTYB" type="xs:string"/>
                                    <xs:element name="ZTERM" type="xs:string"/>
                                    <xs:element name="ZWELS" type="xs:string"/>
                                    <xs:element name="SPERM" type="xs:string"/>
                                    <xs:element name="REPRF" type="xs:string"/>
                                    <xs:element name="WAERS" type="xs:string"/>
                                    <xs:element name="ZAHLS" type="xs:string"/>
                                    <xs:element name="SPRAS" type="xs:string"/>
                                    <xs:element name="ZZ_ACTION" type="xs:string"/>
                                    <xs:element name="STATUS" type="xs:string"/>
                                  </xs:sequence>
                             </xs:complexType>
                        </xs:element>
                        <xs:element name="Vendor_User">
                            <xs:complexType>
                                <xs:sequence>
                                    <xs:element name="LIFNR" type="xs:string"/>
                                    <xs:element name="NAME1" type="xs:string"/>
                                    <xs:element name="NAME2" type="xs:string" minOccurs="0"/>
                                   <xs:element name="ZZ_ACTION" type="xs:string"/>
                                    <xs:element name="STATUS" type="xs:string" minOccurs="0"/>
                                </xs:sequence>
                            </xs:complexType>
                        </xs:element>
                        <xs:element name="Vendor_Tax">
                            <xs:complexType>
                                <xs:sequence>
                                    <xs:element name="LIFNR" type="xs:string"/>
                                    <xs:element name="LAND1" type="xs:string"/>
                                    <xs:element name="STCEG" type="xs:string" minOccurs="0"/>
                                    <xs:element name="ITTXAC" type="xs:string"/>
                                    <xs:element name="STENR" type="xs:string"/>
                                    <xs:element name="ITRCVR" type="xs:string"/>
                                    <xs:element name="ZZ_ACTION" type="xs:string"/>
                                    <xs:element name="STATUS" type="xs:string"/>
                                </xs:sequence>
                            </xs:complexType>
                        </xs:element>
                        <xs:element name="Vendor_Address">
                            <xs:complexType>
                                <xs:sequence>
                                    <xs:element name="LIFNR" type="xs:string"/>
                                    <xs:element name="VASTYP" type="xs:string"/>
                                    <xs:element name="VABFRT" type="xs:string"/>
                                    <xs:element name="STREET1" type="xs:string"/>
                                    <xs:element name="STREET2" type="xs:string"/>
                                    <xs:element name="STREET3" type="xs:string"/>
                                    <xs:element name="STREET4" type="xs:string"/>
                                    <xs:element name="ORT01" type="xs:string"/>
                                    <xs:element name="LAND1" type="xs:string"/>
                                    <xs:element name="WAERS" type="xs:string"/>
                                    <xs:element name="SPRAS" type="xs:string"/>
                                    <xs:element name="PSTLZ" type="xs:string"/>
                                    <xs:element name="SMTP_ADDR" type="xs:string"/>
                                    <xs:element name="KOINH" type="xs:string"/>
                                    <xs:element name="INTAD" type="xs:string"/>
                                    <xs:element name="ZZ_ACTION" type="xs:string"/>
                                    <xs:element name="STATUS" type="xs:string"/>
                                </xs:sequence>
                            </xs:complexType>
                        </xs:element>
                        <xs:element name="Vendor_Paymen_Methods">
                            <xs:complexType>
                                <xs:sequence>
                                    <xs:element name="LIFNR" type="xs:string"/>
                                    <xs:element name="ZWELS" type="xs:string"/>
                                    <xs:element name="KOINH" type="xs:string"/>
                                    <xs:element name="REMARK" type="xs:string"/>
                                    <xs:element name="BANKA" type="xs:string"/>
                                    <xs:element name="ZZ_ACTION" type="xs:string"/>
                                    <xs:element name="STATUS" type="xs:string" minOccurs="0"/>
                                </xs:sequence>
                            </xs:complexType>
                        </xs:element>
                        <xs:element name="Vendor_ContactPerson">
                            <xs:complexType>
                                <xs:sequence>
                                    <xs:element name="LIFNR" type="xs:string"/>
                                    <xs:element name="CNTTYP" type="xs:string"/>
                                    <xs:element name="NAMEV" type="xs:string"/>
                                    <xs:element name="NAME1" type="xs:string"/>
                                    <xs:element name="CNSTYP" type="xs:string"/>
                                    <xs:element name="TEL_NUMBER" type="xs:string"/>
                                    <xs:element name="TEL_EXTENS" type="xs:string"/>
                                    <xs:element name="FAX_NUMBER" type="xs:string"/>
                                    <xs:element name="TEL_NUMBER2" type="xs:string"/>
                                    <xs:element name="TEL_EXTENS2" type="xs:string"/>
                                    <xs:element name="FAX_NUMBER2" type="xs:string"/>
                                    <xs:element name="ZZ_ACTION" type="xs:string"/>
                                    <xs:element name="STATUS" type="xs:string" minOccurs="0"/>
                                </xs:sequence>
                            </xs:complexType>
                        </xs:element>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
        </xs:schema>
        <xs:schema xmlns="http://www.tibco.com/schemas/vendorInterface/SharedResource/Schema/Schema.xsd2" targetNamespace="http://www.tibco.com/schemas/vendorInterface/SharedResource/Schema/Schema.xsd2" elementFormDefault="qualified" attributeFormDefault="unqualified">
            <xs:element name="VendorDetails" type="xs:string"/>
        </xs:schema>
    </wsdl:types>
    <wsdl:service name="VendorInterface">
        <wsdl:port name="VendorInfoEndpoint" binding="tns:VendorInfoEndpointBinding">
            <soap:address location="http://localhost:8050/BusinessProcess/InterfaceImplementation/VendorInterface.serviceagent/VendorInfoEndpoint"/>
        </wsdl:port>
    </wsdl:service>
    <wsdl:portType name="PortType">
        <wsdl:operation name="GetVendorInfo">
            <wsdl:input message="tns:GetVendorInfo_Request"/>
            <wsdl:output message="tns:GetVendorInfo_Respone"/>
            <wsdl:fault name="fault1" message="tns:GetVendorInfo_Fault"/>
        </wsdl:operation>
    </wsdl:portType>
    <wsdl:binding name="VendorInfoEndpointBinding" type="tns:PortType">
        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
        <wsdl:operation name="GetVendorInfo">
            <soap:operation style="document" soapAction="/BusinessProcess/InterfaceImplementation/VendorInterface.serviceagent/VendorInfoEndpoint/GetVendorInfo"/>
            <wsdl:input>
                <soap:body use="literal" parts="Request"/>
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal" parts="Response"/>
            </wsdl:output>
            <wsdl:fault name="fault1">
                <soap:fault use="literal" name="fault1"/>
            </wsdl:fault>
        </wsdl:operation>
    </wsdl:binding>
    <wsdl:message name="GetVendorInfo_Request">
       <wsdl:part name="Request" element="ns0:VendorDetails"/>
    </wsdl:message>
   <wsdl:message name="GetVendorInfo_Respone">
        <wsdl:part name="Response" element="ns1:VendorInterface"/>
    </wsdl:message>
    <wsdl:message name="GetVendorInfo_Fault">
        <wsdl:part name="fault" type="xs:string"/>
    </wsdl:message>
</wsdl:definitions>
.

도움이 되었습니까?

해결책

getVendorInfo_Request 의 유형. 이것은 다음과 같습니다 :

<xs:element name="VendorDetails" type="xs:string"/>
.

WSDL2APEX는 직접 단일 표준 유형 요청 또는 응답을 지원하지 않습니다. 대신 시퀀스 내에서 복합 형식으로 중첩되어야합니다. 예를 들어.

<xs:schema xmlns="http://www.tibco.com/schemas/vendorInterface/SharedResource/Schema/Schema.xsd2" targetNamespace="http://www.tibco.com/schemas/vendorInterface/SharedResource/Schema/Schema.xsd2" elementFormDefault="qualified" attributeFormDefault="unqualified">
    <!--
        This isn't supported by wsdl2Apex
        <xs:element name="VendorDetails" type="xs:string"/>
    -->

    <xs:element name="VendorDetails">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="inputParam" type="xs:string"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>

</xs:schema>
.

WSDL을 수정할 수없는 경우 필요한 SOAP XML 페이로드를 직접 구축하여 HTTPRequest를 사용하여 요청을 직접 사용할 수 있습니다. 나는 이것을 자동화하기위한 도구에서 인턴과 함께 일해 왔습니다. 불행하게도 그것은 아직 단일 표준 유형 요청 / 응답을 직접 지원하지 않습니다. 관심이 있으시면 WSDL 파서 및 Apex 생성기 (Disclaimer :이 도구를 만드는 회사에서 작동합니다. 무료입니다.

참조 : WSDL2Apex Parse 오류 - 요소에 스키마를 찾을 수 없습니다. {http://www.w3.org/2001/xmlschema} string

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top