on 07-23-2011 7:14 PM
Pessoal,
Eu tenho um cenário B2B Proxy to Mail utilizando Mail Package.
O que está acontecendo é que em alguns arquivos XMLS enviados em anexo está dando erro na hora de abrir, dá erro de XML mal formatado. Isso está ocorrendo de forma intermitente para alguns clientes.
Peguei o conteudo da mensagem na sxmb_moni e salvei como .xml e consegui abrir sem problemas, porém o cliente fala que não consegue abrir devido ao xml estar mal formatado.
Fazendo uma análise do arquivo que é enviado para o cliente, verifiquei que o erro ocorre na quebra de linha, ou seja, ao realizar a quebra de linha está colocando um espaço em branco.
Por exemplo, abri o arquivo no notepad, final da linha:"1234567890< /emit.
Alguém tem alguma idéia de como resolver isso?
Desde já, obrigado.
Maicon.
Tentou ativar a codificação Base64 (no proprio comm channel)?
As vezes resolve.
Outra tentativa seria usar o messagetransformbean e forçar um ContentType diferente de texto (e..g application/xml).
Abs,
Henrique.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Henrique, utilizei a solução do Mail Package, e faço todo o mapping gráfico. Segue abaixo um exemplo de como está sendo feito o mapeamento. Payload retirado do Test Mapping
multipart/mixed; boundary="AaBb984dfgeSSd3532"</Content_Type><Content>AaBb--984dfgeSSd3532
Content-Type: text/plain; charset=UTF-8
Content-Disposition: inline
Segue anexo o arquivo XML referente a NFe número <arquivo xml>
Qualquer dúvida entre em contato pelo endereço eletrônico: email
Atenciosamente,
AaBb984dfgeSSd3532
Content-Type: application/xml; name=<conteudo do arquivo xml>.xml
Content-Disposition: attachment; filename=<conteudo do arquivo xml>.xml
<arquivo xml>
</Content></ns1:Mail>
Alguma idéia?
Obrigado desde já
O problema é justamente esse approach de considerar o conteúdo do XML como texto dentro de uma msg multipart...
Na verdade, quem quebra nao é vc, é o client de quem tá recebendo.
Codificar em base64 ajuda ao client nao quebrar, só que daí como vc tá montando os MIME headers na mão (usando esse approach), a codificacao base64 do adapter não vai te ajudar. Vc precisaria codificar na mão tb o XML, e deixar codificado só o conteúdo da parte XML que iria na sessão equivalente a ele...
Vc precisa codificar o conteudo do XML em base64* e incluir o header Content-Transfer-Encoding com o valor "base64", como mostrado aqui:
http://en.wikipedia.org/wiki/MIME#Multipart_messages
Aqui um link na internet que achei pra mostrar que o base64 ajuda nesse problema específico...
Abs,
Henrique.
Algumas opcoes:
http://www.source-code.biz/base64coder/java/
Ou tenta as classes: sun.misc.BASE64Encoder ou com.sap.aii.utilxi.base64.api.Base64.
Boa Noite
Tente isso
https://skydrive.live.com/view.aspx?cid=37FB84E6F2D92854&resid=37FB84E6F2D92854!450
Att
RONALDO
User | Count |
---|---|
15 | |
3 | |
2 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.