add soap reader and writer, and corresponding unit tests