Uploaded image for project: 'Axis2'
  1. Axis2
  2. AXIS2-2764

org.apache.axis2.jibx.CodeGenerationUtility doesn't support <wsdl:message> with zero parts (empty message)

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 1.2
    • None
    • databinding
    • 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.

      Attachments

        1. ConfigurationWebService.wsdl
          4 kB
          Claire Walsh
        2. ConfigurationWebService.wsdl
          4 kB
          Claire Walsh
        3. binding.xml
          0.6 kB
          Claire Walsh
        4. binding.xml
          0.6 kB
          Claire Walsh

        Activity

          People

            dsosnoski Dennis M. Sosnoski
            dimitri-z Dmitry
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: