Agree with #4. This play seems to me to be more of an exercise in maintaining honesty and integrity in the face of adversity and coercion than about those two things on their own. To that extent, the cause of many characters' downfalls is due to one overpowering force--Claudius, who has neither of those positive traits.
Gertrude's relationship with Hamlet is strained for most of the play--because of her shift in allegiance to Claudius. It's this relationship which causes her to treat Hamlet so callously.
It's true that Rosencrantz and Guildenstern aren't too bright, but they only turn against their longtime friend when flattered by the King, and are loyal to Claudius once they commit to help him.
Laertes is generally a man of integrity, since Polonius sends Reynaldo to dig up dirt on his own son--and to make it up if he finds none. He's honest in his dealings with Ophelia, as well. It's only after his father dies that Laertes is willing to stoop to the devious in order to get revenge--and that's because of claudius.
Hamlet finds himself in a predicament not of his own making, at first; once he starts to maneuver and scheme and seek revenge, he becomes someone else. He is not a man of good character. Who created the predicament--Claudius, of course.
As others have mentioned, Ophelia and Horatio do not seem to be compromised in terms of integrity and honesty, though one of them dies for it. All those mentioned above made choices, to be sure; however, they were all placed in these extreme circumstances and influenced by the evil actions of one man. You guessed it--Claudius.
Hamlet tries to maintain his integrity, but he loses it. He is so torn between trying to honor his father's request to avenge his murder and his own reluctance to commit murder that he cracks. I agree that Horatio maintains his integrity and honesty and loyalty to Hamlet, but Horatio does not have the conflicts that Hamlet has nor the challenges. Fortinbras seems to do the right thing in the end by honoring Hamlet with a soldier's funeral. Laertes does the right thing in the end by asking Hamlet's forgiveness and by pointing out Claudius's treachery. Hamlet does the right thing in the end by forgiving Laertes and killing his mother's murderer. Gertrude even has some scrap of integrity in her death when she tries to warn Hamlet about the drink. So, no one is ideally honest and good; most are hopelessly flawed. Yet, we can see them rise above the corruption in their attempts to right wrong.
In concurrence that Horatio is the honest character in Shakespeare's Hamlet, he is probably the only honest one. For, the rest of the Danish court is corrupt: they are the "something's rotten in Denmark."
Horatio enjoys the trust of all who know him; it is Horatio that the guards entrust with asking Hamlet to witness the ghost; it is Horatio whom even Claudius trusts Horatio to restrain Hamlet; it is Horatio that Hamlet trusts his suspicions about Claudius.
I’m not sure that Shakespeare really had honesty and integrity in mind when he wrote Hamlet. If it comes down to that, however, Horatio could exemplify honesty and integrity as he did what Hamlet asked him to do without any duplicity on his part. Ophelia might be considered to have integrity because when Laertes and Polonius ordered her to break things off with Hamlet, she did. Renaissance women were expected to be chaste, silent, and obedient to the men of their family. Ophelia was.