在运行WSDL2Java
sample时,我想检查生成的WSDL
,因为我遇到了来自网络服务的client code Netbeans generated问题。 this WSDL
有效还是无效?如果无效,为什么会在URL
以及XML
中“广告”为WSDL
?
运行WSDL2Java
validator from the 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。也许有一个online验证器作为Web服务运行?
虽然我无法保存报告,但在下载页面然后上传后,似乎才有效:
https://www.wsdl-analyzer.com/service/service/893784871?version=1
答案 0 :(得分:1)
前面提到的WSDL包含三个不同的绑定:soap 1.1,soap 1.2和http,这意味着有三种不同的方法/协议可以调用temperatureurte转换器webservice,如下所示: https://www.w3schools.com/xml/tempconvert.asmx?op=CelsiusToFahrenheit
但是如果你坚持使用soap 1.1绑定,WSDL工具和互操作性最有效。出于学习目的,只需使用soap 1.1绑定即可找到WSDL。