Axis2
  1. Axis2
  2. AXIS2-2590

ASP.NET Interop and other issues.

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Labels:
      None

      Description

      Schema and WSDL are here - http://article.gmane.org/gmane.comp.apache.webservices.axis.user/53176

      1) If we call UpdateBalanceInput on the raw Java produced by WSDL2JAVA, it gets an instantiation exception because it doesn't create a zero-argument instantiator for the enumeration type BalanceOperationType. I have to manually add it and make the protected one-arg version public for it to work.

      2) Even then, the operation that gets passed in is null in all cases. In fact, all wrapped objects are passed in as null. Wrapped objects that they return come back to the client fine.

      3) If I ask for the wsdl by doing DataService?wsdl, all the 'part name="parameters"' lines turn into '<part name="part0"', which breaks ASP.NET when it tries to connect.

        Activity

        Hide
        Davanum Srinivas added a comment -

        Amila,

        Can you please check if this works now? (for 1.2) Basically generate a service using WSDL/XSD (see the command line in the original post) and test it for the 3 items mentioned.

        thanks,
        dims

        Show
        Davanum Srinivas added a comment - Amila, Can you please check if this works now? (for 1.2) Basically generate a service using WSDL/XSD (see the command line in the original post) and test it for the 3 items mentioned. thanks, dims
        Hide
        Amila Chinthaka Suriarachchi added a comment -

        I invoked and see the UpdateBalance method it works fine.
        1. when using enumeration classes one have to use the constant enumerations defined.
        eg.
        updateBalanceInput114.setName("balcnce");
        updateBalanceInput114.setQuantity(12.3f);
        updateBalanceInput114.setSubject("subject");
        updateBalanceInput114.setUnit("update");

        updateBalanceInput114.setOperation(BalanceOperationType.adjust);

        3. you have to use the
        <parameter name="useOriginalwsdl" locked="false">true</parameter> in server.xml
        Now (in axis2 1.2) wsdl2java put this parameter to services.xml as well

        Note:
        This is a document/literal wsdl. So changing the part name should not make any effect to the soap message passed. So that change should not make any interoperatebility issue.

        Show
        Amila Chinthaka Suriarachchi added a comment - I invoked and see the UpdateBalance method it works fine. 1. when using enumeration classes one have to use the constant enumerations defined. eg. updateBalanceInput114.setName("balcnce"); updateBalanceInput114.setQuantity(12.3f); updateBalanceInput114.setSubject("subject"); updateBalanceInput114.setUnit("update"); updateBalanceInput114.setOperation(BalanceOperationType.adjust); 3. you have to use the <parameter name="useOriginalwsdl" locked="false">true</parameter> in server.xml Now (in axis2 1.2) wsdl2java put this parameter to services.xml as well Note: This is a document/literal wsdl. So changing the part name should not make any effect to the soap message passed. So that change should not make any interoperatebility issue.

          People

          • Assignee:
            Amila Chinthaka Suriarachchi
            Reporter:
            Davanum Srinivas
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development