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

Stubs created in Axis2-1.5.1 is not compatible with Latest axis2-1.6.2 (No backward compatibility from 1.6.2 to 1.5.1)

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Blocker
    • Resolution: Not A Problem
    • 1.6.2
    • 1.5.1
    • client-api, codegen, kernel
    • Windows 7 , Java, WSDL

    Description

      We updated the axis2 version from 1.5.1 to 1.6.2.
      There are more than 200 stubs created in axis2-1.5.1 version. Our goal is to use axis2.1.6.2 version with old(1.5.1) generated stub.

      The old stub uses MTOMAwareXMLStreamWriter class everywhere, but this class is removed in axis2 1.6.2 version.

      Am getting below error when I try to use axis2 1.6.2 version with old stubs to make service call.

      Exception in thread "main" java.lang.AbstractMethodError: com.dlh.zambas.japi.service.conversation.wrappers.NewInstanceWithProperties.serialize(Ljavax/xml/namespace/QName;Ljavax/xml/stream/XMLStreamWriter;)V
      at org.apache.axis2.databinding.ADBDataSource.serialize(ADBDataSource.java:90)
      at org.apache.axiom.om.impl.llom.OMSourcedElementImpl.internalSerialize(OMSourcedElementImpl.java:742)
      at org.apache.axiom.om.impl.util.OMSerializerUtil.serializeChildren(OMSerializerUtil.java:563)
      at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:790)
      at org.apache.axiom.soap.impl.llom.SOAPEnvelopeImpl.serializeInternally(SOAPEnvelopeImpl.java:271)
      at org.apache.axiom.soap.impl.llom.SOAPEnvelopeImpl.internalSerialize(SOAPEnvelopeImpl.java:233)
      at org.apache.axiom.om.impl.llom.OMSerializableImpl.serializeAndConsume(OMSerializableImpl.java:165)
      at org.apache.axis2.transport.http.SOAPMessageFormatter.writeTo(SOAPMessageFormatter.java:74)
      at org.apache.axis2.transport.http.AxisRequestEntity.writeRequest(AxisRequestEntity.java:84)
      at org.apache.commons.httpclient.methods.EntityEnclosingMethod.writeRequestBody(EntityEnclosingMethod.java:499)

      The reason is
      public abstract void serialize(QName paramQName, OMFactory paramOMFactory, MTOMAwareXMLStreamWriter paramMTOMAwareXMLStreamWriter)
      throws XMLStreamException, ADBException;
      above method is not there in ADBBean and MTOMAwareXMLStreamWriter class is removed in 1.6.2.

      So is there any way we can use old generated stubs with latest axis2 ? If so please guide us how.
      If we can not use, is there any patch we can apply to make this work ? We don't want to regenerate stubs using latest axis2 due to business requirements.

      Thanks in Advance,
      Sharat
      Amadeus Labs

      Attachments

        Activity

          People

            Unassigned Unassigned
            sharat.hengavalli Sharat
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - 30h
                30h
                Remaining:
                Remaining Estimate - 30h
                30h
                Logged:
                Time Spent - Not Specified
                Not Specified