Usuário com melhor resposta
NF-e namespace incorreto - duplicado

Pergunta
-
Pessoal,
Quando utilizo o servico (https://homologacao.nfe2.fazenda.pr.gov.br/nfe/NFeRecepcao2?wsdl) via Web Reference. Ele gera o seguinte SOAP Header.
<?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Header> <nfeCabecMsg xmlns="http://www.portalfiscal.inf.br/nfe/wsdl/NfeRecepcao2"> <cUF>41</cUF> <versaoDados>2.00</versaoDados> </nfeCabecMsg> </soap:Header> </soap:Envelope>
Via Service Reference:
<?xml version="1.0" encoding="windows-1250"?> <s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope"> <s:Header> <h:nfeCabecMsg xmlns:h="http://www.portalfiscal.inf.br/nfe/wsdl/NfeRecepcao2" xmlns="http://www.portalfiscal.inf.br/nfe/wsdl/NfeRecepcao2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <cUF>41</cUF> <versaoDados>2.00</versaoDados> </h:nfeCabecMsg> </s:Header> </s:Envelope>
O que fazer para que via Service Reference o h:nfeCabecMsg fique como nfeCabecMsg?
Veja partes do reference.c do Service Reference:
namespace Homologacao.PR.Versao200 { [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")] [System.ServiceModel.ServiceContractAttribute(Namespace="http://www.portalfiscal.inf.br/nfe/wsdl/NfeRecepcao2", ConfigurationName="Homologacao.PR.Versao200.NfeRecepcao2Soap12")] internal interface NfeRecepcao2Soap12 { // CODEGEN: Generating message contract since the operation nfeRecepcaoLote2 is neither RPC nor document wrapped. [System.ServiceModel.OperationContractAttribute(Action="http://www.portalfiscal.inf.br/nfe/wsdl/NfeRecepcao2/nfeRecepcaoLote2", ReplyAction="*")] [System.ServiceModel.XmlSerializerFormatAttribute()] Homologacao.PR.Versao200.nfeRecepcaoLote2Response nfeRecepcaoLote2(Homologacao.PR.Versao200.nfeRecepcaoLote2Request request); } /// <remarks/> [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "2.0.50727.4927")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.portalfiscal.inf.br/nfe/wsdl/NfeRecepcao2")] public partial class nfeCabecMsg : object, System.ComponentModel.INotifyPropertyChanged { private string cUFField; private string versaoDadosField; private System.Xml.XmlAttribute[] anyAttrField; /// <remarks/> [System.Xml.Serialization.XmlElementAttribute(Order=0)] public string cUF { get { return this.cUFField; } set { this.cUFField = value; this.RaisePropertyChanged("cUF"); } } /// <remarks/> [System.Xml.Serialization.XmlElementAttribute(Order=1)] public string versaoDados { get { return this.versaoDadosField; } set { this.versaoDadosField = value; this.RaisePropertyChanged("versaoDados"); } } /// <remarks/> [System.Xml.Serialization.XmlAnyAttributeAttribute()] public System.Xml.XmlAttribute[] AnyAttr { get { return this.anyAttrField; } set { this.anyAttrField = value; this.RaisePropertyChanged("AnyAttr"); } } public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; protected void RaisePropertyChanged(string propertyName) { System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; if ((propertyChanged != null)) { propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); } } } [System.Diagnostics.DebuggerStepThroughAttribute()] [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")] [System.ServiceModel.MessageContractAttribute(IsWrapped=false)] internal partial class nfeRecepcaoLote2Request { [System.ServiceModel.MessageHeaderAttribute(Namespace="http://www.portalfiscal.inf.br/nfe/wsdl/NfeRecepcao2")] public Homologacao.PR.Versao200.nfeCabecMsg nfeCabecMsg; [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.portalfiscal.inf.br/nfe/wsdl/NfeRecepcao2", Order=0)] public System.Xml.XmlNode nfeDadosMsg; public nfeRecepcaoLote2Request() { } public nfeRecepcaoLote2Request(Homologacao.PR.Versao200.nfeCabecMsg nfeCabecMsg, System.Xml.XmlNode nfeDadosMsg) { this.nfeCabecMsg = nfeCabecMsg; this.nfeDadosMsg = nfeDadosMsg; } } [System.Diagnostics.DebuggerStepThroughAttribute()] [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")] [System.ServiceModel.MessageContractAttribute(IsWrapped=false)] internal partial class nfeRecepcaoLote2Response { [System.ServiceModel.MessageHeaderAttribute(Namespace="http://www.portalfiscal.inf.br/nfe/wsdl/NfeRecepcao2")] public Homologacao.PR.Versao200.nfeCabecMsg nfeCabecMsg; [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.portalfiscal.inf.br/nfe/wsdl/NfeRecepcao2", Order=0)] public System.Xml.XmlNode nfeRecepcaoLote2Result; public nfeRecepcaoLote2Response() { } public nfeRecepcaoLote2Response(Homologacao.PR.Versao200.nfeCabecMsg nfeCabecMsg, System.Xml.XmlNode nfeRecepcaoLote2Result) { this.nfeCabecMsg = nfeCabecMsg; this.nfeRecepcaoLote2Result = nfeRecepcaoLote2Result; } } [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")] internal interface NfeRecepcao2Soap12Channel : Homologacao.PR.Versao200.NfeRecepcao2Soap12, System.ServiceModel.IClientChannel { } [System.Diagnostics.DebuggerStepThroughAttribute()] [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")] internal partial class NfeRecepcao2Soap12Client : System.ServiceModel.ClientBase<Homologacao.PR.Versao200.NfeRecepcao2Soap12>, Homologacao.PR.Versao200.NfeRecepcao2Soap12 { public NfeRecepcao2Soap12Client() { } public NfeRecepcao2Soap12Client(string endpointConfigurationName) : base(endpointConfigurationName) { } public NfeRecepcao2Soap12Client(string endpointConfigurationName, string remoteAddress) : base(endpointConfigurationName, remoteAddress) { } public NfeRecepcao2Soap12Client(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) : base(endpointConfigurationName, remoteAddress) { } public NfeRecepcao2Soap12Client(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) : base(binding, remoteAddress) { } [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] Homologacao.PR.Versao200.nfeRecepcaoLote2Response Homologacao.PR.Versao200.NfeRecepcao2Soap12.nfeRecepcaoLote2(Homologacao.PR.Versao200.nfeRecepcaoLote2Request request) { return base.Channel.nfeRecepcaoLote2(request); } public System.Xml.XmlNode nfeRecepcaoLote2(ref Homologacao.PR.Versao200.nfeCabecMsg nfeCabecMsg, System.Xml.XmlNode nfeDadosMsg) { Homologacao.PR.Versao200.nfeRecepcaoLote2Request inValue = new Homologacao.PR.Versao200.nfeRecepcaoLote2Request(); inValue.nfeCabecMsg = nfeCabecMsg; inValue.nfeDadosMsg = nfeDadosMsg; Homologacao.PR.Versao200.nfeRecepcaoLote2Response retVal = ((Homologacao.PR.Versao200.NfeRecepcao2Soap12)(this)).nfeRecepcaoLote2(inValue); nfeCabecMsg = retVal.nfeCabecMsg; return retVal.nfeRecepcaoLote2Result; } } }
Rogerio Augusto Bassete
Respostas
-
Boas Ricardo,
O que eu havia sugerido para o Rogerio (sem testar) é a utilização do PrefixReplacer que o Carlos criou aqui: http://blogs.msdn.com/b/carlosfigueira/archive/2010/06/13/changing-prefixes-in-xml-responses.aspx
http://www.israelaece.com- Sugerido como Resposta AndreAlvesLimaModerator sexta-feira, 1 de abril de 2011 09:12
- Marcado como Resposta AndreAlvesLimaModerator sexta-feira, 27 de maio de 2011 12:12
Todas as Respostas
-
-
-
Boas Ricardo,
O que eu havia sugerido para o Rogerio (sem testar) é a utilização do PrefixReplacer que o Carlos criou aqui: http://blogs.msdn.com/b/carlosfigueira/archive/2010/06/13/changing-prefixes-in-xml-responses.aspx
http://www.israelaece.com- Sugerido como Resposta AndreAlvesLimaModerator sexta-feira, 1 de abril de 2011 09:12
- Marcado como Resposta AndreAlvesLimaModerator sexta-feira, 27 de maio de 2011 12:12
-
Pessoal,
Quando utilizo o servico (https://homologacao.nfe2.fazenda.pr.gov.br/nfe/NFeRecepcao2?wsdl) via Web Reference. Ele gera o seguinte SOAP Header.
<?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Header> <nfeCabecMsg xmlns="http://www.portalfiscal.inf.br/nfe/wsdl/NfeRecepcao2"> <cUF>41</cUF> <versaoDados>2.00</versaoDados> </nfeCabecMsg> </soap:Header> </soap:Envelope>
Via Service Reference:
<?xml version="1.0" encoding="windows-1250"?> <s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope"> <s:Header> <h:nfeCabecMsg xmlns:h="http://www.portalfiscal.inf.br/nfe/wsdl/NfeRecepcao2" xmlns="http://www.portalfiscal.inf.br/nfe/wsdl/NfeRecepcao2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <cUF>41</cUF> <versaoDados>2.00</versaoDados> </h:nfeCabecMsg> </s:Header> </s:Envelope>
O que fazer para que via Service Reference o h:nfeCabecMsg fique como nfeCabecMsg?
Veja partes do reference.c do Service Reference:
namespace Homologacao.PR.Versao200 { [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")] [System.ServiceModel.ServiceContractAttribute(Namespace="http://www.portalfiscal.inf.br/nfe/wsdl/NfeRecepcao2", ConfigurationName="Homologacao.PR.Versao200.NfeRecepcao2Soap12")] internal interface NfeRecepcao2Soap12 { // CODEGEN: Generating message contract since the operation nfeRecepcaoLote2 is neither RPC nor document wrapped. [System.ServiceModel.OperationContractAttribute(Action="http://www.portalfiscal.inf.br/nfe/wsdl/NfeRecepcao2/nfeRecepcaoLote2", ReplyAction="*")] [System.ServiceModel.XmlSerializerFormatAttribute()] Homologacao.PR.Versao200.nfeRecepcaoLote2Response nfeRecepcaoLote2(Homologacao.PR.Versao200.nfeRecepcaoLote2Request request); } /// <remarks/> [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "2.0.50727.4927")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.portalfiscal.inf.br/nfe/wsdl/NfeRecepcao2")] public partial class nfeCabecMsg : object, System.ComponentModel.INotifyPropertyChanged { private string cUFField; private string versaoDadosField; private System.Xml.XmlAttribute[] anyAttrField; /// <remarks/> [System.Xml.Serialization.XmlElementAttribute(Order=0)] public string cUF { get { return this.cUFField; } set { this.cUFField = value; this.RaisePropertyChanged("cUF"); } } /// <remarks/> [System.Xml.Serialization.XmlElementAttribute(Order=1)] public string versaoDados { get { return this.versaoDadosField; } set { this.versaoDadosField = value; this.RaisePropertyChanged("versaoDados"); } } /// <remarks/> [System.Xml.Serialization.XmlAnyAttributeAttribute()] public System.Xml.XmlAttribute[] AnyAttr { get { return this.anyAttrField; } set { this.anyAttrField = value; this.RaisePropertyChanged("AnyAttr"); } } public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; protected void RaisePropertyChanged(string propertyName) { System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged; if ((propertyChanged != null)) { propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); } } } [System.Diagnostics.DebuggerStepThroughAttribute()] [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")] [System.ServiceModel.MessageContractAttribute(IsWrapped=false)] internal partial class nfeRecepcaoLote2Request { [System.ServiceModel.MessageHeaderAttribute(Namespace="http://www.portalfiscal.inf.br/nfe/wsdl/NfeRecepcao2")] public Homologacao.PR.Versao200.nfeCabecMsg nfeCabecMsg; [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.portalfiscal.inf.br/nfe/wsdl/NfeRecepcao2", Order=0)] public System.Xml.XmlNode nfeDadosMsg; public nfeRecepcaoLote2Request() { } public nfeRecepcaoLote2Request(Homologacao.PR.Versao200.nfeCabecMsg nfeCabecMsg, System.Xml.XmlNode nfeDadosMsg) { this.nfeCabecMsg = nfeCabecMsg; this.nfeDadosMsg = nfeDadosMsg; } } [System.Diagnostics.DebuggerStepThroughAttribute()] [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")] [System.ServiceModel.MessageContractAttribute(IsWrapped=false)] internal partial class nfeRecepcaoLote2Response { [System.ServiceModel.MessageHeaderAttribute(Namespace="http://www.portalfiscal.inf.br/nfe/wsdl/NfeRecepcao2")] public Homologacao.PR.Versao200.nfeCabecMsg nfeCabecMsg; [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.portalfiscal.inf.br/nfe/wsdl/NfeRecepcao2", Order=0)] public System.Xml.XmlNode nfeRecepcaoLote2Result; public nfeRecepcaoLote2Response() { } public nfeRecepcaoLote2Response(Homologacao.PR.Versao200.nfeCabecMsg nfeCabecMsg, System.Xml.XmlNode nfeRecepcaoLote2Result) { this.nfeCabecMsg = nfeCabecMsg; this.nfeRecepcaoLote2Result = nfeRecepcaoLote2Result; } } [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")] internal interface NfeRecepcao2Soap12Channel : Homologacao.PR.Versao200.NfeRecepcao2Soap12, System.ServiceModel.IClientChannel { } [System.Diagnostics.DebuggerStepThroughAttribute()] [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")] internal partial class NfeRecepcao2Soap12Client : System.ServiceModel.ClientBase<Homologacao.PR.Versao200.NfeRecepcao2Soap12>, Homologacao.PR.Versao200.NfeRecepcao2Soap12 { public NfeRecepcao2Soap12Client() { } public NfeRecepcao2Soap12Client(string endpointConfigurationName) : base(endpointConfigurationName) { } public NfeRecepcao2Soap12Client(string endpointConfigurationName, string remoteAddress) : base(endpointConfigurationName, remoteAddress) { } public NfeRecepcao2Soap12Client(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) : base(endpointConfigurationName, remoteAddress) { } public NfeRecepcao2Soap12Client(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) : base(binding, remoteAddress) { } [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] Homologacao.PR.Versao200.nfeRecepcaoLote2Response Homologacao.PR.Versao200.NfeRecepcao2Soap12.nfeRecepcaoLote2(Homologacao.PR.Versao200.nfeRecepcaoLote2Request request) { return base.Channel.nfeRecepcaoLote2(request); } public System.Xml.XmlNode nfeRecepcaoLote2(ref Homologacao.PR.Versao200.nfeCabecMsg nfeCabecMsg, System.Xml.XmlNode nfeDadosMsg) { Homologacao.PR.Versao200.nfeRecepcaoLote2Request inValue = new Homologacao.PR.Versao200.nfeRecepcaoLote2Request(); inValue.nfeCabecMsg = nfeCabecMsg; inValue.nfeDadosMsg = nfeDadosMsg; Homologacao.PR.Versao200.nfeRecepcaoLote2Response retVal = ((Homologacao.PR.Versao200.NfeRecepcao2Soap12)(this)).nfeRecepcaoLote2(inValue); nfeCabecMsg = retVal.nfeCabecMsg; return retVal.nfeRecepcaoLote2Result; } } }
Rogerio Augusto BasseteEstou passando pelo mesmo problema na emissão de nfe no Mato Grosso, sabe como faz pra tirar o h? da mensagem??
Obrigado!
Desenvolvedor C# - Adaptivesoft
-
-
-
-
-
-
Pessoal
Caso alguém precise de mais informações, segue abaixo.
https://social.msdn.microsoft.com/Forums/pt-BR/ad2dfb81-6309-43f6-bd52-c091bf3ffacb/nfe-20-binding-erro-soap-header-action-was-not-understood?forum=webservicespt
- Editado neibala terça-feira, 3 de março de 2015 05:45 erro de digitação