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

wsdl:fault tag missing for soap bindings in wsdl for In-Only POJO

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.6.1, 1.7.0
    • Fix Version/s: 1.6.2, 1.7.0
    • Component/s: adb
    • Environment:
      Tomcat 6, JDK 1.6.0_26

      Description

      Procedure:
      1) Create POJO service with non-returning function which throws an exception, e.g.:
      public class ExampleService { public void testFunction(String something) throws Exception { throw new Exception("testing123"); }}

      Include RPCInOnlyMessageReceiver & RPCMessageReceiver in <messageReceivers> tag (services.xml)

      2) Check runtime-generated wsdl (e.g. ../axis2/services/ExampleService?wsdl)

      3) Call testFunction() from client (e.g. PHP's SoapClient) via soap binding

      4) Explicitly define testFunction() as "InOnly" in services.xml:
      <operation name="testFunction"><messageReceiver class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" /></operation>

      5) Repeat steps 2 & 3

      Result:
      2) <wsdl:fault> tag missing for both Soap (1.1 & 1.2) bindings (only appears for http)
      3) Since wsdl doesn't contain fault tag for soap bindings, soap clients ignore the exception
      5) <wsdl:fault> now appears for all bindings, as expected

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                sagara Sagara Gunathunga
                Reporter:
                vilnis.termanis Vilnis Termanis
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: