como enviar dados binários dentro de uma string xml

Quero enviar um arquivo binário para o componente .net c # no seguinte formato xml

<BinaryFileString fileType='pdf'>
    <!--binary file data string here-->
</BinaryFileString>

No componente chamado, usarei a string xml acima e converterei a string binária recebida na tag BinaryFileString, em um arquivo especificado pelo atributo filetype = ''. O tipo de arquivo pode ser doc / pdf / xls / rtf

Eu tenho o código no aplicativo de chamada para obter os bytes do arquivo a ser enviado. Como faço para prepará-lo para ser enviado com tags xml em volta dele? Quero que o aplicativo envie uma string para o componente e não um fluxo de bytes. Isso ocorre porque não há como decifrar o tipo de arquivo [pdf / doc / xls] apenas observando o fluxo de bytes. Daí a sequência xml com o atributo filetype. Alguma idéia sobre isso?

método para extrair bytes abaixo

   FileStream fs = new FileStream(_filePath, FileMode.Open, FileAccess.Read);
   using (Stream input = fs)
   {
      byte[] buffer = new byte[8192];
      int bytesRead;
      while ((bytesRead = input.Read(buffer, 0, buffer.Length)) > 0)
      {}
   }
   return buffer;

Obrigado.

Editar:

Apenas para esclarecer por que estou usando uma string xml em vez de definir propriedades no meu componente. Na verdade, meu aplicativo de chamada está tentando simular como o Siebel chamará meu componente.http://download.oracle.com/docs/cd/E05553_01/books/eScript/eScript_JSReference244.html#wp1014380 Não tenho certeza se o Siebel pode definir as propriedades dos meus componentes conforme necessário. Então, eu estou trabalhando no ângulo dele enviando os dados em xml.

questionAnswers(4)

yourAnswerToTheQuestion