Fala galera, sou novato aqui e em trabalhos com web service tb, e estou com dúvidas, é o seguinte, tenho que consultar e enviar arquivos para o site da nota fiscal paulista(não nfe, e sim nfp), o endereço pra envio é
https://www.nfp.fazenda.sp.gov.br/ws/arquivocf.asmx?wsdl
só que algo está errado pois aparece a seguinte mensagem de erro:
Server was unable to process request. ---> Object reference not set to an instance of an object.
e a execução do script acaba na hora que chamo o metodo consultar, será que o erro está na definição do cabeçalho onde passo usuario, senha, cnpj e categoriaUsuario pra fazer o login.
aqui tem um manual de integração, mas como não entendo muito de web service fica dificil entender kk. se alguem puder me ajudar ou me dar umas dicas de como resolver ficarei agradecido.
link do manual:
http://www.nfp.fazenda.sp.gov.br/pdf/wscf.pdf
abaixo tá o código que fiz.
<?php
$wsdl = "
https://www.nfp.fazenda.sp.gov.br/ws/arquivocf.asmx?wsdl";
try{
$cliente = new SoapClient($wsdl,
array(
"trace" => 1,
"exceptions" => 1,
"soap_version" => SOAP_1_2,
"classmap" => array('timezone' => 'TimeZone')
));
// no lugar de strusuario, strsenha e strcnpj vão minha senha,meu usuario e //meu cnpj cadastrado no site.
$usuario = new SOAPHeader($wsdl, 'Usuario', 'strusuario');
$senha = new SOAPHeader($wsdl, 'Senha', 'strsenha');
$cnpj = new SOAPHeader($wsdl, 'CNPJ', 'strcnpj');
$tpusuario = new SOAPHeader($wsdl, 'CategoriaUsuario', '1');
$headers = array($usuario, $senha, $cnpj, $tpusuario);
$cliente->__setSOAPHeaders($headers);
//686104436
$rs = $cliente->consultar(array("Protocolo" => "686104436"));
print_r($rs);
}catch(Exception $e){
echo $e->getCode()." - ".$e->getMessage();
}