Foros del Web » Programando para Internet » PHP »

Duda webservice nusoap

Estas en el tema de Duda webservice nusoap en el foro de PHP en Foros del Web. Hola: mi consulta es que tengo un xml y necesito enviarlo como parametro, uso la clase nusoap, este se conecta bien y todo ok, pero ...
  #1 (permalink)  
Antiguo 19/04/2010, 17:29
 
Fecha de Ingreso: abril-2006
Mensajes: 240
Antigüedad: 18 años
Puntos: 1
Duda webservice nusoap

Hola:
mi consulta es que tengo un xml y necesito enviarlo como parametro, uso la clase nusoap, este se conecta bien y todo ok, pero manda un error al hacer el request, error de parsing, si ese xml lo tiro directo desde un programa(soapui), funciona bien.
¿que puede ser?

sobre.xml
Código PHP:
<?xml version="1.0" encoding="utf-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:val="http://valida.aem.gob.cl" xmlns:xd="http://www.w3.org/2000/09/xmldsig#">
   <soapenv:Header/>
   <soapenv:Body>
      <val:sobre>
         <val:encabezado>
            <val:idSobre>130601000120100419000000100</val:idSobre>
            <val:fechaHora>2010-04-19</val:fechaHora>
            <val:proveedor>
               <val:nombre>CONADI</val:nombre>
               <val:servicios>
                  <val:servicio>CERTIFICADO CALIDAD INDIGENA</val:servicio>
                  <val:respuestaServicio>
                     <val:estado>SI</val:estado>
                     <val:glosa>RESPUESTA EXITOSA</val:glosa>
                  </val:respuestaServicio>
               </val:servicios>
            </val:proveedor>
            <val:consumidor>
               <val:nombre>CNR</val:nombre>
               <val:tramite>POSTULACION A LA LEY N 18.450 DE FOMENTO A LA INVERSION PRIVADA EN RIEGO Y DRENAJE</val:tramite>
               <val:certificado>
                  <xd:X509Data>
                     <xd:X509IssuerSerial>
                        <xd:X509IssuerName>IN</xd:X509IssuerName>
                        <xd:X509SerialNumber>0</xd:X509SerialNumber>
                     </xd:X509IssuerSerial>
                  </xd:X509Data>
               </val:certificado>
            </val:consumidor>
            <val:fechaHoraReq>2010-04-19</val:fechaHoraReq>
            <val:emisor>CONADI</val:emisor>
            <val:metadataOperacional>
               <val:estadoSobre>00</val:estadoSobre>
               <val:glosaSobre>TRANSACCION EXITOSA</val:glosaSobre>
            </val:metadataOperacional>
         </val:encabezado>
         <val:cuerpo>            
            <val:documento>
               <aem:entradaCalidadIndigena xsi:schemaLocation="http://valida.aem.gob.cl/documentales/CONADI/entradaCalidadindigena.xsd" xmlns:aem="http://valida.aem.gob.cl" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><aem:run><aem:numero>15854566</aem:numero><aem:dv>7</aem:dv></aem:run></aem:entradaCalidadIndigena>
            </val:documento>
         </val:cuerpo>
         <xd:Signature/>
      </val:sobre>
   </soapenv:Body>
</soapenv:Envelope>
soap.php
Código PHP:
...
include(
"nusoap/lib/nusoap.php");
$xml file_get_contents("sobre.xml");
$soap = new nusoap_client("https://test.pisee.cl/CONADICertificadoCalidadIndigenaProxy?wsdl"true);
$soap->setCredentials("****""*****");
//Verifico que no haya ningún error al conectar el web service
if($sError $soap->getError()){
    die(
"no se puede realizar la operacion [".$sError."]");
}
//llamo al metodo y paso parametro
$respuesta $soap->call("getConadiObtenerCertificadoCalidadIndigena"htmlspecialchars($xmlENT_QUOTES));
//O  $respuesta = $soap->call("getConadiObtenerCertificadoCalidadIndigena",$xml);

