Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Ronaldo Bueno

Conectar WebService

Recommended Posts

coloque assim:

 

 

sUrl = "https://nfe.prefeitura.sp.gov.br/ws/lotenfe.asmx?WSDL"
Set xmlhttp = Server.CreateObject("Microsoft.XMLHTTP")
xmlhttp.onreadystatechange=stateChanged

objXMLHTTP.setRequestHeader "lastCached", now()
xmlhttp.Open "POST", sUrl, False

Compartilhar este post


Link para o post
Compartilhar em outros sites

Xan, nada.

 

como essa linha da o erro: xmlhttp.onreadystatechange=stateChanged

Type mismatch: 'xmlhttp.onreadystatechange'

 

e sem essa linha aparece:

 

Unspecified error - linha:

xmlhttp.setRequestHeader "lastCached", now()

 

fiz assim:

sUrl = "https://nfe.prefeitura.sp.gov.br/ws/lotenfe.asmx?WSDL"
Set xmlhttp = Server.CreateObject("Microsoft.XMLHTTP")
'xmlhttp.onreadystatechange=stateChanged
xmlhttp.setRequestHeader "lastCached", now()
xmlhttp.Open "POST", sUrl, False
xmlhttp.Send (ConteudoXML)

e assim: aparece o erro do if "erro ao comunicar"

sUrl = "https://nfe.prefeitura.sp.gov.br/ws/lotenfe.asmx?WSDL"
Set xmlhttp = Server.CreateObject("Microsoft.XMLHTTP")
xmlhttp.Open "POST", sUrl, False
xmlhttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
xmlhttp.setRequestHeader "Content-Type", "text/xml"
xmlhttp.setRequestHeader "Content-Length", CStr(Len(ConteudoXML))
xmlhttp.setRequestHeader "lastCached", now()
xmlhttp.Send (ConteudoXML)

If xmlhttp.readystate = 4 And xmlhttp.status = 200 Then
	mensagem = xmlhttp.ResponseText
	response.write mensagem
else
	response.write "Erro ao comunicar"
end if

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ronaldo estranho o objeto não reconhecer a propriedade onreadystatechange já tentou em um outro navegador?

 

ronaldo cole o código completo juntamente com a função mencionada no onreadystatechange

Compartilhar este post


Link para o post
Compartilhar em outros sites

If xmlhttp.readystate = 4 And xmlhttp.status = 200 Then

mensagem = xmlhttp.ResponseText

response.write mensagem

else

response.write "Erro ao comunicar"

end if

 

Esse trecho que tem ficar dentro da função...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas eu não tenho função. Nessa pagina tem apenas a leitura do xml (ja testei e esta ok) e depois esse código para enviar o xml.

 

Ja usei isso em função, mas em js e não dentro do ASP.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz assim agora: mas também não deu:

 

<script type="text/javascript">

	function ajaxInit() {
        var req;
        try {
            req = new ActiveXObject('Microsoft.XMLHTTP');
        } catch(e) {
            try {
                req = new ActiveXObject('Msxml2.XMLHTTP');
            } catch(ex) {
                try {
                    req = new XMLHttpRequest();
                } catch(exc) {
					jAlert('<strong>Esse browser não suporta Ajax</strong>!', 'Alerta');
                    req = null;
                }
            }
        }
        return req;
    }

	function EnviarXml(xml){
		
			
		ajax = ajaxInit();
		ajax.open('POST', 'https://nfe.prefeitura.sp.gov.br/ws/lotenfe.asmx?WSDL'+xml,true);
		ajax.onreadystatechange=function() {
			if (ajax.readyState==1){
				
			}
			if (ajax.readyState==4){
			
				XmlRetorno = ajax.responseText;
				alert(XmlRetorno);
			}
		}
		ajax.setRequestHeader("Pragma", "no-cache");
		ajax.send(null);
		
	}

</script>

Essa função que se referia Gustavo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tive um avanço: no Chrome, aparece a janela para selecionar o certificado, coloquei como teste dois textareas um para receber o retorno e outro com xml a ser enviado, só que não exibe nada no retorno, também dei um alert no resultado e vem em branco.

 

<script type="text/javascript">

	function ajaxInit() {
        var req;
        try {
            req = new ActiveXObject('Microsoft.XMLHTTP');
        } catch(e) {
            try {
                req = new ActiveXObject('Msxml2.XMLHTTP');
            } catch(ex) {
                try {
                    req = new XMLHttpRequest();
                } catch(exc) {
					alert('Esse browser não suporta Ajax!');
                    req = null;
                }
            }
        }
        return req;
    }

	function EnviarXml(){
		
		var xml = document.enviarxmlpre.xmlass.value;
		//alert(xml);
			
		ajax = ajaxInit();
		ajax.open('POST', 'https://nfe.prefeitura.sp.gov.br/ws/lotenfe.asmx?WSDL'+xml,true);
		ajax.onreadystatechange=function() {
			if (ajax.readyState==1){
				document.enviarxmlpre.xmlrespostas.value = '';
			}
			if (ajax.readyState==4){
			
				XmlRetorno = ajax.responseText;
				alert(XmlRetorno);
				//document.enviarxmlpre.xmlrespostas.value = XmlRetorno;
			}
		}
		ajax.setRequestHeader("Pragma", "no-cache");
		ajax.send(null);
		
	}

</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

vc tem certeza que o certificado esta OK

Compartilhar este post


Link para o post
Compartilhar em outros sites

Xan,

 

Tenho, pois já fiz vários procedimentos e todos eles pedem para selecionar o certificado (menos o Da Nota Fiscal), somente o Chrome esta pedindo, os outros (IE, Safari) não apresenta nada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu costumo usar firefox, até mesmo para algumas app sincronizando com dados do santander uso firefox. No firefox como ele se comporta ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Xan,

 

Nada, eu coloquei uma msg de erro no textarea de retorno apenas para testar.

 

				if(ajax.status==200){
			
					var XmlRetorno = ajax.responseText;
					alert(XmlRetorno);
					//document.enviarxmlpre.xmlrespostas.value = XmlRetorno;
					
				}
				else{
					//document.enviarxmlpre.xmlrespostas.value = '';
					document.enviarxmlpre.xmlrespostas.value = 'Não concluído';
				}

e aparece "Não concluído" ou seja não passa no if(ajax.status==200)

 

A MSG de erro aparece no Firefox e Safari no IE e no Chrome não aparece nada

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.