Если вы используете WCF, он по умолчанию использует SOAP, поэтому, если все настроено правильно, он автоматически сериализует и десериализует вас.
[OperationContract]
MyResponse ParseId(MyRequest req);
MyResponse может содержать информацию ответа
MyRequest может хранить информацию запроса
Реализация может быть такой:
public MyResponse ParseId(MyRequest req)
{
if(req.Id == null)
{
//Error
}
else
{
}
}
Если это действительно просто, вы можете сделать что-то вроде этого:
[OperationContract]
void ParseId(int id);
Реализация:
public void ParseId(int id)
{
if(id == null)
{
//throw exception;
}
else
{
}
}
Не забудьте украсить свой класс MyResponse и класс MyRequest атрибутами DataContract.