//verifico que la accion se lleve a cabo correctamente, de lo contrario error
if($soap->fault){
    echo 
"no se puede completar la operacion <br />";
    echo 
'<pre>';
    
print_r($respuesta);
    echo 
'</pre>';
    
print_r("<pre>".htmlspecialchars($soap->requestENT_QUOTES)."</pre>");
    
print_r("<pre>".htmlspecialchars($soap->responseENT_QUOTES)."</pre>");
    
//echo '<pre>';
    //print_r($xml);
    //echo '</pre>';
    
exit;
}else{
    
//otra verficación
    
if($eError $soap->getError()){
        die(
"Error: ".$eError);
    }
    
    
$err $soap->getError();
    if(
$err){
        echo 
'<h2>Error</h2><pre>' .$err'</pre>';
    }else{
        echo 
'<h2>Resultado</h2><pre>';
        
print_r($respuesta);
    }
}
... 
Este es el error que genera

no se puede completar la operacion

Array
(
[faultcode] => soapenv:Server
[faultstring] => BEA-382510: ALSB Assign action failed updating variable "logMessage": com.bea.wli.common.xquery.XQueryException: Error parsing XML: {err}XP0006: "element {http://schemas.xmlsoap.org/soap/envelope/}Envelope { {http://www.w3.org/2004/07/xpath-datatypes}untypedAny }": bad value for type element {http://valida.aem.gob.cl}sobre { {http://www.w3.org/2001/XMLSchema}anyType }
[detail] => Array
(
[fault] => Array
(
[errorCode] => BEA-382510
[reason] => ALSB Assign action failed updating variable "logMessage": com.bea.wli.common.xquery.XQueryException: Error parsing XML: {err}XP0006: "element {http://schemas.xmlsoap.org/soap/envelope/}Envelope { {http://www.w3.org/2004/07/xpath-datatypes}untypedAny }": bad value for type element {http://valida.aem.gob.cl}sobre { {http://www.w3.org/2001/XMLSchema}anyType }
[location] => Array
(
[node] => PiseeCommonMessageProcessingProxy2_PipelinePairNod e1
[pipeline] => PiseeCommonMessageProcessingProxy2_PipelinePairNod e1_response
[stage] => call auditservice2
[path] => response-pipeline
)

)

)

)
  #2 (permalink)  
Antiguo 19/04/2010, 17:33
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: Duda webservice nusoap

¿Podrías postear el error? Porque si indicas que si lo colocas directo funciona, lo más probable es que no está funcionando file_get_contents. Que requiere que tengas activo en el php.ini allow_url_fopen.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 20/04/2010, 09:03
 
Fecha de Ingreso: abril-2006
Mensajes: 240
Antigüedad: 18 años
Puntos: 1
Respuesta: Duda webservice nusoap

Error generado, probe lo del allow_url_fopen. y esta activado.
Código PHP:
Array
(
[
faultcode] => soapenv:Server
[faultstring] => BEA-382510ALSB Assign action failed updating variable "logMessage"com.bea.wli.common.xquery.XQueryExceptionError parsing XML: {err}XP0006"element {http://schemas.xmlsoap.org/soap/envelope/}Envelope { {http://www.w3.org/2004/07/xpath-datatypes}untypedAny }"bad value for type element {http://valida.aem.gob.cl}sobre { {http://www.w3.org/2001/XMLSchema}anyType }
[detail] => Array
(
[
fault] => Array
(
[
errorCode] => BEA-382510
[reason] => ALSB Assign action failed updating variable "logMessage"com.bea.wli.common.xquery.XQueryExceptionError parsing XML: {err}XP0006"element {http://schemas.xmlsoap.org/soap/envelope/}Envelope { {http://www.w3.org/2004/07/xpath-datatypes}untypedAny }"bad value for type element {http://valida.aem.gob.cl}sobre { {http://www.w3.org/2001/XMLSchema}anyType }
[location] => Array
(
[
node] => PiseeCommonMessageProcessingProxy2_PipelinePairNod e1
[pipeline] => PiseeCommonMessageProcessingProxy2_PipelinePairNod e1_response
[stage] => call auditservice2
[path] => response-pipeline
)

)



Etiquetas: nusoap, webservice
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:30.