CONSUMO DE URL COM HEADER
A propriedade RequestEncoding que eu coloquei no client faz parte da instância do WebServiceClient. Se o FornecedorWSServiceClient() não está implementado como herança, então deve existir alguma propriedade nele fazendo referencia ao WebServiceClient.
;
OBS: Aqui voce pode ver como se declara uma web reference: docs.microsoft.com/en-us/sharepoint/dev/general-development/step-2-adding-a-web-reference
Video do Kerplunk explicando passo a passo como se faz: www.youtube.com/watch?v=imFv34ffllA
;
OBS: Aqui voce pode ver como se declara uma web reference: docs.microsoft.com/en-us/sharepoint/dev/general-development/step-2-adding-a-web-reference
Video do Kerplunk explicando passo a passo como se faz: www.youtube.com/watch?v=imFv34ffllA
eu importei via webreferencia o servico
user
o seguinte codigo
var url = "http://homolog.huma.com.br/ws2/services/FornecedorServices?wsdl";
var parameterCnpj = "17114621000107";
var client = new FornecedorWSServiceService();
client.Url = url;
client.UseDefaultCredentials = true;
var autenticar = new autenticar() { Cnpj = "hm@2k21", username = "imp01@ouroweb.com.br", password = "17114621000107" };
var autenticarHeader = MessageHeader.CreateHeader("UsernameToken", string.Empty, autenticar);
OperationContext.Current.IncomingMessageHeaders.Add(autenticarHeader);
client.RequestEncoding = System.Text.Encoding.GetEncoding("ISO-8859-1");
var item = client.consultarNovasCotacoes(new filtroCotacaoBean
{
cnpjFornecedor = parameterCnpj
});
e ele me diz Autentica??o Obrigat?ria e nao autentica o mesmo metodo via soap assim da certo
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws2="http://www.huma.com.br/ws2">
<soapenv:Header>
<UsernameToken xmlns="http://www.huma.com.br/ws2">
<Cnpj>xxx</Cnpj>
<username>xxx</username>
<password>xxxx</password>
</UsernameToken>
</soapenv:Header>
<soapenv:Body>
<ws2:consultarNovasCotacoes>
<arg0> <cnpjFornecedor>17114621000107</cnpjFornecedor>
</arg0>
</ws2:consultarNovasCotacoes>
</soapenv:Body>
</soapenv:Envelope>
funciona normal queria passar isto para para o c#
user
o seguinte codigo
var url = "http://homolog.huma.com.br/ws2/services/FornecedorServices?wsdl";
var parameterCnpj = "17114621000107";
var client = new FornecedorWSServiceService();
client.Url = url;
client.UseDefaultCredentials = true;
var autenticar = new autenticar() { Cnpj = "hm@2k21", username = "imp01@ouroweb.com.br", password = "17114621000107" };
var autenticarHeader = MessageHeader.CreateHeader("UsernameToken", string.Empty, autenticar);
OperationContext.Current.IncomingMessageHeaders.Add(autenticarHeader);
client.RequestEncoding = System.Text.Encoding.GetEncoding("ISO-8859-1");
var item = client.consultarNovasCotacoes(new filtroCotacaoBean
{
cnpjFornecedor = parameterCnpj
});
e ele me diz Autentica??o Obrigat?ria e nao autentica o mesmo metodo via soap assim da certo
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws2="http://www.huma.com.br/ws2">
<soapenv:Header>
<UsernameToken xmlns="http://www.huma.com.br/ws2">
<Cnpj>xxx</Cnpj>
<username>xxx</username>
<password>xxxx</password>
</UsernameToken>
</soapenv:Header>
<soapenv:Body>
<ws2:consultarNovasCotacoes>
<arg0> <cnpjFornecedor>17114621000107</cnpjFornecedor>
</arg0>
</ws2:consultarNovasCotacoes>
</soapenv:Body>
</soapenv:Envelope>
funciona normal queria passar isto para para o c#
Assistiu ao video que passei do Kerplunk?
www.youtube.com/watch?v=imFv34ffllA
www.youtube.com/watch?v=imFv34ffllA
sim este exemplo acima esta exatamente neste modelo dele ,porem comoeu inputo a informação de header no cabecario , isto que esta me matando a dias que estou correndo atras se quizer vc mesmo pode ate importar o wsdl e dar uma olhada
Eu achei isso aqui, veja se te ajuda a resolver:
docs.microsoft.com/pt-br/troubleshoot/developer/webapps/iis/www-authentication-authorization/access-denied-call-web-service
docs.microsoft.com/pt-br/troubleshoot/developer/webapps/iis/www-authentication-authorization/access-denied-call-web-service
eu nao consegui sera que se eu tentar por httclient da certo eu importei como no video
Tente fazer diretamente pelo httclient então. Tenha certeza também que está com as credenciais corretas.
sim estao pois via soap ele consume sem erros
Faça seu login para responder