hi…after much investigating, i found out the cause of the problem.
it seems that one of the document that IC B sends out is corrupt.
As you know:
IC B sends out 2 documents - Doc1 (Success) OR Doc2 (Fail).
IC A waits for Doc1 (Success).
The problem is that even if IC B sends Doc2, IC A will think it has received a reply.
What I did is to recreate another document Doc3 with the same fields as Doc2 and make IC B to publish that new Doc3 instead of Doc2 and now it works!!
It seems that Doc2 is corrupt. Is this possible? If so, how do I check for such cases? Is there any utility I can use? I am worried if I will face with such problems again coz it is really long process debugging for such errors. (took me almost 2 days) 
#webMethods-General#webMethods#Integration-Server-and-ESB