on 07-10-2013 10:16 PM
Boa tarde!
Ao receber um xml pelo GRC10 INBOUND SP13 (SP13 ainda em testes no QAS) estou recebendo a mensagem:
<nm:ExchangeFaultDataExt xmlns:nm="http://sap.com/xi/NFE/common" xmlns:prx="urn:sap.com:proxy:PIQ:/1SAI/TAS8DFA2846CCAA9B6570C6:731">
<faultText>Error reading mapping: NFE, version 2.01, group PROC_NFE</faultText>
</nm:ExchangeFaultDataExt>
Devido à este erro, o XML não chega a ser carregado no MONITOR FISCAL.
Já verifiquei todas as tags. Alguém sabe o que pode ser?
Att.
Eduardo Ikuta
Edurardo bom dia ,
Você já fez o teste de pegar o payload do xml da msg sender inbound na sxi_monitor no ambiente de QAS
e testou no mapping no ambiente de DEV ?
No ambiente de DEV você teve esse mesmo problema ?
Já reparou se o nível do package SSL-NFE esta igual no stack abap e java do ambiente de QAS ou
homogenio com ambiente de DEV ?
Veja esse detalhes e refaça a configuração desse cenário, caso persistir posta o resultado aqui.
Atenciosamente'
Ricardo Viana.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Ricardo, boa tarde!
Consegui retornar aos testes hoje.
Fiz o XML entrar no Monitor Fiscal alterando o valor da tag <nfeProc versao="2.01"> para <nfeProc versao="2.00">.
Sabe se há alguma transação para configurar a verificação de versão? Já fui na SPRO (NF-e: atualizar versão dos tipos de mensagem) e configurei as versões mesmo assim não teve efeito.
Att,
Eduardo Ikuta
Eduardo bom dia,
Bom já deu para entender o motivo que deu o execption então.
Existia uma obrigatoriedade sobre modificar a versão dos layouts para 2.01 a partir de 01/07/2012, porém isso só se tornou valido para schemas XML de consulta e retorno de situação da NF-e.
Como estamos falando de cenário Inbound, provavelmente o fornecedor do XML fez essa alteração no sistema dele para todos os schemas e isso está impactando na entrada no GRC, pois, a versão atual está na 2.00, verificar imagem abaixo:
Você fez até a alteração no XML para 2.00 e funcionou.
Sugestão de ideia simples:
Crie um novo Software Component/Produto na SLD e coloca como dependente o SLLNFE, e desenvolva um XLST mapping apenas alterando o valor desse attributo dessa tag <nfeProc versao="2.00">, feito XSLT faca um teste, funcionou configure o seu cenário inbound baseado no seu mapping.
Afinal o fornecedor vai continuar te mandando 2.01, acredito que ele não vai alterar isso.
Bom acho que é isso.
Abracos,
Ricardo Viana.
Eduado Ikuta,
Segue abaixo o XSLT para fazer a conversão, precisa fazer uma adaptação para estrutura procNFe_ib - NFB2B, mais já tem um norte:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" encoding="utf-8" indent="no"/>
<xsl:param name="versao" select="'2.00'"/>
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="@versao">
<xsl:attribute name="versao">
<xsl:value-of select="$versao"/>
</xsl:attribute>
</xsl:template>
</xsl:stylesheet>
Teste virtual:
Apesar do cenário inbound não ter mapping, cria um OperationMapping coloca esse xsl no meio que vai resolver seu problema em relação a versão do XML disponibilizada pelo fornecedor.
Atenciosamente,
Ricardo Viana.
User | Count |
---|---|
16 | |
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.