Inquiridor
Consumir webservice para consulta de lotes CF-E SAT

Pergunta
-
Pessoal estou precisando consumir o WS da CF-E SAT para consultar cupons enviados pelo empresa mas estou tendo dificuldades em entender como consumir o metodo desse WS, não entendi muito bem se tenho que enviar um XML para o metodo ou o que pois em geral os WS que ja consumir eu conecto no mesmo via VS e faço uso dos seus metodos usando suas propriedade ou preenchendo parametros.
Link com o metodo do WS a ser consumido
http://www.fazenda.sp.gov.br/sat/downloads/Manual%20para%20Consultar%20lotes%20enviados%20via%20Webservice%20%28Homologa%C3%A7%C3%A3o%29%20v1%201.pdf
Gostaria de saber se alguem ja consumiu esse WS estou usando a URL de homologação
Junior
- Editado Junior Martins quinta-feira, 3 de dezembro de 2015 23:18
Todas as Respostas
-
Amigo,
É isso mesmo que você vai fazer, não tem segredo...adicione uma nova "Service Reference" no seu projeto apontando para a URL do manual e o VS vai criar os objetos para você, depois disso é só usar.
Boa sorte!
Não esqueça de marcar como útil uma resposta que te ajude.
"A diversão é a alma do negócio" -
Olá.
Na verdade, para voce consumir este web service do SAT, vc tem de formar um xml de entrada.
Veja no documento PDF que tem o layout do mesmo.
Ao invocar o serviço, voce tem de passar o xml de entrada.
4. Anexo I - XML de entrada da consulta
O retorno será o xml de retorno (pagina 7)
5. Anexo II - XML de retorno da consulta
Não é tão simples o consumo deste tipo de serviço. Se voce tiver dificuldades, podemos montar um exemplo. Este padrão de web service é o mesmo da NF-e (nota fiscal eletronica)
espero que te ajude.
-
Boa noite, amigo... estou com o mesmo problema, e não encontrei muita coisa na internet :S se pode fazer esse grande favor ajudaria demais!
Tentei usar aquele envelope que tem no pdf, e apartir daquilo fazer a requisição , porém quando mandava o xml igual do pdf dava erro em library um microsoft object2, podia nos ajudar?
OBS:Não entendo muito de SOAP , tentei realizar a requisição usando curl, nusoap e soapclient, nenhum resultado... todos caiam em erro de library...
-
-
-
Olá a todos.
Eu fiz o projeto de teste, e fiz um teste básico, enviando um xml do jeito que vem na documentação.
Ocorre uma exception:
Server was unable to process request. ---> The type initializer for 'Microsoft.Practices.EnterpriseLibrary.Common.Configuration.ObjectBuilder.EnterpriseLibraryFactory' threw an exception. ---> Could not load file or assembly 'Microsoft.Practices.ObjectBuilder2, Version=2.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.
O erro ocorre no servidor do SAP, parece que eles não colocaram uma dll do "Microsoft.Pratices" na pasta bin do web service.
se desejar receber o projeto de teste me envie um e-mail, jgeraldo@flag.com.br.
vou enviar e-mail ao pessoal do SAT relatando o problema.
por enquanto nada se pode fazer.
-
-
-
Bom dia José, tudo bem?
Recentemente eu também enviei um e-mail para o SAT e disseram ter encaminhado para o TI, porém não obtive mais retorno.
Eles responderam sua mensagem? Nossa requisição também recebe o mesmo erro de .net, fizemos testes em PHP e com cURL
-
Ola pessoal estou com o mesmo problema e estou utilizando o SOAPUI para verificar se o problema é meu projeto ou é do webservice do sefaz.
E o problema é no sefaz e mandei um e-mail para o sefaz e tive a seguinte resposta.
"Boa tarde,
Está com erro mesmo.
Abrimos um incidente para correção (REQ000000248300).
Esperamos por uma solução até meados da próxima semana.
Atenciosamente,
Sefaz-SP"Isso foi no dia 15/01/2016 e até agora eles não arrumaram, enviei outro e-mail no dia 26/01/2016 e nada ainda.
Se alguém quiser enviar e-mail para o sefaz tem a requisição acima que podem citar para ver se tem alguma novidade.
-
Bom dia a todos, alguém já conseguiu realizar o consumo do webservice para a consulta de cupons do CF-E SAT ?
estou tendo problemas pois toda a consulta que eu tento fazer retorna Nothing. Já tentei várias estruturas de xml mas sem sucesso.
Obrigado
-
Bom dia a Todos,
Estou tentando consumir o webservice, porém não estou tendo sucesso.
Mesmo utilizando o envelope que eles disponibilizarão no manual.
Ao adicionar os campos como nseriesat, dhinicial ... ele retorna a seguinte msg "HTTP/1.1 400 Bad Request" o que leva a crer que o problema está no layout. (Já testei diversos layout e mesmo assim problema permance).
Alguém conseguiu algum retorno?
Manual: http://www.fazenda.sp.gov.br/sat/duvidas_frequentes/Manual%20para%20Consultar%20lotes%20enviados%20via%20Webservice%20(Estadual)%20v1%201.pdf
-
-
Boa tarde!
Estou com problema até consigo conectar mas dar uma erro de Versão do arquivo XML não suportada segue meu projeto caso você tenha uma luz.
Detalhe eu estou usando o xml entrada em um arquivo e carrego uma viável com o conteúdo deste arquivo pode ser que ai esteja o problema mas não conseguir ver.
obs.:
Neste código tem algumas linhas comentadas que são testes rsrs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Collections;
using System.Xml;
using System.IO;
using System.Net;
namespace Cupom_Sat
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
WebServicesefaz.CfeConsultaLotesSoapClient ws = new WebServicesefaz.CfeConsultaLotesSoapClient();
private void Form1_Load(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
// XmlDocument oXML = new XmlDocument();
// int i;
// string arquivoXML = txtXML.Text;
// oXML.Load(arquivoXML);
Callwebservice();
}
public void Callwebservice()
{
var url = "https://wssathomolog.fazenda.sp.gov.br/CFeConsultarLotes/CfeConsultarLotes.asmx";
var action = "https://wssathomolog.fazenda.sp.gov.br/CFeConsultarLotes/CfeConsultarLotes.asmx?op=CfeConsultarLotes";
XmlDocument soapEnvelopeXML = CreateSoapEnvelope();
HttpWebRequest webRequest = CreateWebRequest(url, action);
InsertSoapEnvelopIntoWebRequest(soapEnvelopeXML, webRequest);
IAsyncResult asyncResult = webRequest.BeginGetResponse(null, null);
asyncResult.AsyncWaitHandle.WaitOne();
string soapResult;
using (WebResponse webResponse = webRequest.EndGetResponse(asyncResult))
{
using (StreamReader rd = new StreamReader(webResponse.GetResponseStream()))
{
soapResult = rd.ReadToEnd();
}
//Console.Write(soapResult);
MessageBox.Show(soapResult);
// listBoxXML.Items.Add(soapResult);
txtXML.Text = soapResult;
using (StreamWriter writer = new StreamWriter("C:\\teste.xml", true))
{
writer.WriteLine(txtXML.Text);
}
XmlDocument oXML = new XmlDocument();
int i;
string arquivoXML = "C:\\teste.xml";
oXML.Load(arquivoXML);
XmlNodeList cupom = oXML.GetElementsByTagName("nCFe");
for (i = 0; i < cupom.Count; i++)
{
listBoxXML.Items.Add(cupom[i].InnerText);
}
}
}
private static HttpWebRequest CreateWebRequest(string url, string action)
{
HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(@"https://wssathomolog.fazenda.sp.gov.br/CFeConsultarLotes/CfeConsultarLotes.asmx");
// webRequest.Headers.Add("SOAPAction", action);
// webRequest.ContentType = "application/soap+xml;charset=UTF-8;action=\"http://www.fazenda.sp.gov.br/sat/wsdl/CfeConsultaLotes";
webRequest.ContentType = "text/xml;charset=\"UTF-8\"";
//webRequest.ContentType = "application/soap+xml;charset=\"UTF - 8\"";
//webRequest.Accept = "gzip,deflate";
webRequest.Accept = "text/xml";
webRequest.Method = "POST";
webRequest.Timeout = 30 * 1000;
return webRequest;
}
private static XmlDocument CreateSoapEnvelope()
{
string xmlsoap = "C:\\xmlsoap.xml";
XmlDocument soapEnvelopeDocument = new XmlDocument();
// soapEnvelopeDocument.LoadXml(xmlsoap);
// xmlsoap.Substring(xmlsoap.IndexOf(Environment.NewLine));
soapEnvelopeDocument.Load(xmlsoap);
return soapEnvelopeDocument;
}
private static void InsertSoapEnvelopIntoWebRequest(XmlDocument soapEnvelopeXML,HttpWebRequest webRequest)
{
using (Stream stream = webRequest.GetRequestStream())
{
soapEnvelopeXML.Save(stream);
}
}
}
}