Boa tarde a todos,
Acho que a minha dúvida é mais questão de conceito em si.
Estou sendo novato mesmo, comecei agora a trabalhar com o webservice e me passaram como regrar usar o PHP.
Minha dúvida é o seguinte.... Como eu começo a poder inserir os registros que o cliente que ira consumir meu webservice vai me enviar.
Eu criei o já o servidor.php que gera o wsdl. Mas como faço para receber o XML que cliente irá enviar e inserir na minha base de dados?
Vale dizer que minha base de dados será Oracle.
Segue abaixo o código do servidor PHP:
require_once 'lib/nusoap.php'; $server = new soap_server(); $server->configureWSDL('addressbook_wsdl', 'urn:addressbook_wsdl'); $server->soap_defencoding = 'UTF-8'; $server->wsdl->addComplexType('Processo_seletivo', 'complexType', 'struct', 'all', '', array( 'requisicao' => array('name' => 'requisicao', 'type' => 'xsd:int'), 'matricula_gestor' => array('name' => 'matricula_gestor', 'type' => 'xsd:int'), 'data_requisicao' => array('name' => 'data_requisicao', 'type' => 'xsd:string'), 'cod_entidade' => array('name' => 'cod_entidade', 'type' => 'xsd:int'), 'desc_entidade' => array('name' => 'desc_entidade', 'type' => 'xsd:string'), 'cod_setor' => array('name' => 'cod_setor', 'type' => 'xsd:int'), 'desc_setor' => array('name' => 'desc_setor', 'type' => 'xsd:string'), 'cod_processo' => array('name' => 'cod_processo', 'type' => 'xsd:int'), 'desc_processo' => array('name' => 'desc_processo', 'type' => 'xsd:string'), 'cod_cargo' => array('name' => 'cod_cargo', 'type' => 'xsd:int'), 'desc_cargo' => array('name' => 'desc_cargo', 'type' => 'xsd:string'), 'cod_origem_vaga' => array('name' => 'cod_origem_vaga', 'type' => 'xsd:int'), 'matricula_subs' => array('name' => 'matricula_subs', 'type' => 'xsd:int'), 'tipo_requisicao' => array('name' => 'tipo_requisicao', 'type' => 'xsd:int'), 'carga_horaria' => array('name' => 'carga_horaria', 'type' => 'xsd:string'), 'local_trabalho' => array('name' => 'local_trabalho', 'type' => 'xsd:string'), 'salario' => array('name' => 'salario', 'type' => 'xsd:string'), 'horario' => array('name' => 'horario', 'type' => 'xsd:string'), 'viagem' => array('name' => 'viagem', 'type' => 'xsd:int'), 'habilitacao' => array('name' => 'habilitacao', 'type' => 'xsd:string'), 'categoria' => array('name' => 'categoria', 'type' => 'xsd:string'), 'pcd' => array('name' => 'pcd', 'type' => 'xsd:string'), 'formacao' => array('name' => 'formacao', 'type' => 'xsd:string'), 'area_atuacao' => array('name' => 'area_atuacao', 'type' => 'xsd:string'), 'conhecimentos' => array('name' => 'conhecimentos', 'type' => 'xsd:string'), 'exp_profissional_eliminatoria' => array('name' => 'exp_profissional', 'type' => 'xsd:string'), 'exp_profissional' => array('name' => 'exp_profissional', 'type' => 'xsd:string'), 'atrib_cargo' => array('name' => 'atrib_cargo', 'type' => 'xsd:string'), 'competencias' => array('name' => 'competencias', 'type' => 'xsd:string'), 'conteudo_prova_conhecimento' => array('name' => 'conteudo_prova_conhecimento', 'type' => 'xsd:string'), 'conteudo_prova_tecnica' => array('name' => 'conteudo_prova_tecnica', 'type' => 'xsd:string'), 'conteudo_prova_pratica' => array('name' => 'conteudo_prova_pratica', 'type' => 'xsd:string'), 'etapa' => array('name' => 'etapa', 'type' => 'xsd:string'), 'cod_jornal' => array('name' => 'cod_jornal', 'type' => 'xsd:int'), 'desc_jornal' => array('name' => 'desc_jornal', 'type' => 'xsd:string') ) ); $server->wsdl->addComplexType('AddressBook', 'complexType', 'array', '', 'SOAP-ENC:Array', array(), array( array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'tns:Processo_seletivo[]') ), 'tns:Processo_seletivo' ); $server->register('insertProcesso_seletivo', array('new_contact' => 'tns:Processo_seletivo'), array('return' => 'xsd:boolean'), 'addressbook_wsdl', 'addressbook_wsdl#insertProcesso_seletivo', 'rpc', 'encoded', 'Insert contact' ); $request = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : ''; $server->service($request);
Caso esteja repetido, me desculpem.