Como consumir um WebService via HTTP com login e senha ?
06/07/2017
0
Preciso invocar/consumir o método listarProdutos conforme mostra o WSDL abaixo:
Conforme orientação abaixo tenho que consumir o método: "listarProdutos"
WSDL:
Adicionar ao final da URL "?wsdl"
Deve ser utilizado o charset UTF-8 no envio das informações.
O propósito deste documento é apresentar o web-service disponível para consulta a produtos
do XXX Brasil.
Autenticação
A autenticação desse serviço segue a forma padrão Http basic (ver documento "Forma padrão
de autenticação dos web-services da aplicação Java").
Operação "listarProdutos"
Descrição: Retorna os produtos disponíveis para consulta.
Regras de uso:
1. Caso não existam produtos disponíveis para o operador, a operação não retorna dado.
Parâmetros de Entrada: não se aplica.
Retorno: Lista dos produtos disponíveis para o operador.
Fiz alguns cursos relacionados com o assunto aqui no site Devmedia, mas nenhum falando como consumir o WebService conforme orientação abaixo:
Forma padrão de autenticação dos webservices da aplicação Java para entidades e associados
É necessário que o cliente possua um operador cadastrado no sistema, com permissão de
acesso "web-service" e senha específica para o meio de acesso; o mecanismo de autenticação
utiliza o padrão HTTP basic authentication.
Os dados de login (operador e senha) devem ser enviados no header específico
(Authorization), criptografados em Base 64,exemplo:
O nome do operador (no exemplo, "wsteste") e a senha (no exemplo, "wsteste333")
devem ser concatenados:
wsteste:wsteste333
Em seguida, devem ser criptografados em Base 64:
d3N0ZXN0ZTp3c3Rlc3RlMzMz
As requisições devem ser enviadas contendo o header, utilizando a sequencia
criptografada:
Authorization: Basic d3N0ZXN0ZTp3c3Rlc3RlMzMz
O login é executado em toda operação do web-service; sendo assim, toda requisição
deve possuir o header especificado acima; caso o login não ocorra com sucesso, o
serviço retorna "HTTP ERROR: 401";
Exemplo de requisição contendo o header:
<!-- Published by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is JAX-WS RI 2.2.1-hudson-28-. --> <!-- Generated by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is JAX-WS RI 2.2.1-hudson-28-. --> <definitions xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsp="http://www.w3.org/ns/ws-policy" xmlns:wsp1_2="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://webservice.consulta.spcjava.spcbrasil.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://webservice.consulta.spcjava.spcbrasil.org/" name="consultaWebService"> <types>...</types> <message name="listarProdutos"/> <message name="listarProdutosResponse"> <part name="produtos" element="tns:produtos"/> </message> <message name="consultar">...</message> <message name="consultarResponse">...</message> <message name="detalharProduto">...</message> <message name="detalharProdutoResponse">...</message> <message name="consultaComplementar">...</message> <message name="consultaComplementarResponse">...</message> <message name="consultaScore">...</message> <message name="consultaScoreResponse">...</message> <portType name="consultaWebService">...</portType> <binding name="consultaWebServicePortBinding" type="tns:consultaWebService">...</binding> <service name="consultaWebService">...</service> </definitions>
Conforme orientação abaixo tenho que consumir o método: "listarProdutos"
WSDL:
Adicionar ao final da URL "?wsdl"
Deve ser utilizado o charset UTF-8 no envio das informações.
O propósito deste documento é apresentar o web-service disponível para consulta a produtos
do XXX Brasil.
Autenticação
A autenticação desse serviço segue a forma padrão Http basic (ver documento "Forma padrão
de autenticação dos web-services da aplicação Java").
Operação "listarProdutos"
Descrição: Retorna os produtos disponíveis para consulta.
Regras de uso:
1. Caso não existam produtos disponíveis para o operador, a operação não retorna dado.
Parâmetros de Entrada: não se aplica.
Retorno: Lista dos produtos disponíveis para o operador.
Fiz alguns cursos relacionados com o assunto aqui no site Devmedia, mas nenhum falando como consumir o WebService conforme orientação abaixo:
Forma padrão de autenticação dos webservices da aplicação Java para entidades e associados
É necessário que o cliente possua um operador cadastrado no sistema, com permissão de
acesso "web-service" e senha específica para o meio de acesso; o mecanismo de autenticação
utiliza o padrão HTTP basic authentication.
Os dados de login (operador e senha) devem ser enviados no header específico
(Authorization), criptografados em Base 64,exemplo:
O nome do operador (no exemplo, "wsteste") e a senha (no exemplo, "wsteste333")
devem ser concatenados:
wsteste:wsteste333
Em seguida, devem ser criptografados em Base 64:
d3N0ZXN0ZTp3c3Rlc3RlMzMz
As requisições devem ser enviadas contendo o header, utilizando a sequencia
criptografada:
Authorization: Basic d3N0ZXN0ZTp3c3Rlc3RlMzMz
O login é executado em toda operação do web-service; sendo assim, toda requisição
deve possuir o header especificado acima; caso o login não ocorra com sucesso, o
serviço retorna "HTTP ERROR: 401";
Exemplo de requisição contendo o header:
Cookie: $Version=0; JSESSIONID=48g39p406ezh_dev01; $Path=/spc Authorization: Basic d3N0ZXN0ZTp3c3Rlc3RlMzMz Host: localhost:8080 Content-Length: 1799 SOAPAction: "" User-Agent: Jakarta Commons-HttpClient/3.0.1 Content-Type: text/xml;charset=UTF-8 Connection: close <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://webservice.consulta.sssjava.sssbrasil.org/"> <soapenv:Header/> <soapenv:Body> ... </soapenv:Body> </soapenv:Envelope>
Adriano Cordeiro
Curtir tópico
+ 0
Responder
Posts
21/11/2018
Aline Paradizo
Olá, Adriano!
Tudo bem?
Você conseguir fazer essa integração? Eu havia conseguido fazer via Oracle, mas parou de funcionar há alguns dias.
Estou tentando fazer pelo Visual Studio, mas não estou conseguindo incluir os dados da pessoa física.
Tudo bem?
Você conseguir fazer essa integração? Eu havia conseguido fazer via Oracle, mas parou de funcionar há alguns dias.
Estou tentando fazer pelo Visual Studio, mas não estou conseguindo incluir os dados da pessoa física.
Responder
Clique aqui para fazer login e interagir na Comunidade :)