anchor.diff:                                             version  = sews_c_vif_version-inactive ) ).
   
         IF lv_index = 1.
  +        IF li_struc->if_ws_md_vif_type~has_soap_extension_type(
  +            sews_c_vif_version-all ) = abap_false.
  +          READ TABLE is_webi-pveptypesoapext ASSIGNING <ls_soap>
  +            WITH KEY typename = <ls_struc>-typename.
  +          IF sy-subrc = 0.
  +            li_soap = li_struc->if_ws_md_vif_type~create_soap_extension_type( ).
  +            li_soap->set_namespace( <ls_soap>-namespace ).
  +          ENDIF.
  +        ENDIF.
  +      ENDIF.
  +    ENDLOOP.
  +
  +    LOOP AT is_webi-pveptabletype ASSIGNING <ls_table>.
  +      li_table = mi_vi->create_type_as_table( <ls_table>-typename ).
  +      li_table->set_line_type( mi_vi->get_type( typename = <ls_table>-typeref
  +                                                version  = sews_c_vif_version-inactive ) ).
  +
  +      IF li_table->if_ws_md_vif_type~has_soap_extension_type(
  +          sews_c_vif_version-all ) = abap_false.
           READ TABLE is_webi-pveptypesoapext ASSIGNING <ls_soap>
  -          WITH KEY typename = <ls_struc>-typename.
  +          WITH KEY typename = <ls_table>-typename.
           IF sy-subrc = 0.
  -          li_soap = li_struc->if_ws_md_vif_type~create_soap_extension_type( ).
  +          li_soap = li_table->if_ws_md_vif_type~create_soap_extension_type( ).
             li_soap->set_namespace( <ls_soap>-namespace ).
           ENDIF.
         ENDIF.
       ENDLOOP.
   
  -    LOOP AT is_webi-pveptabletype ASSIGNING <ls_table>.
  -      li_table = mi_vi->create_type_as_table( <ls_table>-typename ).
  -      li_table->set_line_type( mi_vi->get_type( typename = <ls_table>-typeref
  -                                                version  = sews_c_vif_version-inactive ) ).
  -
  -      READ TABLE is_webi-pveptypesoapext ASSIGNING <ls_soap>
  -        WITH KEY typename = <ls_table>-typename.
  -      IF sy-subrc = 0.
  -        li_soap = li_table->if_ws_md_vif_type~create_soap_extension_type( ).
  -        li_soap->set_namespace( <ls_soap>-namespace ).
  -      ENDIF.
  -    ENDLOOP.
  -
     ENDMETHOD.
   
     METHOD handle_soap.
  
positive.code:         mi_vi->if_ws_md_lockable_object~save( ).
          mi_vi->if_ws_md_lockable_object~unlock( ).
        CATCH cx_ws_md_exception INTO lx_root.
          lv_text = lx_root->if_message~get_text( ).
          _raise 'error deserializing WEBI'.
      ENDTRY.
  
negative.code:       lv_index = sy-tabix.
  
        li_struc = mi_vi->create_type_as_structure( <ls_struc>-typename ).
  
        IF li_struc->has_field( field_pos = <ls_struc>-fieldpos
            version = sews_c_vif_version-active ) = abap_true.
          CONTINUE.
        ENDIF.
  
        li_field = li_struc->create_field(
          field_name = <ls_struc>-fieldname
          fieldpos = <ls_struc>-fieldpos ).
  