Jump to content


Photo

Webservice + Php + Oracle Erro Response Not Of Type Text/xml: Text/htm


  • Faça o login para participar
4 replies to this topic

#1 Thiago Façanha

Thiago Façanha

    Novato no fórum

  • Usuários
  • 20 posts
  • Sexo:Não informado

Posted 16/01/2009, 11:15

Pessoal alguem aqui pode me ajudar?
Estou tentando fazer um werservice.
Criei o servidor e testei 2 funçoes
a clássica helloworld e uma que retornasse um select.
Helloworld tah ok.
Mas quando tento rodar a funcao do select dá o seguinte erro.

"Erro
Response not of type text/xml: text/html"


Segue código
<?php

require_once ('lib/nusoap.php');
include 'includes/inc_conexao_oracle.php';
$server = new soap_server;

$server->configureWSDL('server.hello','urn:server.hello');
$server->wsdl->schemaTargetNamespace = 'urn:server.hello';

$server->register('hello',
array('name' => 'xsd:string'),
array('return' => 'xsd:string'),
'urn:server.hello',
'urn:server.hello#hello',
'rpc',
'encoded',
'Retorna o nome'
);

  function hello($name)
  {

	  return 'Olá '.$name;
  }
  
  
$server->register('select',
array('param' => 'xsd:string'),
array('return' => 'xsd:string'),
'urn:server.select',
'urn:server.select#select',
'rpc',
'encoded',
'Retorna o select'
);

  function select($param)
  {
		   $sql_resumo_clientes_stm = "SELECT  cli.cod_cliente COD_CLIENTE,
										  cli.nom_cliente NOM_CLIENTE,
								FROM clientes cli
						WHERE cli.cod_cliente = '77'";
		   $sql_resumo_clientes = OCIParse($ora_conecta,$sql_resumo_clientes_stm) or die("Erro no SQL_resumo_clientes_STM ".$sql_resumo_clientes_stm);
		   OCIExecute($sql_resumo_clientes,OCI_DEFAULT);
		   Ocifetch($sql_resumo_clientes);

	  return 'sada';//ociresult($sql_resumo_clientes,"NOM_CLIENTE");
  }

$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA)?$HTTP_RAW_POST_DATA : '';
$server->service($HTTP_RAW_POST_DATA);
?>


Vlw

mesmo eu colocando a palavra 'sada' como teste ele continua dando erro.

#2 Felipe Pena

Felipe Pena

    O temor do Senhor é o princípio da sabedoria

  • Ex-Admins
  • 6441 posts
  • Sexo:Masculino

Posted 16/01/2009, 11:54

Sua query não parece correta, note que tem uma vírgula no final da lista dos campos do SELECT.
Felipe Pena
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29

#3 Thiago Façanha

Thiago Façanha

    Novato no fórum

  • Usuários
  • 20 posts
  • Sexo:Não informado

Posted 16/01/2009, 15:50

Mesmo sem ela da o mesmo erro....
vc já viu este erro antes? estou tentando achar no google mas não encontro algo similar a este erro.. nem um exemplo de função de webservice em php que tenha uma query.



Opa consegui aqui... tinha que colocar o include com as conf do banco de dados dentro da funcao ao invez de no inicio do arquivo...
Mas ficou uma dúvida... como faço para retornar varios valores na funcão? Quero pegar alguns campos de uma tabela ...
Vlw

Edição feita por: Thiago Façanha, 16/01/2009, 16:01.


#4 Felipe Pena

Felipe Pena

    O temor do Senhor é o princípio da sabedoria

  • Ex-Admins
  • 6441 posts
  • Sexo:Masculino

Posted 16/01/2009, 15:52

O Nusoap não aceita a função retornando um array? Em todo caso, você pode retornar um array serializado.
Felipe Pena
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29

#5 Thiago Façanha

Thiago Façanha

    Novato no fórum

  • Usuários
  • 20 posts
  • Sexo:Não informado

Posted 16/01/2009, 16:04

É que estou conhecendo agora esta ferramenta...
Quando eu uso no cliente eu chamo assim
$result = $client->call('select',array('71'));
Como farei para dizer que quero pegar o campo a ou o campo b da tabela por exemplo?
Existe algum lugar onde eu possa estudar este material?
Estou tendo dificuldades de achar algo sobre. Não vi nada com oracle.Achei um com mysql onde ele configurava a conexao dentro da função.. por isso resolvi testar no meu arquivo isso tbm..ai deu certo.
Vlw a ajuda cara.




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq