Oi Paulo! Tudo bem?
Não fiz seu curso, contudo vi que existem 2 ids. Um o id que é o id do carrinho de compras e o idProduto é o produto que se quer atualizar.
Concordo com você que o exemplo não ajuda, porque você terá o id do produto no XML, e que construirá um objeto do tipo produto e esse terá o id que veio do XML.
Apenas um comentário que pode ajudar, em cenários reais, não é nem um pouco usual trabalhar com o vai-e-vem dos objetos do sistema, por diversas razões, como consumo de banda (rede) para trafegar dados desnecessários e exposição de valores do objeto que o cliente não precisará ou que não deveria saber. (Estude sobre DTO)
Um método de atualização de carrinho deveria se limitar a passar 3 dados, carrinho, produto e nova quantidade.
Já o seu serviço deveria entender que atualização de numero zero seria uma remoção de produtos. Quantidades negativas deveria retornar error.
Espero ter ajudado,
Abraço e sucesso,
Rodrigo