Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
1.2
-
None
-
Oracle OC4J 10.1.3, Axis2 1.2
Description
Wsdl abstract:
.....
<wsdl:message name="initiateRequestInputMessage">
<wsdl:part name="payload" element="tns:...."/>
</wsdl:message>
<wsdl:message name="emptyMessage"/>
<wsdl:portType name="myPortType">
<wsdl:operation name="initiateRequest">
<wsdl:input message="tns:initiateRequestInputMessage"/>
<wsdl:output message="tns:emptyMessage"/>
</wsdl:operation>
</wsdl:portType>
.....
Given this kind of wsdl, WSDL2Java throws the following exception:
Exception in thread "main" org.apache.axis2.wsdl.codegen.CodeGenerationException: java.lang.RuntimeException: No element reference in message emptyMessage
at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.generate(CodeGenerationEngine.java:256)
at org.apache.axis2.wsdl.WSDL2Code.main(WSDL2Code.java:32)
at org.apache.axis2.wsdl.WSDL2Java.main(WSDL2Java.java:21)
Caused by: java.lang.RuntimeException: No element reference in message emptyMessage
at org.apache.axis2.jibx.CodeGenerationUtility.mapMessage(CodeGenerationUtility.java:1007)
at org.apache.axis2.jibx.CodeGenerationUtility.engage(CodeGenerationUtility.java:415)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.axis2.wsdl.codegen.extension.JiBXExtension.engage(JiBXExtension.java:74)
at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.generate(CodeGenerationEngine.java:209)
... 2 more
Empty messages like the one above are valid according to WS-I Basic Profile 1.1:
-------------------------------------------------
4.4.1 Bindings and Parts
.....
Use of wsdl:message elements with zero parts is permitted in Document styles to permit operations that can send or receive envelopes with empty soap:Bodys.
-------------------------------------------------
Such messages are also supproted by ADB.