Can a soldier be the piece doing a perpetual chase in xiangqi?
These answers restate the rules implemented by our open-source engine, which follows the WXF laws for movement, checkmate and both repetition rulings: a side that forces a repetition by perpetual check or perpetual chase loses rather than drawing. The chase half has not been validated against the official casebook. Where an answer refers to a specific position, that position lives on the linked reference page, where the build verifies it before publishing.
Direct answer
No. Under the WXF rules this site follows, a threat made by a soldier never counts as a chase, and neither does one made by the general. A soldier may attack the same piece move after move, and the repetition is still judged as if no chase were happening. Checks, and chases by your other pieces, are judged as usual.
Why the soldier is exempt
The repetition rules name two pieces whose attacks are never treated as chasing: the general and the soldier. A soldier can therefore keep attacking the same piece without being required to vary. This site's engine applies the same exemption: when it looks for a chase, it ignores threats made by either piece.
Where a soldier still matters
A soldier can be the piece being chased. Once it has crossed the river, the other side can be ruled to be chasing it; before it crosses, it is not counted as a target at all. And if a soldier's threat runs alongside a repeated threat by one of your other pieces, that other piece's threat is judged in the normal way.
Related questions
Is this the same as the protected-piece exception?
No, it is a separate exemption. A protected target is excused because taking it would lose material back; a soldier's threat is excused whatever it attacks. See why chasing a protected piece does not count.
Does it matter whether the soldier has crossed the river?
Not when the soldier is the attacker: crossed or not, its threats are never a chase. It matters when the soldier is the target: a crossed soldier can be chased, one that has not crossed cannot.