I am a beginner with SOAP but have done a deal in it. Here are my two cents. From the namespaces you use, envelop refers only two. Soap-ENV and xsi, xsd. In anycase they are used to uniquely identify each node. Even if you define a few more namespapces, only the ones refered in the body or header will be processed.
A SOAP application SHOULD include the proper SOAP namespace on all elements and attributes defined by SOAP in messages that it generates. A SOAP application MUST be able to process SOAP namespaces in messages that it receives. It MUST discard messages that have incorrect namespaces and it MAY process SOAP messages without SOAP namespaces as though they had the correct SOAP namespaces. It is not recommended as it may cause scalability issues.