Этот WSDL действителен?
В управлении WSDL2Java
Образец я хотел осмотреть сгенерированный WSDL
потому что у меня были проблемы с клиентским кодом Netbeans, сгенерированным из веб-сервиса. Это WSDL
действительный или недействительный? Если он недействителен, почему он "рекламируется", в URL
, а также в XML
, как WSDL
?
Запуск WSDL2Java
валидатор из CLI показывает его как недействительный:
thufir@doge:~$
thufir@doge:~$ echo $JAVA_HOME
/usr/lib/jvm/java-8-openjdk-amd64/
thufir@doge:~$
thufir@doge:~$ jars/apache-cxf-3.1.11/bin/wsdlvalidator https://www.w3schools.com/xml/tempconvert.asmx?WSDL
WSIBP Validator found <{https://www.w3schools.com/xml/}TempConvertHttpPost> is NOT a SOAP binding
WSDLValidator Error :
line 127 column 66 of https://www.w3schools.com/xml/tempconvert.asmx?WSDL: cvc-complex-type.4: Attribute 'part' must appear on element 'mime:content'.
line 136 column 66 of https://www.w3schools.com/xml/tempconvert.asmx?WSDL: cvc-complex-type.4: Attribute 'part' must appear on element 'mime:content'.
thufir@doge:~$
Тем не менее, это буквально первый раз, когда я использовал WSDL2Java
API на всех. Возможно, есть онлайн- валидатор, который работает как веб-сервис?
Несмотря на то, что я не смог сохранить отчет, он кажется действительным после загрузки страницы и последующей загрузки:
https://www.wsdl-analyzer.com/service/service/893784871?version=1
1 ответ
Вышеупомянутый WSDL содержит три разных привязки: soap 1.1, soap 1.2 и http, что означает три разных способа / протокола для вызова веб-службы преобразователя температуры, как вы можете видеть здесь: https://www.w3schools.com/xml/tempconvert.asmx?op=CelsiusToFahrenheit
Но инструменты WSDL и совместимость работают лучше всего, если вы придерживаетесь только привязки мыла 1.1. В целях обучения найдите WSDL с привязкой только мыла 1.1.