Web Service da NFS-e

655 views
Skip to first unread message

Luanna

unread,
Sep 8, 2010, 2:58:30 PM9/8/10
to LISTA PHP
Boa tarde pessoal.

Talvez minha duvida seja meio boba.. Mas como eu não tenho tanta
conhecimento em relação a geração de NFS-e, então eu to meio perdida
agora no começo de tudo...

é assim. Preciso enviar um Schema XML para o Web Service, só que no
manual de Campinas-SP, não diz como enviar.

Alguém aqui já mexeu com isso e pode me dizer como eu envio ?

Bruno Gross

unread,
Sep 9, 2010, 8:12:06 AM9/9/10
to list...@googlegroups.com
Ja desenvolvi um módulo desse em .net, mas o processo é o mesmo.
 
Qual a dificuldade? Vc tem que serializar o xml e enviar...

2010/9/8 Luanna <lulu...@gmail.com>
--
============================================================
LEIAM SEMPRE AS REGRAS DA LISTA:
http://groups.google.com.br/group/listaphp/web/regras-da-lista-php
--
LISTA PHP > http://groups.google.com.br/group/listaphp
--
REVISTA PHP > http://www.revistaphp.com.br
--
AJAX-BRASIL > http://groups.google.com/group/ajax-brasil
--
PYTHON-GOOGLE > http://groups.google.com.br/group/python-google
--
DOTNET-BRASIL > http://groups.google.com.br/group/dotnet_br
============================================================



--
Visite: www.UpaLele.com

att.
Bruno Gross
Celular: (21) 78545483
Rádio ID: 83*39379

Luanna

unread,
Sep 9, 2010, 8:57:01 AM9/9/10
to LISTA PHP
Minha dificuldade esta em enviar..
Eles não explicam muito bem como é feito esse envio na pratica.

On 9 set, 09:12, Bruno Gross <brunogr...@gmail.com> wrote:
> Ja desenvolvi um módulo desse em .net, mas o processo é o mesmo.
>
> Qual a dificuldade? Vc tem que serializar o xml e enviar...
>
> 2010/9/8 Luanna <luluky...@gmail.com>

Jônatan Fróes

unread,
Sep 10, 2010, 7:08:00 AM9/10/10
to LISTA PHP
Luanna, baixe a biblioteca (de integração) php do cobredireto. Ela é
simples e bem documentada. Será um ótimo tutorial para vc.

Luanna

unread,
Sep 10, 2010, 2:08:16 PM9/10/10
to LISTA PHP
Eu comecei a mexer com o 'NuSoap'
Segue a baixo o código que eu peguei para testar.

<?
$wsdl = 'http://treinamento.dsfweb.com.br/WsNFe2/LoteRps.jws?wsdl'; //
Endereço para enviar o XML para teste <---

$client = new soapclient($wsdl, true);

$err = $client->getError();
if ($err){
return "Erro no construtor<pre>".$err."</pre>";
}

$result = $client->call('xml',array('XML')); //Não sei quais os
parametros que eu mando aqui <---

if ($client->fault){
return "Falha<pre>".print_r($result)."</pre>";
}else{
$err = $client->getError();
if ($err){
return "Erro<pre>".$err."</pre>";
} else{
return $result;
}
}
?>

Alguém consegue me ajudar ??

E obrigada Jônatan, me ajudou essa sua dica!!

Igor Escobar

unread,
Sep 10, 2010, 3:41:14 PM9/10/10
to list...@googlegroups.com
Pessoal,

O nuSoap foi descontinuado já faz algum tempo... Se tiverem problemas existem outras formas de se trabalhar com web services soap sem utiliza-la.



Se usarem o nuSoap, segue um artigo bacana com os 2 métodos de utilização:




Regards,
Igor Escobar
Systems Analyst & Interface Designer

+ http://blog.igorescobar.com
+ http://www.igorescobar.com
+ @igorescobar (twitter)





2010/9/10 Luanna <lulu...@gmail.com>

