What are the challenges that we come across while accepting message from third party applications in the form of XML which is an inbound web service for salesforce.
Generally, the standard Execution Governors and Limits apply. You don't get an unlimited amount of resources to process the request in Apex.
Typically if you have an external SOAP web service then Salesforce would call one or more of the methods it exposes by importing the WSDL into Apex. You would then be able to call the web service methods from Salesforce as required.
There are a number of direct limitations on how a callout from Salesforce to the web service can be made. For example, the callout must proceed any DML operations. Otherwise you will get the System.CalloutException: You have uncommitted work pending exception.
Then there are all sorts of limits on the type of SOAP messages that Salesforce supports. For instance, Salesforce supports parts of SOAP 1.1, but not SOAP 1.2.
If it's actually an inbound request, the you can either expose an Apex REST endpoint and do generic XML parsing yourself - Exposing Apex Classes as REST Web Services.
Or create an Apex webservice - Exposing Apex Methods as SOAP Web Services.