So, you're in visual range. Your infantry is brawling in the streets against your opponent, and yet you just can't seem to identify what it is you're supposed to be fighting.

At first this might seem like a clear issue or a fault in your intelligence - but it is not so. Rather, fortresses have the ability to hide the units defending them, and so you would not be able to identify defenders even when up close and personal.
This is one of the many important factors to keep in mind when you're invading enemy territory. Fighting abroad means landing in unknown regions, fighting across uncertain terrain and entering combat where your enemy has every home advantage, and there is no such thing as a safe assault.

I hope this helps to clear things up. Good luck in the field, General.