Si consumo el WS en php no me da problema, y todo corre genial, no me muestra error alguno, pero al consumirlo desde .NET (que no viene al caso consultar en este foro), lo que me gustaría saber es si estoy haciendo bien con el siguiente código:
server.php
Código PHP:
<?
require_once('lib/nusoap.php');
$server = new soap_server();
$server->configureWSDL('repuesta', 'urn:repuesta');
$server->register('repuesta', // nombre método
array('operacion' => 'xsd:string'), // parámetros de entrada
array('return' => 'xsd:string'), // parámetros de salida
'urn:repuesta', // namespace
'urn:repuesta#repuesta', // soapaction
'rpc', // estilo
'encoded', // uso
'WebService de Prueba' // documentación
);
function repuesta($operacion) {
include('params.php');
$proceso=$clase->funcion();
}
?>
Código PHP:
<?
class detalle {
function soap($xml){
require_once('lib/nusoap.php');
$oSoapClient = new nusoap_client($this->webservice(),true);
$mensaje=$xml;
$result = $oSoapClient->call("RecivingXML",array('xmlrequire'=>$mensaje));
$err = $oSoapClient->getError();
if ($err) {
$result= '<fieldset><h2>Error en la Conexión</h2><pre>' . $err . '<br></pre><h4>Por favor intente mas tarde.</h4></fieldset>';
}
return $result;
}
function serverdate($tipo_fecha){
$initialdate=$this->soap('<QUERY_REQUERIMENT_PARAMS><PROCESSINGDATE>1</PROCESSINGDATE></QUERY_REQUERIMENT_PARAMS>');
foreach($initialdate as $val){
$xmldate=$this->xmlbreak($val, 'PROCESSINGDATE');
}
if($tipo_fecha==1){
$block=explode('/',$xmldate);
$fecha=$block[2].'-'.$block[1].'-'.$block[0];
}else{
$fecha=$xmldate;
}
return $fecha;
}
}
$clase = new detalle;
?>