In reply to shanthi:
To clarify: I did not say uvm_put_export is working in this case. In this case it is working only with the imp, because the imp has to provide the put method.
With my earlier statement I was refering to the UVM Standard 5.5.2.14 connect. There you can read:
b) The provider’s interface type (blocking, non-blocking, analysis, etc.) shall be compatible, e.g., an
uvm_blocking_put_port #(T) is compatible with an uvm_put_export #(T) and
uvm_blocking_put_imp #(T) because the export and imp provide the interface required
by the uvm_blocking_put_port.