Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Aconrado

WebServices

Recommended Posts

Como fasso para vincular um WebService no meu Site ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Depende de qual Webservice, geralmente existem instruções de como tratar os dados deste webservice

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem não sei muito sobre esse WebService. Unica coisa que sei é para mostrar os Ramais do Pessoal aqui.

 

Falando Nome, Telefone, Local, Setor.

 

Tenho que fazer isso para o Joomla, meu chefe disse que tenho que montar um arquivo em PHP e XML para fazer esse serviço.

 

_______________________________________________________

 

Dei uma olhada em alguns codigos assim:

http://orleans.curitiba.pr.gov.br/listatelefonica/ListaTelefonica.asmx?op=PesquisarTelefone

 

Os codigos estão com um texto "string". Nessa string tenho que pegar uma coisa especifica do WebService ?

 

Desculpe-me mas não sei muito de PHP

Compartilhar este post


Link para o post
Compartilhar em outros sites

Certo, você quer um webservice para consultar sua agenda telefônica ? Você sabe como funciona um servidor Soap ?

Enfim .. vamos lá. Criei o Webservice, junto do seu diagrama, talvez te ajude, talvez não, mas ... isso é contigo. O Service.wsdl, ficou assim:

WebService.jpg

<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions name="Service" 
   targetNamespace="http://www.example.org/Service/" 
   xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 
   xmlns:tns="http://www.example.org/Service/" 
   xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
   xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
   <wsdl:types>
      <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
       targetNamespace="http://www.example.org/Service/">
 <xsd:element name="getClientes">
           <xsd:complexType>
                   <xsd:sequence>
            <xsd:element name="NomeInput" type="xsd:string"></xsd:element>
                   </xsd:sequence>
           </xsd:complexType>
 </xsd:element>
 <xsd:element name="getClientesResponse">
           <xsd:complexType>
                   <xsd:sequence>
            <xsd:element name="NomeOutput" type="xsd:string"></xsd:element>
                   </xsd:sequence>
           </xsd:complexType>
 </xsd:element>
      </xsd:schema>
    </wsdl:types>
   <wsdl:message name="getClientesRequest">
   	<wsdl:part name="getClientes" type="xsd:string"></wsdl:part>
   </wsdl:message>
   <wsdl:message name="getClientesResponse">
   	<wsdl:part name="NomeOutput" type="xsd:string"></wsdl:part>
   </wsdl:message>
   <wsdl:portType name="getClientesPortType">
   	<wsdl:operation name="getClientes">
   		<wsdl:input message="tns:getClientesRequest"></wsdl:input>
   		<wsdl:output message="tns:getClientesRequest"></wsdl:output>
   	</wsdl:operation>
   </wsdl:portType>
   <wsdl:binding name="getClientesBinding" type="tns:getClientesPortType">
   	<wsdl:operation name="getClientes">
           <soap:operation soapAction="getClientesAction" />
           <wsdl:input>
                   <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
           </wsdl:input>
           <wsdl:output>
                   <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
           </wsdl:output>
   	</wsdl:operation>
   </wsdl:binding>
   <wsdl:service name="Clientes">
           <wsdl:port name="getClientes" binding="tns:getClientesBinding">
                   <soap:address location="http://127.0.0.1/iMasters/SoapServer.php" />
           </wsdl:port>
  </wsdl:service>
</wsdl:definitions>

 

No caso, esse webservice, foi criado apenas pra demonstrar como funciona.

Depois, criei o SoapServer.php, com o seguinte conteúdo.

<?php 
       class ClientesSoapServer{
                 /**
                  * Recupera os dados de um cliente
                  * Pelo seu nome atual registrado no sistema
                  * @param String $Nome
                  */
                 public function getClientes( $Nome ){
                        if( !is_null( $Nome ) ){
                            return $Nome;
                        }
                 }

       }
       $SoapServer = new SoapServer( 'http://127.0.0.1/iMasters/Service.wsdl' );
       $SoapServer->setClass( 'ClientesSoapServer' );
       $SoapServer->handle();

 

Então, esse método getClientes, no caso você pode implementar uma consulta ao banco, retornar os dados do array se o nome for compatível, buscar em um arquivo XML etc... no caso, só estou retornando o valor passado por parâmetro no método.

