Amigos tengo un Webservice:
Código PHP:
<?xml version="1.0" encoding="UTF-8" ?>
- <wsdl:definitions targetNamespace="http://business.icavi.serviciosExternos.avaluos.infonavit.org.mx" xmlns:impl="http://business.icavi.serviciosExternos.avaluos.infonavit.org.mx" xmlns:intf="http://business.icavi.serviciosExternos.avaluos.infonavit.org.mx" xmlns:tns2="http://icavi.vo.business.avaluos.infonavit.org.mx" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <wsdl:types>
- <schema elementFormDefault="qualified" targetNamespace="http://icavi.vo.business.avaluos.infonavit.org.mx" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:impl="http://business.icavi.serviciosExternos.avaluos.infonavit.org.mx" xmlns:intf="http://business.icavi.serviciosExternos.avaluos.infonavit.org.mx" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <complexType name="UsuarioWSVO">
- <sequence>
<element name="contrasenia" nillable="true" type="xsd:string" />
<element name="idusuario" nillable="true" type="xsd:string" />
</sequence>
</complexType>
- <complexType name="AvaluoWSVO">
- <sequence>
<element name="acometidatelefonico" type="xsd:int" />
<element name="altitud" type="xsd:int" />
<element name="banquetavalor" nillable="true" type="xsd:string" />
</sequence>
</complexType>
- <complexType name="RespuestaWSVO">
- <sequence>
<element name="fecha" nillable="true" type="xsd:string" />
<element name="resultado" nillable="true" type="xsd:string" />
<element name="tipomensaje" nillable="true" type="xsd:string" />
</sequence>
</complexType>
</schema>
- <schema elementFormDefault="qualified" targetNamespace="http://business.icavi.serviciosExternos.avaluos.infonavit.org.mx" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:impl="http://business.icavi.serviciosExternos.avaluos.infonavit.org.mx" xmlns:intf="http://business.icavi.serviciosExternos.avaluos.infonavit.org.mx" xmlns:tns2="http://icavi.vo.business.avaluos.infonavit.org.mx" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<import namespace="http://icavi.vo.business.avaluos.infonavit.org.mx" />
- <element name="recibirAvaluoPaquete">
- <complexType>
- <sequence>
<element name="usuario" nillable="true" type="tns2:UsuarioWSVO" />
<element name="avaluo" nillable="true" type="tns2:AvaluoWSVO" />
</sequence>
</complexType>
</element>
- <element name="recibirAvaluoPaqueteResponse">
- <complexType>
- <sequence>
<element name="recibirAvaluoPaqueteReturn" nillable="true" type="tns2:RespuestaWSVO" />
</sequence>
</complexType>
</element>
- <wsdl:message name="recibirAvaluoPaqueteRequest">
<wsdl:part element="impl:recibirAvaluoPaquete" name="parameters" />
</wsdl:message>
- <wsdl:message name="recibirAvaluoPaqueteResponse">
<wsdl:part element="impl:recibirAvaluoPaqueteResponse" name="parameters" />
</wsdl:message>
- <wsdl:portType name="ReceptorAvaluos">
- <wsdl:operation name="recibirAvaluoPaquete">
<wsdl:input message="impl:recibirAvaluoPaqueteRequest" name="recibirAvaluoPaqueteRequest" />
<wsdl:output message="impl:recibirAvaluoPaqueteResponse" name="recibirAvaluoPaqueteResponse" />
</wsdl:operation>
</wsdl:portType>
- <wsdl:binding name="ReceptorAvaluosSoapBinding" type="impl:ReceptorAvaluos">
<wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
- <wsdl:operation name="recibirAvaluoPaquete">
<wsdlsoap:operation soapAction="" />
- <wsdl:input name="recibirAvaluoPaqueteRequest">
<wsdlsoap:body use="literal" />
</wsdl:input>
- <wsdl:output name="recibirAvaluoPaqueteResponse">
<wsdlsoap:body use="literal" />
</wsdl:output>
</wsdl:operation>
- <wsdl:service name="ReceptorAvaluosService">
- <wsdl:port binding="impl:ReceptorAvaluosSoapBinding" name="ReceptorAvaluos">
<wsdlsoap:address location="http://201.134.132.147:80/avaluosQASAP/services/ReceptorAvaluos" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
Y necesito consumir el metodo
recibirAvaluoPaquete que supuestamente contiene 2 parametros que son objetos (con sus respectivos datos), entonces lo que hize con php fue crear mis 2 objetos, algo asi:
Código PHP:
class UsuarioWSVO{
var $idusuario = "MIUSUARIO";
var $contrasenia = "MIPASS";
}
class AvaluoWSVO{
var $acometidatelefonico= "a";
var $altitud= "b";
var $banquetavalor = "c";
}
$usuario = new UsuarioWSVO();
$avaluo = new AvaluoWSVO();
Y luego envio esto:
Código PHP:
if($err = $client->recibirAvaluoPaquete($usuario,$avaluo))
{
die($err);
}
Y el mensaje de error que obtengo es el siguiente:
SoapFault exception: [Server.generalException] java.lang.NullPointerException in /home/yamil/www/sga/lib/lib_send_avaluo.php:725 Stack trace: #0 [internal function]: SoapClient->__call('recibirAvaluoPa...', Array) #1 /home/yamil/www/sga/lib/lib_send_avaluo.php(725): SoapClient->recibirAvaluoPaquete(Object(UsuarioWSVO), Object(AvaluoWSVO)) #2 {main}
Espero me puedan ayudar cuanto antes con este código es urgente y ya no se q mas puede estar mal!!
(Lo único que necesito saber y si estoy invocando mal al metodo o estoy creando mal mis objetos o que es lo que sucede???)
pd: (El webservice publicado arriba esta un poco reducido al original para no hacerlos tantas bolas)