Só sobrou diferença na conexão, porque no SOAPUI funciona exatamente com o mesmo arquivo.
O problema só pode ser nesta parte:
oServer := win_OleCreateObject( "MSXML2.ServerXMLHTTP" )
oServer:Open( "POST", cWebService, .F. )
oServer:SetRequestHeader( "SOAPAction", cSoapAction )
oServer:SetRequestHeader( "Content-Type", "XML/TEXT; charset=utf-8" )
oServer:send( cXmlSoap )
oServer:WaitForResponse( 1000 )
cRetorno := oServer:responseText
nota:
no manual diz pra usar XML/TEXT
Por isso acabei testando com esse tipo não comum.