ローカル変数にXML文字列を渡すだけで
本当にそのエラーが出るのか?
肝心のNet::HTTP::Putをどう使ってるのかさっぱりわからんし。