I prefer SOAP::Lite, but some prefer XML::Compile::SOAP. XML::Compile::SOAP is said to be a better fit for doc/literal. It probably is, but experiment with both. Go with the one that works best for you. See this post for a further discussion of the issue.