【发布时间】:2017-10-23 17:23:44
【问题描述】:
在 WSDL 1.1 规范中,我们有 4 种操作类型:
- 单向:“wsdl:input”仅
- 请求-响应:“wsdl:input”, "wsdl:output" 和 "wsdl:fault"
- 请求响应:“wsdl:输出”, "wsdl:input" 和 "wsdl:fault"
- 通知:“wsdl:output”仅
使用 Apache CXF V3.2.0,我尝试从现有的 WSDL 生成客户端(wsdl2java),在我们的通知操作中,“wsdl:operation”中只有“wsdl:output”:
<wsdl:operation name="NotifyMe">
<wsdl:output action="myPort/NotifyMe" message="tns:myPort_NotifyMe_Output" />
</wsdl:operation>
我在构建过程中遇到了这个错误:
[ERROR] Failed to execute goal org.apache.cxf:cxf-codegen-plugin:3.2.0:wsdl2java (generate-sources) on project soap-callback: Execution generate-sources of goal org.apache.cxf:cxf-codegen-plugin:3.2.0:wsdl2java failed:
[ERROR] Summary: Failures: 1, Warnings: 0
[ERROR]
[ERROR] <<< ERROR!
[ERROR] Invalid WSDL, Operation NotifyMe in PortType {myPort} not request-response or one-way
我如何解决此错误并从此 WSDL 生成客户端类? Apache CXF 是否支持通知操作?
【问题讨论】: