+3

Web Service com WSDL

criado por Eder Campos Lopes em 05/01/2012 9:15am
notem que neste aquivo existe

<xs:complexType name="recuperarInformacoesCancelamento">
     <xs:sequence>
	 <xs:element name="cpfdocliente" type="xsd:string" />
	 </xs:sequence>
</xs:complexType>

Este é o nome da função que você irá criar "recuperarInformacoesCancelamento", note que esta função tem um parametro chamado cpfdocliente do tipo string


Esta função também exige um retorno nos parametros apresentados abaixo
<xs:schema targetNamespace="http://localhost/php/soap/ -trocar esta url para sua de produção"
			version="1.0" xmlns:tns="http://localhost/php/soap/ -trocar esta url para sua de produção"
			xmlns:xs="http://www.w3.org/2001/XMLSchema">
			<xs:element name="InformacoesCancelamento" type="tns:InformacoesCancelamento" />
			<xs:complexType name="InformacoesCancelamento">
				<xs:sequence>
					<xs:element name="cancelamentoPermitido" type="xs:boolean" />
					<xs:element minOccurs="0" name="percentual" type="xs:float" />
					<xs:element minOccurs="0" name="observacao" type="xs:string" />
				</xs:sequence>
			</xs:complexType>
		</xs:schema>

Vamos interpretar e traduzir para linguagem php:

Este codigo esta dizendo que o response da função recuperarInformacoesCancelamento deve ser um objeto (array, xml, class) com o nome InformacoesCancelamento com os seguintes dados

cancelamentoPermitido, percentual, observacao

Parte do código php que descreve este retorno
        $dados['informacoesCancelamento']['cancelamentoPermitido'] = true;
        $dados['informacoesCancelamento']['percentual'] 	   = 15.00;
        $dados['informacoesCancelamento']['observacao']		   = 'cancelamento permitido';

Existe uma ferramenta muito boa que podemos testar nosso web service para ver se ele esta funcionando o nome dela é soapui pode ser encontrado no site
http://www.soapui.org/


mais você também pode fazer um cliente para validar seu webservice, vamos ver isso na próxima página.

Comentários:

Mostrando 1 - 5 de 5 comentários
Caros amigos. Estou precisando criar um web-service para um contato de suporte aqui na empresa em q trabalho. Não sei por onde começar. Temos um site, onde tem um link de suporte, que encaminha para um formulário. Neste formulário, é informado somente o nome do solicitante e a descrição do suporte. As demais informações é passada via programa mesmo, pois é o nome de usuário logado, empresa logada, etc... estes dados tem q ser enviado via xml para um outro banco de dados em um outro sistema, via web-service. O que posso estar vendo, lendo e estudando para poder desenvolver esta aplicação? Já antecipo os agradecimentos, obrigado a todos.
25/09/2012 10:31am (~5 anos atrás)

Gustavo disse:
Na página do tutorial nr 3 sobre o arquivo tenho alguma dúvidas:

Qual o nome e extenção do arquivo?
Ele deve ficar no mesmo diretório do server?

Não consigo chamar ele para a minha aplicação de exemplo...

Obrigado desdejá!
07/05/2012 3:06pm (~5 anos atrás)

José Luiz disse:
Blz pessoal

estou desenvolvendo um web service, estou usando a API nuSUAP.
Gostaria de saber se tem como criptografar o endereço do web service?

valeuuuuu
20/04/2012 10:53am (~5 anos atrás)

Marcos Orelio disse:
Bem pessoal estou implementando um código php com a função de consumir dados de um web service, no meu caso eu tenho duas telas de login, a primeira com "usuario e senha" do site webservice e a segunda "codigo, senha e CPF" de acesso ao xml do webservice. Muito bem o codigo para consultar o web service está basicamente correto pórem a primeira validação de logon eu não consegui implementar vou colocar o cógigo abaixo de uma validadção via HTTP feita em php

<?php
if (!isset($_SERVER['PHP_AUTH_USER'])) {
header('WWW-Authenticate: Basic realm="http://www.webservicex.net/stockquote.asmx"&#039;); // exemplo de web server
header('HTTP/1.0 401 Unauthorized');
echo 'Texto a ser enviado caso o usuário aperte o botão Cancelar';
exit;
} else {
echo "<p>Olá, {$_SERVER['PHP_AUTH_USER']}.</p>";
echo "<p>Você digitou {$_SERVER['PHP_AUTH_PW']} como sua senha.</p>";
}
?>

Esse codigo acima uma chamada para o cliente inserir usuário e senha porém no meu caso eu queria que ele ja atribui-se esse valor string na função ou seja seja automático.
Depois dessa tela o usuario veria uma tela de formulário onde escreveria seu cpf, codigo e senha então esse valores seriam processados pelo web service dando como retorno seu nome, local onde mora etc... nesse caso o arquivo xml especifica quais variaveis deve usar, contudo não sei se meu codigo esta errado ou o fato de eu não ter feito o primeiro login da pagina do server porde ter acarretado nisso.
Eu também irei colocar o último código que fiz abaixo.


<?php
$clientSoap = new SoapClient( "http://www.webservicex.net/stockquote.asmx?WSDL" ); // essa url xml é so para ilustrar
$params = array('codigo' => '00011122233344');
$params2 = array('senha' => '00011122233344');
$params3 = array('cpf' => '00011122233344');
$result = $clientSoap->recuperarInformacoesCancelamento( $params,$params2,$params3 );
print_r($result);
?>

esse codigo acima retrata so uma idéia do que eu queria mas na verdade eu envio os valores codigo, senha, e cpf e so então o servidor me autoriza a pegar nome, local...

Eu tentei via metodo POS[] sem resultado use o metodo GetQuote e metodo CALL do SOAP mas como eu não consegui estabelecer a conexão acho que isso não pede ser de granda ajuda.

Mas muito obrigado antes de tudo quem puder me dar uma ajuda seria de grande valia.
15/03/2012 11:59am (~5 anos atrás)

Brandão disse:
Boa tarde.

Como faço para me autenticar em um webservice utilizando certificado tipo A3? Estou utilizando o soap nativo do PHP.

07/01/2012 5:10pm (~6 anos atrás)

Novo Comentário:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)