+3

Web Service com WSDL

criado por Eder Campos Lopes em 05/01/2012 9:15am
Verificar estrutura de .wsdl no artigo

http://imasters.com.br/artigo/4422/webservices/descrevendo_um_web_service_-_wsdl/

<?xml version='1.0' encoding='UTF-8'?>
<wsdl:definitions name="CancelamentoService"
	targetNamespace="http://localhost/php/soap/ -trocar esta url para sua de produção"
	xmlns:ns1="http://schemas.xmlsoap.org/soap/http" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
	xmlns:tns="http://localhost/php/soap/ -trocar esta url para sua de produção"
	xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
	<wsdl:types>
		<xs:schema elementFormDefault="unqualified"
			targetNamespace="http://localhost/php/soap/ -trocar esta url para sua de produção"
			version="1.0" xmlns:ns1="http://localhost/php/soap/ -trocar esta url para sua de produção"
			xmlns:tns="http://localhost/php/soap/ -trocar esta url para sua de produção"
			xmlns:xs="http://www.w3.org/2001/XMLSchema">
			<xs:import namespace="http://localhost/php/soap/ -trocar esta url para sua de produção" />
			<xs:element name="recuperarInformacoesCancelamento" type="tns:recuperarInformacoesCancelamento" />
			<xs:element name="recuperarInformacoesCancelamentoResponse"
				type="tns:recuperarInformacoesCancelamentoResponse" />
			<xs:complexType name="recuperarInformacoesCancelamento">
				<xs:sequence>
					<xs:element name="cpfdocliente" type="xsd:string" />
				</xs:sequence>
			</xs:complexType>
			<xs:complexType name="recuperarInformacoesCancelamentoResponse">
				<xs:sequence>
					<xs:element name="informacoesCancelamento" type="ns1:InformacoesCancelamento" />
				</xs:sequence>
			</xs:complexType>
		</xs:schema>
		<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>
	</wsdl:types>
	<wsdl:message name="recuperarInformacoesCancelamentoResponse">
		<wsdl:part element="tns:recuperarInformacoesCancelamentoResponse"
			name="parameters">
		</wsdl:part>
	</wsdl:message>
	<wsdl:message name="recuperarInformacoesCancelamento">
		<wsdl:part element="tns:recuperarInformacoesCancelamento"
			name="parameters">
		</wsdl:part>
	</wsdl:message>
	<wsdl:portType name="CancelamentoService">
		<wsdl:operation name="recuperarInformacoesCancelamento">
			<wsdl:input message="tns:recuperarInformacoesCancelamento"
				name="recuperarInformacoesCancelamento">
			</wsdl:input>
			<wsdl:output message="tns:recuperarInformacoesCancelamentoResponse"
				name="recuperarInformacoesCancelamentoResponse">
			</wsdl:output>
		</wsdl:operation>
	</wsdl:portType>
	<wsdl:binding name="CancelamentoServiceSoapBinding" type="tns:CancelamentoService">
		<soap:binding style="document"
			transport="http://schemas.xmlsoap.org/soap/http" />
		<wsdl:operation name="recuperarInformacoesCancelamento">
			<soap:operation soapAction="" style="document" />
			<wsdl:input name="recuperarInformacoesCancelamento">
				<soap:body use="literal" />
			</wsdl:input>
			<wsdl:output name="recuperarInformacoesCancelamentoResponse">
				<soap:body use="literal" />
			</wsdl:output>
		</wsdl:operation>
	</wsdl:binding>
	<wsdl:service name="CancelamentoService">
		<wsdl:port binding="tns:CancelamentoServiceSoapBinding"
			name="CancelamentoServicePort">
			<soap:address
				location="http://localhost/soap/server.php" />
		</wsdl:port>
	</wsdl:service>
</wsdl:definitions>

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.)