在运行 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 服务运行的 validator ?
虽然我无法保存报告,但它似乎是有效的,在下载页面然后上传之后:
https://www.wsdl-analyzer.com/service/service/893784871?version=1
最佳答案
前面提到的 WSDL 包含三种不同的绑定(bind):soap 1.1、soap 1.2 和 http,这意味着可以使用三种不同的方式/协议(protocol)来调用温度转换器 Web 服务,如您所见: https://www.w3schools.com/xml/tempconvert.asmx?op=CelsiusToFahrenheit
但是,如果您坚持只使用 soap 1.1 绑定(bind),则 WSDL 工具和互操作性效果最好。出于学习目的,找到仅具有 soap 1.1 绑定(bind)的 WSDL。
关于java - 这个 WSDL 有效吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43603224/