Luanna

unread,
Sep 13, 2010, 10:52:59 AM9/13/10
to LISTA PHP
Se o NuSoap esta ultrapassado. Qual outra forma que existe para fazer
essa conexão sem ter que configurar alguma coisa ?

Pq o SOAP tem que configurar no php.ini

On 10 set, 16:41, Igor Escobar <titiolin...@gmail.com> wrote:
> Pessoal,
>
> O nuSoap foi descontinuado já faz algum tempo... Se tiverem problemas
> existem outras formas de se trabalhar com web services soap sem utiliza-la.
>
> http://php.net/manual/en/book.soap.phphttp://www.php.net/manual/en/book.xmlrpc.phphttp://wiki.locaweb.com.br/pt-br/Utilizando_SOAP_com_PHPhttp://phpsoaptoolkit.sourceforge.net/phpsoap/(extension)http://developer.apple.com/internet/webservices/soapphp.html
>
> Se usarem o nuSoap, segue um artigo bacana com os 2 métodos de utilização:http://imasters.uol.com.br/artigo/4535/php/construindo_web_services_e...
>
> Regards,
> Igor Escobar
> Systems Analyst & Interface Designer
>
> +http://blog.igorescobar.com
> +http://www.igorescobar.com
> + @igorescobar (twitter)
>
> 2010/9/10 Luanna <luluky...@gmail.com>

Igor Escobar

unread,
Sep 14, 2010, 8:38:03 AM9/14/10
to list...@googlegroups.com
Pessoal, 

Um projeto descontinuado e estar ultrapassado são duas coisas diferentes. Foi o que eu disse: Eu mesmo utilizo o nuSoap quando preciso. Mas se você tiver algum problema no decorrer do uso eu passei alguns links alternativos, mostrando que da para fazer o que você quer utilizando outros meios.


Regards,
Igor Escobar
Systems Analyst & Interface Designer

Luanna

unread,
Sep 14, 2010, 1:01:37 PM9/14/10
to LISTA PHP
E se eu usar a classe COM do PHP para enviar/ler uma DLL

<?
function chama_dll($nome_da_dll){
$objeto = new COM($nome_da_dll) or die("DLL Inacessível");
return $objeto;
}
?>

A prefeitura disponibilizou duas formar de enviar o Schema XML para
ela.
1° Por DLL
2° Por Web Service

Tente pela 2° opção, mas como não tem tanto conteúdo de NFS-e na
internet, vou ter que apelar por DLL

Só que quando eu tento executar essa função "chama_dll" ela volta o
seguinte erro

