Enviar XML como parametro SOAP no nuSoap
Bom dia, estou com dificuldades em fazer uma requisição enviado um xml via soap usando nusoap.
Server
class Servicos extends MY_Controller
{
function __construct() {
parent::__construct();
$CI =& get_instance();
$CI->load->library("nusoap");
$CI->nusoap->nusoap_lib();
$this->nusoap_server = new soap_server();
$this->nusoap_server->configureWSDL("SoapTeste", "urn:SoapTeste");
$this->nusoap_server->register(
"RelatorioXYZ",
array("tmp" => "xsd:string"),
array("return" => "xsd:string"),
false,
false,
"rpc",
"encoded",
"Obter Relatorio do XYZ");
function RelatorioXYZ($tmp){
if (!$tmp) {
return new soap_fault('-1', 'Server', 'Favor Preencher com o XML!');
} else {
$xmlstr = "<?xml version='1.0' encoding='utf-8'?>".
"<i4pro></i4pro>";
$xml = new SimpleXMLElement($xmlstr);
$obter_relatorio_pdf = $xml->addChild('obter_relatorio');
$obter_relatorio_pdf->addAttribute('id_relatorio', $tmp['var']['valor1']);
$obter_relatorio_pdf->addAttribute('id_endosso', $tmp['var']['valor2']);
$dom = new DOMDocument('1.0');
$dom->preserveWhiteSpace = false;
$dom->formatOutput = true;
$dom->loadXML($xml->asXML());
$cliente = new SoapClient('http://10.0.1.1/webservice/teste.asmx?WSDL');
$params = array('Servico' => 'ObterRelatorioXYZ'
,'conteudoXML' => $dom->saveXML()
);
$response = $cliente->Executar($params);
}
}
}
function index()
{
/*$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA)
? $HTTP_RAW_POST_DATA : '';
$this->nusoap_server->service($HTTP_RAW_POST_DATA);*/
@$this->nusoap_server->service(file_get_contents("php://input"));
}
}
SOAP Envent
<SOAP-ENV:Body><ObterRelatorioXYZ><tmp xsi:type="xsd:string"><?xml version="1.0" encoding="utf-8"?><obter_relatorio id_relatorio="21" id_endosso="7720940"/></tmp></ObterRelatorioXYZ>
o erro é quando eu tento tratar a variavel dentro da função, quando tento ler a string $tmp['varival']['valor1'] ele me retorna <.Discussão (0)
Carregando comentários...