Foros del Web » Programando para Internet » PHP »

Problema con WS php5

Estas en el tema de Problema con WS php5 en el foro de PHP en Foros del Web. Hola a todos. Tengo el siguiente problema al crear un WS con php5, y llevo estancado con el 2 días, agradecería si pueden darme alguna ...
  #1 (permalink)  
Antiguo 15/10/2008, 08:44
 
Fecha de Ingreso: marzo-2005
Ubicación: Madrid
Mensajes: 233
Antigüedad: 19 años
Puntos: 5
Problema con WS php5

Hola a todos.

Tengo el siguiente problema al crear un WS con php5, y llevo estancado con el 2 días, agradecería si pueden darme alguna indicacion.

Lo primero mi código:
-------------------------------------
Código PHP:
<?php


    
// datos
    
$wsdl "https://pre-afirma.redinteradministrativa.es/afirmaws/services/ValidarFirma?wsdl";
    
$idAplicacion "appPrueba";
    
$firma_electronica "abcd";
    
$formato_firma "PKCS7";
    
$hash "";
    
$algoritmo_hash "";
    
$datos "abcd";
        
    
    
// parametros WS Soap Validar Firma
    
$params = Array ( 
            
"idAplicacion"      => $idAplicacion 
            
"firmaElectronica"  => $firma_electronica
            
"formato_firma"     => $formato_firma 
            
"hash"                 => $hash
            
"algoritmo_hash"     => $algoritmo_hash 
            
"datos"             => $datos 
                
);
                
    
// cliente                
    
$client = new SoapClient
                
NULL 
                 array( 
"location" =>     $wsdl ,
                
"uri" => $wsdl ,
                 
"trace" => ,
                 
"cache_wsdl" => 0  
                   
));

    
//llamada al metodo ValidarFirma                   
    
try 
        {               
        
$client->__soapCall 
                    
"ValidarFirma" 
                    
$params     
                    
);
                    
        }

    catch(
Exception $e)
         {
         echo 
'Message: ' .$e->getMessage();
         
         }
         
         
         echo 
"\n\nREQUEST:\n" $client->__getLastRequest() . "\n";
     
?>
-------------------------------------

Este código invoca a un servicio cuyo WSDL no esta visible al público, pero que yo si puedo verlo y cuya descipción es la siguiente:
-------------------------------------
Código:
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="http://afirmaws/services/ValidarFirma" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://afirmaws/services/ValidarFirma" xmlns:intf="http://afirmaws/services/ValidarFirma" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsfirma="http://afirmaws/ws/firma" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

<!--WSDL created by Apache Axis version: 1.3
Built on Oct 05, 2005 (05:23:37 EDT)-->

  <wsdl:types>

    <xs:schema targetNamespace="http://afirmaws/ws/firma" xmlns:wsfirma="http://afirmaws/ws/firma" xmlns:xs="http://www.w3.org/2001/XMLSchema">


	<!--PETICION-->


	<!-- Definicion Elementos Simples -->


	      <xs:group name="IdAplicacion">


		        <xs:sequence>


			          <xs:element name="idAplicacion" type="xs:string"/>


		        </xs:sequence>

	      </xs:group>


	      <xs:group name="FirmaElectronica">

NOTA : no puedo adjuntar todo el wsdl por que es demasiado largo


    </wsdl:service>


</wsdl:definitions>
-------------------------------------

Este wsdl tiene la siguiente linea:
<xs:schema targetNamespace="http://afirmaws/ws/firma" xmlns:wsfirma="http://afirmaws/ws/firma" xmlns:xs="http://www.w3.org/2001/XMLSchema">
Estando http://afirmaws/ no disponible.

El mensaje de peticion que forma el cliente es el siguiente :
-------------------------------------
Código:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="https://pre-afirma.redinteradministrativa.es/afirmaws/xsd/mfirma/ws.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">

	<SOAP-ENV:Body>
		<ns1:ValidarFirma> 
			<param0 xsi:type="xsd:string">appPrueba</param0>	

			<param1 xsi:type="xsd:string">abcd</param1>

			<param2 xsi:type="xsd:string">PKCS7</param2><param3 xsi:type="xsd:string"></param3><param4 xsi:type="xsd:string"></param4><param5 xsi:type="xsd:string">abcd</param5></ns1:ValidarFirma></SOAP-ENV:Body></SOAP-ENV:Envelope>
-------------------------------------

El error que me devuelve el servicio es que no recibe los parametros. Entiendo que en mi xml en las etiquetas <param> deberían contener algún atributo id="nombrevariable", para que el WS pudiera identificarlas.

Es posible que este error se deba a la no disponibilidad de la URL que se expecifica en targetNamesPaces, estoy cometiendo algún error.

Alguna pista que puedan darme?

saludos y gracias.
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 19:19.