"Uncaught exception 'com_exception' with message 'Failed to create COM
object `lotenfse.dll': Sintaxe inv�lida"

On 14 set, 09:38, Igor Escobar <titiolin...@gmail.com> wrote:
> Pessoal,
>
> Um projeto descontinuado e estar ultrapassado são duas coisas diferentes.
> Foi o que eu disse: Eu mesmo utilizo o nuSoap quando preciso. Mas se você
> tiver algum problema no decorrer do uso eu passei alguns links alternativos,
> mostrando que da para fazer o que você quer utilizando outros meios.
>
> Regards,
> Igor Escobar
> Systems Analyst & Interface Designer
>
> +http://blog.igorescobar.com
> +http://www.igorescobar.com
> + @igorescobar (twitter)
>
> On Mon, Sep 13, 2010 at 11:52 AM, Luanna <luluky...@gmail.com> wrote:
> > Se o NuSoap esta ultrapassado. Qual outra forma que existe para fazer
> > essa conexão sem ter que configurar alguma coisa ?
>
> > Pq o SOAP tem que configurar no php.ini
>
> > On 10 set, 16:41, Igor Escobar <titiolin...@gmail.com> wrote:
> > > Pessoal,
>
> > > O nuSoap foi descontinuado já faz algum tempo... Se tiverem problemas
> > > existem outras formas de se trabalhar com web services soap sem
> > utiliza-la.
>
> >http://php.net/manual/en/book.soap.phphttp://www.php.net/manual/en/bo...

Reinaldo Abdo

unread,
Sep 14, 2010, 2:31:57 PM9/14/10
to list...@googlegroups.com
Estava dando uma olhada neste WSDL, realmente, eles utilizam um XML genérico e dentro dele tem que ser passado um xml convertido em string. Ai fica dificil, tem que pedir o manual para eles para saber o nome dos parâmetros que devem ser passados para cada método.


   <soapenv:Header/>
   <soapenv:Body>
      <wsn:consultarLote soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
         <mensagemXml xsi:type="xsd:string">?</mensagemXml>
      </wsn:consultarLote>
   </soapenv:Body>
</soapenv:Envelope>

Reinaldo Abdo

unread,
Sep 14, 2010, 2:19:57 PM9/14/10
to list...@googlegroups.com

Vai de WebService que é melhor!

Nunca trabalhei com NFS-e mas você deve ter recebido um endereço WSDL, creio que seja esse "http://treinamento.dsfweb.com.br/WsNFe2/LoteRps.jws?wsdl", cola esse endereço no seu navegador ( No Chrome acho que só mostra no código fonte ) , ele vai mostrar um xml com todas as informações.

Ai contém todos os campos que precisam ser enviados. 

Para facilitar você pode utilizar o programa Soap-Ui, é só adicionar este endereço em um novo projeto, ele monta os xmls de requisições, ai fica fácil visualizar o que você tem que enviar.

E para enviar as informações, utilize o PHP-Soap ou faça na unha usando o PHP-Curl você terá maior controle sobre o que acontece. 

Até....







Em 14 de setembro de 2010 14:01, Luanna <lulu...@gmail.com> escreveu:

Reinaldo Abdo

unread,
Sep 14, 2010, 3:24:03 PM9/14/10
to list...@googlegroups.com
Luana,

Consegui chamar o WebService com o PHP-Curl, como não tenho os parametros e nem as credenciais, retornou uma mensagem dizendo "ERRO VALIDACAO".



Só copiar e colar, faça o teste. Ai tem só que adaptar para outros métodos, fiz este teste com o método "consulta lote".

Não esqueça de melhorar isso é só um exemplo para você aprender.


<?php
/* ENDERECO DO WSDL */

/* XML COM OS PARAMETROS */ // TEM QUE PEGAR NO MANUAL ESTES PARAMETROS
$xmlParametros = htmlentities('
                              <teste>
                                <parametro>Tem que pegar os parametros no manual</parametro>
                              </teste>
                              ');

/* XML PARA ENVIAR */
$data  = 
'
   <soapenv:Header/>
   <soapenv:Body>
      <wsn:consultarLote soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
         <mensagemXml xsi:type="xsd:string"> '. $xmlParametros .' </mensagemXml>
      </wsn:consultarLote>
   </soapenv:Body>
</soapenv:Envelope>
';

$host  = explode('/', $wsdl);
$_host = $host[2];
$post  = $host[3].'/'.$host[4];
$post  = explode('?',$post);
$post  = $post[0];


$encode = 'utf-8';

$compress = 'gzip';

$header = array(
                'POST /'.$post.' HTTP/1.1', 
                'Host: '.$_host,
                'User-Agent: WSRConnect/1.0',
                'Content-Type: text/xml; charset='.$encode,
                'SOAPAction: "'.$soapAction.'"
                '
               );


/* FAZ AS CONFIGURACOES DO CURL */
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $wsdl );
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_VERBOSE , false);
curl_setopt($ch, CURLOPT_HEADER , false);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data );
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

if( $compress != 'none' )
{
    curl_setopt($ch, CURLOPT_ENCODING, $compress);
}    

/* FAZ O ENVIO DOS DADOS */    
$response = curl_exec($ch);
        
###### SOMENTE VER A RESPOSTA EM XML SE QUISER - DEBUG
/*
echo '<div style:background="#FFF">';
echo "<pre><h1>Resposta</h1>", print_r( htmlspecialchars( $response ), true ), "</pre>";
echo '</div>';
*/
###### DEBUGAR       


/* CONVERTER XML PARA ARRAY 
*================================================================
* CONVERTE PARA ARRAY - ASSIM FICA MELHOR DE MANIPULAR 
* A FUNCAO ABAIXO PEGUEI NA NET FAZ TEMPO NAO SEI QUEM E O DONO
*=================================================================
*/

function Xml2array( $contents, $get_attributes=1 ) 
if(!$contents) return array(); 

if(!function_exists('xml_parser_create')) { 
//print "'xml_parser_create()' function not found!"; 
return array(); 
//Get the XML parser of PHP - PHP must have this module for the parser to work 
$parser = xml_parser_create(); 
xml_parser_set_option( $parser, XML_OPTION_CASE_FOLDING, 0 ); 
xml_parser_set_option( $parser, XML_OPTION_SKIP_WHITE, 1 ); 
xml_parse_into_struct( $parser, $contents, $xml_values ); 
xml_parser_free( $parser ); 

if(!$xml_values) return;//Hmm... 

//Initializations 
$xml_array = array(); 
$parents = array(); 
$opened_tags = array(); 
$arr = array(); 

$current = &$xml_array; 

//Go through the tags. 
foreach($xml_values as $data) { 
unset($attributes,$value);//Remove existing values, or there will be trouble 

//This command will extract these variables into the foreach scope 
// tag(string), type(string), level(int), attributes(array). 
extract($data);//We could use the array by itself, but this cooler. 

$result = ''; 
if($get_attributes) {//The second argument of the function decides this. 
$result = array(); 
if(isset($value)) $result['value'] = $value; 

//Set the attributes too. 
if(isset($attributes)) { 
foreach($attributes as $attr => $val) { 
if($get_attributes == 1) $result['attr'][$attr] = $val; //Set all the attributes in a array called 'attr' 
/**  :TODO: should we change the key name to '_attr'? Someone may use the tagname 'attr'. Same goes for 'value' too */ 
} elseif(isset($value)) { 
$result = $value; 

//See tag status and do the needed. 
if($type == "open") {//The starting of the tag '<tag>' 
$parent[$level-1] = &$current; 

if(!is_array($current) or (!in_array($tag, array_keys($current)))) { //Insert New tag 
$current[$tag] = $result; 
$current = &$current[$tag]; 

} else { //There was another element with the same tag name 
if(isset($current[$tag][0])) { 
array_push($current[$tag], $result); 
} else { 
$current[$tag] = array($current[$tag],$result); 
$last = count($current[$tag]) - 1; 
$current = &$current[$tag][$last]; 

} elseif($type == "complete") { //Tags that ends in 1 line '<tag />' 
//See if the key is already taken. 
if(!isset($current[$tag])) { //New Key 
$current[$tag] = $result; 

} else { //If taken, put all things inside a list(array) 
if((is_array($current[$tag]) and $get_attributes == 0)//If it is already an array... 
or (isset($current[$tag][0]) and is_array($current[$tag][0]) and $get_attributes == 1)) { 
array_push($current[$tag],$result); // ...push the new element into that array. 
} else { //If it is not an array... 
$current[$tag] = array($current[$tag],$result); //...Make it an array using using the existing value and the new value 

} elseif($type == 'close') { //End of tag '</tag>' 
$current = &$parent[$level-1]; 

return($xml_array); 
}

$resposta = Xml2array( $response, false );

###### DEBUGAR
echo '<div style:background="#FFF">';
echo "<pre><h1>Resposta</h1>", print_r( $resposta, true ), "</pre>";
echo '</div>';
exit();
###### DEBUGAR
        
?>

Luanna

unread,
Sep 14, 2010, 3:47:08 PM9/14/10
to LISTA PHP
Reinaldo, Muito Obrigada.

Você salvou minha vida.!!

Vou dar uma olhada no código que você mandou e vou passar os
parametros certos aqui.

Qualquer duvida eu posto de novo.
> Em 14 de setembro de 2010 15:31, Reinaldo Abdo <reinaldoa...@gmail.com>escreveu:
>
> > Estava dando uma olhada neste WSDL, realmente, eles utilizam um XML
> > genérico e dentro dele tem que ser passado um xml convertido em string. Ai
> > fica dificil, tem que pedir o manual para eles para saber o nome dos
> > parâmetros que devem ser passados para cada método.
>
> > <soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> > xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="
> >http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsn="
> >http://wsnfe2.dsfnet.com.br">
> >    <soapenv:Header/>
> >    <soapenv:Body>
> >       <wsn:consultarLote soapenv:encodingStyle="
> >http://schemas.xmlsoap.org/soap/encoding/">
> >          <mensagemXml xsi:type="xsd:string">?</mensagemXml>
> >       </wsn:consultarLote>
> >    </soapenv:Body>
> > </soapenv:Envelope>
>
> ...
>
> mais »

Luanna

unread,
Sep 15, 2010, 9:53:02 AM9/15/10
to LISTA PHP
Estou com uma duvida.

Aqui no manual, esta dizendo que ao enviar o Schema XML ele retorna
uma mensagem em XML também com o resultado do procedimento...

Esse retorno é printado na tela ou ele gera um arquivo ?

On 14 set, 16:24, Reinaldo Abdo <reinaldoa...@gmail.com> wrote:
> Em 14 de setembro de 2010 15:31, Reinaldo Abdo <reinaldoa...@gmail.com>escreveu:
>
> > Estava dando uma olhada neste WSDL, realmente, eles utilizam um XML
> > genérico e dentro dele tem que ser passado um xml convertido em string. Ai
> > fica dificil, tem que pedir o manual para eles para saber o nome dos
> > parâmetros que devem ser passados para cada método.
>
> > <soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> > xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="
> >http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsn="
> >http://wsnfe2.dsfnet.com.br">
> >    <soapenv:Header/>
> >    <soapenv:Body>
> >       <wsn:consultarLote soapenv:encodingStyle="
> >http://schemas.xmlsoap.org/soap/encoding/">
> >          <mensagemXml xsi:type="xsd:string">?</mensagemXml>
> >       </wsn:consultarLote>
> >    </soapenv:Body>
> > </soapenv:Envelope>
>
> ...
>
> mais »

Luanna

unread,
Sep 15, 2010, 3:38:58 PM9/15/10
to LISTA PHP
Eu criei uma tabela com um botão, com a acção dele chamava a função
que você me passou. Já com os parametros certos ( Acredito )
E retorna esse erro:

"ERRO
A URL solicitada não pode ser recuperada

Na tentativa de recuperar a URL:

POST /WsNFe2/LoteRps.jws?wsdl HTTP/1.1
Accept: */*
Accept-Encoding: gzip
Host: treinamento.dsfweb.com.br
User-Agent: WSRConnect/1.0
Content-Type: text/xml; charset=utf-8
SOAPAction: "http://treinamento.dsfweb.com.br/WsNFe2/LoteRps.jws"
Content-Length: 5437
Expect: 100-continue


O seguinte erro foi encontrado:

* Requisição inválida.

Alguns aspectos de requisição HTTP são invalidos. Possíveis causas:

* Método desconhecido ou faltando (GET, POST)
* Faltou a URL
* Faltou o identificador HTTP (HTTP/1.0)
* A requisição pode ser muito grande
* Hostname com caracter inválido; não é permitido o uso de
underscores


Generated Wed, 15 Sep 2010 19:01:23 GMT by www.ddcred.com.br (squid/
2.7.STABLE3) "
> ...
>
> mais »

Reinaldo Abdo

unread,
Sep 15, 2010, 11:34:56 AM9/15/10
to list...@googlegroups.com
Veja este parametro:

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);


Se estiver como "true" retorna na variável se estiver "false" printa na tela.

até....





--

Reinaldo Abdo

unread,
Sep 16, 2010, 11:40:47 AM9/16/10
to list...@googlegroups.com


Em 16 de setembro de 2010 12:39, Reinaldo Abdo <reinal...@gmail.com> escreveu:
Eu fiz o teste, e da forma como passei, o WebService retorna a resposta, só basta adicionar os parametros

Você tem que substituir isso aqui pelos parametros corretos:

<teste>
 <parametro>Tem que pegar os parametros no manual</parametro>
</teste>

Exemplo:
 <requisicao>
     <login>testandoo</login>
</requisicao> 

Com os parametros corretos, ele deve voltar o resultado sem problemas.

 







Reinaldo Abdo

unread,
Sep 16, 2010, 11:39:08 AM9/16/10
to list...@googlegroups.com
Eu fiz o teste, e da forma como passei, o WebService retorna a resposta, só basta adicionar os parametros

Você tem que substituir isso aqui pelos parametros corretos:

<teste>
 <parametro>Tem que pegar os parametros no manual</parametro>
</teste>

Exemplo:








Em 15 de setembro de 2010 16:38, Luanna <lulu...@gmail.com> escreveu:

Luanna

unread,
Sep 21, 2010, 3:05:05 PM9/21/10
to LISTA PHP
Para o cURL / SOAP funcionar perfeitamente precisa fazer algum tipo de
configuração/Instalação ou apenas usar as funções no php ??

On 16 set, 12:39, Reinaldo Abdo <reinaldoa...@gmail.com> wrote:
> Eu fiz o teste, e da forma como passei, o WebService retorna a resposta, só
> basta adicionar os parametros
>
> Você tem que substituir isso aqui pelos parametros corretos:
>
> <teste>
>  <parametro>Tem que pegar os parametros no manual</parametro>
> </teste>
>
> Exemplo:
>
> ...
>
> mais »

Reinaldo Abdo

unread,
Sep 22, 2010, 8:41:56 AM9/22/10
to list...@googlegroups.com
Geralmente, vem ativado no servidor.

Tem que dar uma olhada no phpinfo();

Crie um arquivo assim:

<?php

echo phpinfo();

?>

Salva e manda rodar, assim pode ver se a extensão curl está ativada.




Luanna

unread,
Sep 22, 2010, 9:40:39 AM9/22/10
to LISTA PHP
Reinaldo,

Aqui é Guilherme ! Estou ajudando a Luanna com isso!
Nada está funcionando, então resolvi regredir a um modelo mais
simples!
Eu peguei esse exemplo que você deu alguns posts acima, coloquei os
parâmetros corretos e obtive o seguinte retorno:

Array
(
[HTML] => Array
(
[HEAD] => Array
(
[META] => Array
(
[TITLE] => ERRO: A URL solicitada no pode
ser recuperada
[STYLE] =>
)

)

)

)


Veja os parametros que coloquei seguindo um exemplo da prefeitura:

$xmlParametros = htmlentities('

<ns1:ReqConsultaLote xmlns:ns1="http://localhost:8080/WsNFe2/lote"
xmlns:tipos="http://localhost:8080/WsNFe2/tp" xmlns:xsi="http://
www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://localhost:8080/WsNFe2/lote
http://localhost:8080/WsNFe2/xsd/ReqConsultaLote.xsd">
<Cabecalho>
<CodCidade>6291</CodCidade>
<CPFCNPJRemetente>27394162000108</CPFCNPJRemetente>
<Versao>1</Versao>
<NumeroLote>7105</NumeroLote>
</Cabecalho>
</ns1:ReqConsultaLote>
');

O endereço para envio:

$wsdl = "http://treinamento.dsfweb.com.br/WsNFe2/LoteRps.jws?wsdl";

Agradeço muito a sua atenção e ajuda!
Abraços!

On 22 set, 09:41, Reinaldo Abdo <reinaldoa...@gmail.com> wrote:
> Geralmente, vem ativado no servidor.
>
> Tem que dar uma olhada no phpinfo();
>
> Crie um arquivo assim:
>
> <?php
>
> echo phpinfo();
>
> ?>
>
> Salva e manda rodar, assim pode ver se a extensão curl está ativada.
>
> ...
>
> mais »

Juliano Biscaia

unread,
Sep 22, 2010, 9:59:09 AM9/22/10
to list...@googlegroups.com
Olá!

Lí rapidamente este tópico, e me surgiu uma dúvida: tem proxy aí onde você está fazendo o teste ???
PODE, veja bem, PODE ser que se tiver proxy, seu pedido não está passando pelo proxy por falta de autenticação.
Se tiver a possibilidade de "desligar" o proxy para testes, ou testar em local sem proxy para ver se passa, podemos tirar essa dúvida.
--
____________________
Juliano Biscaia
http://julianobiscaia.com.br
http://twitter.com/jbiscaia

Luanna

unread,
Sep 22, 2010, 1:38:37 PM9/22/10
to LISTA PHP
Juliano,

Muito bem pensado!
Verifiquei aqui e realmente o proxy estava atrapalhando um pouco nossa
vida.!
Ja alterei as regras de proxy e parou de dar esse problema, mas mesmo
assim ainda não funciona!

Colei o código exatamente igual ao do Reinaldo, e tenho o seguinte
retorno:

Array
(
[soapenv:Envelope] => Array
(
[soapenv:Header] => Array
(
[soapenv:Upgrade] => Array
(
[soapenv:SupportedEnvelope] =>
)

)

[soapenv:Body] => Array
(
[soapenv:Fault] => Array
(
[faultcode] => soapenv:VersionMismatch
[faultstring] => Version Mismatch
[detail] => Array
(
[ns1:hostname] => dcsptrn01
)

)

)

)

)


On 22 set, 10:59, Juliano Biscaia <glimerm...@gmail.com> wrote:
>   Ol�!
>
> L� rapidamente este t�pico, e me surgiu uma d�vida: tem proxy a� onde
> voc� est� fazendo o teste ???
> PODE, veja bem, PODE ser que se tiver proxy, seu pedido n�o est�
> passando pelo proxy por falta de autentica��o.
> Se tiver a possibilidade de "desligar" o proxy para testes, ou testar em
> local sem proxy para ver se passa, podemos tirar essa d�vida.
>
> Em 22-09-2010 10:40, Luanna escreveu:
>
> > Reinaldo,
>
> > Aqui � Guilherme ! Estou ajudando a Luanna com isso!
> > Nada est� funcionando, ent�o resolvi regredir a um modelo mais
> > simples!
> > Eu peguei esse exemplo que voc� deu alguns posts acima, coloquei os
> > par�metros corretos e obtive o seguinte retorno:
> > O endere�o para envio:
>
> > $wsdl = "http://treinamento.dsfweb.com.br/WsNFe2/LoteRps.jws?wsdl";
>
> > Agrade�o muito a sua aten��o e ajuda!
> > Abra�os!
>
> > On 22 set, 09:41, Reinaldo Abdo<reinaldoa...@gmail.com>  wrote:
> >> Geralmente, vem ativado no servidor.
>
> >> Tem que dar uma olhada no phpinfo();
>
> >> Crie um arquivo assim:
>
> >> <?php
>
> >> echo phpinfo();
>
> >> ?>
>
> >> Salva e manda rodar, assim pode ver se a extens�o curl est� ativada.
>
> >> Em 21 de setembro de 2010 16:05, Luanna<luluky...@gmail.com>  escreveu:
>
> >>> Para o cURL / SOAP funcionar perfeitamente precisa fazer algum tipo de
> >>> configura��o/Instala��o ou apenas usar as fun��es no php ??
> >>> On 16 set, 12:39, Reinaldo Abdo<reinaldoa...@gmail.com>  wrote:
> >>>> Eu fiz o teste, e da forma como passei, o WebService retorna a resposta,
> >>> s�
> >>>> basta adicionar os parametros
> >>>> Voc� tem que substituir isso aqui pelos parametros corretos:
> >>>> <teste>
> >>>>   <parametro>Tem que pegar os parametros no manual</parametro>
> >>>> </teste>
> >>>> Exemplo:
> >>>> Em 15 de setembro de 2010 16:38, Luanna<luluky...@gmail.com>  escreveu:
> >>>>> Eu criei uma tabela com um bot�o, com a ac��o dele chamava a fun��o
> >>>>> que voc� me passou. J� com os parametros certos ( Acredito )
> >>>>> E retorna esse erro:
> >>>>> "ERRO
> >>>>> A URL solicitada n�o pode ser recuperada
> >>>>> Na tentativa de recuperar a URL:
> >>>>> POST /WsNFe2/LoteRps.jws?wsdl HTTP/1.1
> >>>>> Accept: */*
> >>>>> Accept-Encoding: gzip
> >>>>> Host: treinamento.dsfweb.com.br
> >>>>> User-Agent: WSRConnect/1.0
> >>>>> Content-Type: text/xml; charset=utf-8
> >>>>> SOAPAction: "http://treinamento.dsfweb.com.br/WsNFe2/LoteRps.jws"
> >>>>> Content-Length: 5437
> >>>>> Expect: 100-continue
> >>>>> O seguinte erro foi encontrado:
> >>>>>     * Requisi��o inv�lida.
> >>>>> Alguns aspectos de requisi��o HTTP s�o invalidos. Poss�veis causas:
> >>>>>     * M�todo desconhecido ou faltando (GET, POST)
> >>>>>     * Faltou a URL
> >>>>>     * Faltou o identificador HTTP (HTTP/1.0)
> >>>>>     * A requisi��o pode ser muito grande
> >>>>>     * Hostname com caracter inv�lido; n�o � permitido o uso de
> >>>>> underscores
> >>>>> Generated Wed, 15 Sep 2010 19:01:23 GMT bywww.ddcred.com.br(squid/
> >>>>> 2.7.STABLE3) "
> >>>>> On 15 set, 10:53, Luanna<luluky...@gmail.com>  wrote:
> >>>>>> Estou com uma duvida.
> >>>>>> Aqui no manual, esta dizendo que ao enviar o Schema XML ele retorna
> >>>>>> uma mensagem em XML tamb�m com o resultado do procedimento...
> >>>>>> Esse retorno � printado na tela ou ele gera um arquivo ?
> >>>>>> On 14 set, 16:24, Reinaldo Abdo<reinaldoa...@gmail.com>  wrote:
> >>>>>>> Luana,
> >>>>>>> Consegui chamar o WebService com o PHP-Curl, como n�o tenho os
> >>>>> parametros e
> >>>>>>> nem as credenciais, retornou uma mensagem dizendo "ERRO VALIDACAO".
> >>>>>>> S� copiar e colar, fa�a o teste. Ai tem s� que adaptar para outros
> >>>>> m�todos,
> >>>>>>> fiz este teste com o m�todo "consulta lote".
> >>>>>>> N�o esque�a de melhorar isso � s� um exemplo para voc� aprender.
> ...
>
> mais »

Luanna

unread,
Sep 22, 2010, 2:07:27 PM9/22/10
to LISTA PHP
Consegui resolver pessoal =D

Muito obrigada pela atenção de todos!!!

Eu escava copiando exatamente o que me passavaram, porém os post aqui
do grupo tem uma largura fixa e
quando eu colava no arquivo ele vinha da forma que estava aqui.
Por algum motivo isso estava atrapalhando muito. Reformatei todo o
codigo XML e enviei.
Desabilitei o proxxy e funcionou.
> ...
>
> mais »

Luanna

unread,
Sep 23, 2010, 8:42:03 AM9/23/10
to LISTA PHP
> ...
>
> mais »
Reply all
Reply to author
Forward
0 new messages