나는 그것이 WSDL에 관해서 무식하다는 것을 인정할 것이다. 내가 작업하고있는 프로젝트에 대해 다음 WSDL이 제공되었지만 작동하지 않습니다. 다음은 현재 사용중인 WSDL의 게시물입니다. wsdl에서 서비스에 대한 실제 URL을 제거하여 크롤러가 색인을 생성하지 못하도록 요청했습니다. 실제 URL은 'www.testsite.org'로 바뀌 었습니다. 다음은 XML입니다 :WSDL에서 프록시 클래스를 만드는 중 오류가 발생했습니다. 요소가 누락 되었습니까?
<wsdl:definitions xmlns:tns="https://www.testsite.org/uiws-test" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns="http://schemas.xmlsoap.org/wsdl/" name="uiicon" targetNamespace="https://www.testsite.org/uiws-test">
<!-- TYPES -->
<wsdl:types>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="https://www.testsite.org/uiws-test">
<xsd:complexType name="ResponseType">
<xsd:sequence>
<xsd:element name="request_id" type="xsd:string"/>
<xsd:element name="messages" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="responseType" type="tns:ResponseType"/>
<xsd:element name="ICON_MessageTrain" type="xsd:string"/>
<xsd:element name="fault" type="xsd:string"/>
</xsd:schema>
</wsdl:types>
<!-- MESSAGES -->
<wsdl:message name="RequestMessage">
<wsdl:part name="ICON_MessageTrain" element="tns:ICON_MessageTrain"/>
</wsdl:message>
<wsdl:message name="ResponseMessage">
<wsdl:part name="response" element="tns:responseType"/>
</wsdl:message>
<wsdl:message name="FaultMessage">
<wsdl:part name="fault" element="tns:fault"/>
</wsdl:message>
<wsdl:message name="SourceHeader">
<wsdl:part name="source" element="xsd:string"/>
</wsdl:message>
<wsdl:message name="ApplicationHeader">
<wsdl:part name="application" element="xsd:string"/>
</wsdl:message>
<!-- PORT TYPES -->
<wsdl:portType name="uiicon_portType">
<wsdl:operation name="uiicon">
<wsdl:input message="tns:RequestMessage"/>
<wsdl:output message="tns:ResponseMessage"/>
<wsdl:fault message="tns:FaultMessage" name="FaultMessage"/>
</wsdl:operation>
</wsdl:portType>
<!-- BINDINGS -->
<wsdl:binding name="uiicon_binding" type="tns:uiicon_portType">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="uiicon">
<soap:operation soapAction="https://www.testsite.org/uiws-test/services/uiicon-test" style="document"/>
<wsdl:input>
<soap:header part="source" message="tns:SourceHeader" use="literal"/>
<soap:header part="application" message="tns:ApplicationHeader" use="literal"/>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
<wsdl:fault name="FaultMessage">
<soap:fault name="FaultMessage" use="literal"/>
</wsdl:fault>
</wsdl:operation>
</wsdl:binding>
<!-- SERVICES -->
<wsdl:service name="uiicon_service">
<wsdl:documentation>
This is the web service for UI-ICON data exchange modernization project
</wsdl:documentation>
<wsdl:port name="uiicon_port" binding="tns:uiicon_binding">
<soap:address location="https://www.testsite.org/uiws-test/services/uiicon-test"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
내가 wsdl.exe에서이 프로그램을 실행할 때, 나는 다음과 같은 오류 얻을 :
- 작업을 가져올 수 없습니다 'uiicon을'.
- 요소 'http://www.w3.org/2001/XMLSchema:string'는 WSDL이 w3.org 2001 스키마를 참조하고 어디보고, 내가 문자열 스키마를 참조
누락 참고. 무엇이 좋아 보이고 왜 틀린 지 확신하지 못합니다. 고맙습니다! 당신이 element
로 : 당신의 SourceHeader
및 ApplicationHeader
참조에 type
에
<wsdl:message name="ApplicationHeader">
<wsdl:part name="application" type="xsd:string"/>
</wsdl:message>
<wsdl:message name="SourceHeader">
<wsdl:part name="source" type="xsd:string"/>
</wsdl:message>
을 즉를 element
을 변경하는 경우
고마워요! 이 정보를 다시 서비스 제공 업체에 보내면 작동하는 것으로 보이는 업데이트가 만들어졌습니다. –
잘 듣고, 도움이되어서 기쁩니다! – joergl