Bom dia pessoal, será que alguém pode me dizer onde estou errando ao gerar uma arquivo xml, pois o atributo xmlns esta sendo duplicado, preciso remove-lo, se alguém puder me ajudar agradeço muito.
abaixo o código.
Dim XML As New DOMDocument60
Dim Cabec, CampoDoNo As IXMLDOMElement
Dim ide, cUF, cNF, natOp, Modelo, Serie, nNF As IXMLDOMElement
Dim nfeproc As IXMLDOMElement
Dim NFe As IXMLDOMElement
Dim infNFe As IXMLDOMElement
'
Set XML = New DOMDocument60
XML.async = False
XML.validateOnParse = True
XML.resolveExternals = False
XML.preserveWhiteSpace = True
Set nfeproc = XML.createElement("nfeProc") 'Abre o primeiro nó.
XML.appendChild nfeproc
'
nfeproc.setAttribute "versao", "4.00"
nfeproc.setAttribute "xmlns", "http://www.portalfiscal.inf.br/nfe"
'Criar NFe
Set NFe = XML.createElement("NFe")
nfeproc.appendChild NFe
NFe.setAttribute "xmlns", "http://www.portalfiscal.inf.br/nfe"
'
Set infNFe = XML.createElement("infNFe")
NFe.appendChild infNFe
infNFe.setAttribute "Id", id
infNFe.setAttribute "versao", "4.00"
'
Set Cabec = XML.createProcessingInstruction("xml", "version='1.0' encoding='UTF-8'")
XML.insertBefore Cabec, nfeproc
XML.save ("c:\NFE.xml") 'Salva no local especificado.
veja como fica o xml
<?xml version="1.0" encoding="UTF-8"?>
-<nfeProc xmlns="http://www.portalfiscal.inf.br/nfe" versao="4.00">
-<NFe xmlns="http://www.portalfiscal.inf.br/nfe">
-<infNFe xmlns="" versao="4.00" Id="NFe521905109735850001805510000000001000000017">
-<ide>
<cUF>52</cUF>
Preciso remover este xmlns >---> -<infNFe xmlns="" versao="4.00" Id="NFe521905109735850001805510000000001000000017">
Preciso enviar o XML para o WebService do SPC, mais ele precisa de usuário e senha para autenticar.
Eu consigo testar pelo SoapUI sem problemas.
Tenho o código abaixo, mais não estou sabendo onde informar o usuário e senha nos fontes do VB6.
- Criando os Objetos DOMDocument e XMLHTTP
Set objDom = CreateObject("MSXML2.DOMDocument")
Set objXmlHttp = CreateObject("MSXML2.XMLHTTP")
- Carregar o XML
objDom.async = False
objDom.LoadXml XmlBody
- Abra a conexão do serviço da Web
objXmlHttp.open "POST", AsmxUrl, False
- Criando o cabeçalho XML
objXmlHttp.setRequestHeader "Content-Type", "text/xml; charset=utf-8"
objXmlHttp.setRequestHeader "SOAPAction", SoapActionUrl
- Enviando o comando para abrir a solicitação XML
objXmlHttp.send objDom.xml
Este é meu primeiro post no site e irei apresentar aqui questões que para alguns talvez sejam estranhas que sejam perguntadas em um fórum, mas gostaria de saber a opinião de vocês sobre a minha situação.
No ano de 2011 eu já trabalhava a 9 anos com o desenvolvimento de software em PHP e cansado de trabalhar para os outros eu estava a procura de uma forma de trabalhar como prestador de serviços. Foi aí que encontrei um software que por problemas judiciais havia sido descontinuado e mesmo depois que estes problemas foram resolvidos a empresa já havia falido.
Me venderam na época um software de gestão escolar que já beirava 1 milhão de linhas código por uma bagatela, porém, estava todo quebrado e demorou 2 meses só fazê-lo funcionar.
Desde então eu venho trabalhando neste software. Como trabalho sozinho mantenho somente uma quantidade de clientes suficientes para que eu tenha o meu salário, mas nunca pude oferecer ao mercado de uma forma mais ampla, pois, eu sozinho não conseguiria dar conta.
Neste ano, mudei o nome do sistema e investi um dinheiro na criação da marca e itens de propaganda, assim como contratei alguns programadores freelancers para acelerar o processo de desenvolvimento de alguns itens que eram cruciais para o lançamento do produto.
Agora estou capitalizando fundos para de fato abrir a empresa como microempresa e alugar um lugar para montar a estrutura para que tudo aconteça porém, algumas coisas me preocupam.
E aí que vem as minhas dúvidas.
Quando eu comprei o sistema ele já estava com 10 anos de desenvolvimento, por isso, já era tão grande. Há tantas funções neste sistema que ele é dividido em 5 módulos e está com 3500 janelas, portanto, em termos de tamanho baseado no que já vi em meus concorrentes o meu sistema é o maior em funções do mercado.
A problemática consiste em que por ele ser um sistema antigo, ele é em VB6 utilizando o banco de dados SQL Server. Em relação a organização e estruturação do código, desde sua concepção ele foi criado de forma a empregar regras que estavam caindo no conhecimento dos programadores ainda. Portanto, ele é bem otimizado, ágil e roda desde o windows 8 até o windows 8.1 sem nenhuma incompatibilidade.
Mas o meu medo consiste exatamente na linguagem VB6. Eu entendo que atualmente nada mais deveria rodar em VB6, ou ser desenvolvido em VB6, mas é economicamente impossível para mim uma migração.
Só para vocês ter uma idéia, fiz uma cotação com uma empresa Microsoft Partner especialistas em migração de VB6 para .NET ou VB6 para C# e os custos de uma migração de um software deste tamanho sairia em torno de 300 mil dólares.
Para não me estender mais, fica a minha dúvida: O investimento que eu precisarei fazer no momento é alto e para isto irei utilizar linhas de crédito, para contratar programadores, pessoal de suporte, recepcionista, vendedor. E quero de verdade a opinião de vocês sobre o quanto vocês acham que a linguagem que meu sistema utiliza será um ponto negativo na aderência do meu produto pelo mercado, vendo que o VB6 é desktop e não há compatibilidade alguma com dispositivos mobile ou execução em ambiente web.
Existe um módulo do sistema que foi criado em PHP para que o aluno visualizasse seus boletos bancários assim como suas notas pela internet que foi uma forma que criamos de fazer um sisteminha web usando o mesmo banco de dados do desktop, mas é uma solução bem paliativa.
Resumindo quais são as minhas chances de brigar hoje em dia com empresas que possuem softwares menores porém, notoriamente mais simples e belos do que o meu?
E qual abordagem eu deveria adotar para uma maior chance de sucesso, para quem tiver experiência?
Sei que são questões, muito complexas e peço desculpas pelo texto gigante, mas é difícil explicar rapidamente uma problemática como esta.
Desde já agradeço a ajuda de todos e os comentários que virão.
Bom dia pessoal, será que alguém pode me dizer onde estou errando ao gerar uma arquivo xml, pois o atributo xmlns esta sendo duplicado, preciso remove-lo, se alguém puder me ajudar agradeço muito.
abaixo o código.
Dim XML As New DOMDocument60
Dim Cabec, CampoDoNo As IXMLDOMElement
Dim ide, cUF, cNF, natOp, Modelo, Serie, nNF As IXMLDOMElement
Dim nfeproc As IXMLDOMElement
Dim NFe As IXMLDOMElement
Dim infNFe As IXMLDOMElement
'
Set XML = New DOMDocument60
XML.async = False
XML.validateOnParse = True
XML.resolveExternals = False
XML.preserveWhiteSpace = True
Set nfeproc = XML.createElement("nfeProc") 'Abre o primeiro nó.
XML.appendChild nfeproc
'
nfeproc.setAttribute "versao", "4.00"
nfeproc.setAttribute "xmlns", "http://www.portalfiscal.inf.br/nfe"
'Criar NFe
Set NFe = XML.createElement("NFe")
nfeproc.appendChild NFe
NFe.setAttribute "xmlns", "http://www.portalfiscal.inf.br/nfe"
'
Set infNFe = XML.createElement("infNFe")
NFe.appendChild infNFe
infNFe.setAttribute "Id", id
infNFe.setAttribute "versao", "4.00"
'
Set Cabec = XML.createProcessingInstruction("xml", "version='1.0' encoding='UTF-8'")
XML.insertBefore Cabec, nfeproc
XML.save ("c:\NFE.xml") 'Salva no local especificado.
veja como fica o xml
<?xml version="1.0" encoding="UTF-8"?>
-<nfeProc xmlns="http://www.portalfiscal.inf.br/nfe" versao="4.00">
-<NFe xmlns="http://www.portalfiscal.inf.br/nfe">
-<infNFe xmlns="" versao="4.00" Id="NFe521905109735850001805510000000001000000017">
-<ide>
<cUF>52</cUF>
Preciso remover este xmlns >---> -<infNFe xmlns="" versao="4.00" Id="NFe521905109735850001805510000000001000000017">
Desde já agradeço.
Compartilhar este post
Link para o post
Compartilhar em outros sites