Depois, criei o SoapClient.php, no caso o script que faz a requisição pro wsdl.

<?php
       $SoapClient = new SoapClient( 'http://127.0.0.1/iMasters/Service.wsdl' );
       echo $SoapClient->getClientes( 'Andrey Knupp Vital' );

 

Saída:

Andrey Knupp Vital

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ele ser um WebService feito em .NET muda alguma coisa ou todos são assim ?

 

 

______EDITADO________________

 

Sobre o que você colocou eu entendi bem pouco...

Mas já entendi alguma coisa.

 

Para eu conseguir isso tenho que ter os dados do Banco de Dados ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então teria que pegar o "item" do que procuro e colocar na string ?

 

Como se eu quizer pegar o caractere Nome de uma Banco de Dados.

 

Minha maior duvida e que nesses codigos:

 

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
 <soap:Body>
   <PesquisarTelefone xmlns="http://www.ici.curitiba.org.br/webservices/">
  <Nome>string</Nome>
     <Sigla>string</Sigla>
     <TipoPesquisa>string</TipoPesquisa>
   </PesquisarTelefone>
 </soap:Body>
</soap:Envelope>

 

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
 <soap:Body>
   <PesquisarTelefoneResponse xmlns="http://www.ici.curitiba.org.br/webservices/">
     <PesquisarTelefoneResult>
       <Contato>
         <Nome>string</Nome>
         <Orgao>string</Orgao>
         <Lotacao>string</Lotacao>
         <Telefone>string</Telefone>
         <LotacaoDescricao>string</LotacaoDescricao>
       </Contato>
       <Contato>
         <Nome>string</Nome>
         <Orgao>string</Orgao>
         <Lotacao>string</Lotacao>
         <Telefone>string</Telefone>
         <LotacaoDescricao>string</LotacaoDescricao>
       </Contato>
     </PesquisarTelefoneResult>
   </PesquisarTelefoneResponse>
 </soap:Body>
</soap:Envelope>

 

A string eu teria que mudar para o caminho dos "itens" no Banco de Dados ?

 

Meu chefe me deu esses codigos de um Tutorial, so que o Tutorial não fala nada sobre isso...

 

Mas tambem nem tenho ideia de como usar esse codigo. Eu suspeito de coloca-lo num xml, mas ai como eu varia para chamar os "itens" do Banco de Dados.

 

 

 

A FONTE: http://orleans.curitiba.pr.gov.br/listatelefonica/ListaTelefonica.asmx?op=PesquisarTelefone

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem eu tenho que fazer um espaço de Pesquiza que dai ele vincularia com um WebService e Traria os Dados.

 

Como está no link que mandei. Mas tenho que fazer isso com o PHP.

 

Resumindo: Tenho que pegar dados de um WebService com PHP.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ah certo, então basta você armar o Soap Client com o PHP, e extrair os dados .. foi mal, entendi que você queria um Webservice parecido para integrar com seu site. Esse link que você mandou, está com erro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agradeço a ajuda, e eu que tenho que me desculpar por não ter explicado da maneira certa.

 

Bem darei uma olhada como se faz um Soap Client com PHP. E qualquer duvida voutarei aqui.

 

Obrigado por avisa que o link está errada.

 

Novamente Obrigado.

 

______________EDITADO___________________________________________

 

Bem um SoapClient necessita de um SoapServer ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nopz, o cliente apenas envia as requisições Soap, isso serve pra vários tipos de webservice. O Soap server apenas recebe as requisições, como também possibilita o retorno ao cliente. Você não viu o exemplo que eu dei acima ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa, me esqueci dele...

 

Vou dar mais uma olhada nele, pelo motivo de ter esquecido alguns fatos...

 

______EDITADO_________

 

Seu exemplo é de um Soap Server ?

 

______EDITADO_2_______

 

Não entendi direito seu exemplo de SoapServer, ele vai ver os nomes igual no Banco de dados ?

 

______EDITADO_3_______

 

Poderia pegar seu exemplo e colocar num formulario html ? Ou um estilo de busca ?

 

______EDITADO_4_______

 

Aquele Service.wsdl tem que ser criado para so um SoapClient ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.