According to the wiki:
Stealth (http://wiki.guildwars2.com/wiki/Stealth)
Hitting a foe with an attack breaks stealth; if the attack missed, was blocked, or was evaded, they will not break stealth. Abilities that do not deal direct damage (like Caltrops, or the Traps which do not deal direct damage) will not break stealth, even though they apply damaging conditions. When a character breaks stealth, they gain the Revealed effect which prevents the user from re-entering stealth for several seconds, regardless of the skill used. The Revealed effect is not applied if the stealth ends normally.
Based on this, it sounds as though a player can only be taken out of stealth if they themselves deal damage, meaning that leaving stealth is always a deliberate action. It also sounds like conditions do not count (eg. a thief applies multiple stacks of bleed to me and goes into stealth while they are ticking) as "hitting a foe with an attack."
Is there any way to force a stealthed player out of stealth?
Best Answer
AFAIK, you can't force a player out of stealth in regular pvp (other than having them attack you).
It should be possible in WvWvW however:
In regular PvP or in PvE, you can prevent stealth by applying revealed to your opponent:
These skills are targetted however, and can't be applied to a target already in stealth
There are a few other ways to deal with stealth:
See http://wiki.guildwars2.com/wiki/Revealed