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

    • Type: Bug
    • Status: Resolved
    • Priority: Blocker
    • Resolution: Not A Problem
    • Affects Version/s: 1.6.2
    • Fix Version/s: 1.5.1
    • Component/s: client-api, codegen, kernel
    • Labels:
    • Environment:
      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

            • Assignee:
              Unassigned
              Reporter:
              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