Gulf dispute has gone on too long, U.S. envoy says on visit