Web Service

Hollá David Cortes... Espero que puedas ayudarme con este tema... He realizado un consumo de web service pero los datos no se envían correctamente... No entiendo cual es el problema y por eso acudo a un experto en PHP...
El archivo wsdl se encuentra en el siguiente link:
https://www.mintransporte.gov.co:4443/mucregistro/RegistraManifiesto?wsdl
Y el código con el que realizo la conexión y trato de enviar los datos es el siguiente:
Estos son datos de prueba y si quieres ver los array enviados, lo podes hacer en este link:
http://www.crm.com.co/crm/nusoap/enviardatos.php
y los resultados en este otro:
https://www.mintransporte.gov.co:4443/manif/wserror?pempresa=9000533734
Archivo --- enviardatos.php
require_once("lib/nusoap.php");
$url = "https://www.mintransporte.gov.co:4443/mucregistro/RegistraManifiesto?wsdl";
$soapclient = new nusoap_client($url,TRUE);
$soapclient->setDebugLevel(9);
$pc=';';
$usuarioe=2972374;
$nite=9000533734;
$pswd='nuevo900';
$manenvi=800;
$firmado='';
$firma=$usuarioe.$pc.$nite.$pc.$pswd.$pc.$manenvi;
require('clases.php');
//VARIABLES REMESA
$r=0;
$rremesa = new mucRegistra_RemesaType2User;
$dremesa[$r]= mucRegistra_RemesaType2User;
$aremesa= new mucRegistra_RegRemesa2;
$rremesa->nitempresa=9000533734;
$rremesa->remnumero=0;
$rremesa->remunidaMedida=1;
$rremesa->remcantidad=1;
$rremesa->rempeso=1;
$rremesa->remunidaEmpaq=1;
$rremesa->remnaturaleza=1;
$rremesa->remcodproducto='d1';
$rremesa->remdescrProdu='detalle';
$rremesa->remremitente='Los que la envian';
$rremesa->remdestinatario='A los que le llega';
$rremesa->remciudadDesti=111001;
$rremesa->remnromanifiesto='800'; //Manifiesto
$rremesa->remtipidremitente='N';
$rremesa->remidenremitente=9000533734;
$rremesa->remnroremempresa='800'; //Remesa
$rremesa->remestado='1';
$rremesa->remtipiddestinatario='N';
$rremesa->remidendestinatario=9000533734;
$rremesa->rempoliza='123456789';
$rremesa->remaseguradora=896542310;
$rremesa->remvencimiento='20091231';
$rremesa->remduenopoliza='E';
$rremesa->remciudadOrig=111001;
$rremesa->remvalremesa=12000;
$rremesa->remvalproducto=1000000;
$rremesa->estado='1';
$aremesa->arrayr=$rremesa;
//---------------------------------------------------------------------------------------------------------------
//VARIABLES MANIFIESTO
$m=0;
$rmanifiesto = new mucRegistra_ManifiestoType2User;
$dmanifiesto[$m] = mucRegistra_ManifiestoType2User;
$amanifiesto = new mucRegistra_RegManifiesto2;
$rmanifiesto->nitempresa='9000533734';
$rmanifiesto->mannumero=0;
$rmanifiesto->mannumeroEmpresa='800'; //Manifiesto
$rmanifiesto->manfechexped='20090216';
$rmanifiesto->manciudOrigen=111001;
$rmanifiesto->manciudDestin=111001;
$rmanifiesto->manplaca='EFS291';
$rmanifiesto->mantipidconduc='C';
$rmanifiesto->manidenconduc=80015766;
$rmanifiesto->manplacsemir='R12345';
$rmanifiesto->mantipocarrocer=1;
$rmanifiesto->manconfiguraci='2S1';
$rmanifiesto->manpeso=35000;
$rmanifiesto->manvlrtotflete=1800000;
$rmanifiesto->manretefuente=18000;
$rmanifiesto->mandescuLey=18000;
$rmanifiesto->mandescuAcor=0;
$rmanifiesto->manvlrAnticip=1000000;
$rmanifiesto->manvlrLetras='UN MILLON OCHOCIENTOS MIL PESOS MCTE';
$rmanifiesto->manlugarPago='aqui';
$rmanifiesto->manfechpagsal='20090218';
$rmanifiesto->manpagoCargue='alla';
$rmanifiesto->manpagoDescar='alla';
$rmanifiesto->manobservacion='observaciones no requeridas';
$rmanifiesto->manestado='1';
$rmanifiesto->ruta1=1;
$rmanifiesto->ruta2=1;
$rmanifiesto->mantipidtitular='C';
$rmanifiesto->manidentitular=98765432;
$rmanifiesto->manpesobv=35;
$rmanifiesto->vigencia=2009;
$rmanifiesto->fechaentrega='20090218';
$rmanifiesto->firma='b';
$rmanifiesto->empresa='b';
$rmanifiesto->nroContrato='b';
$rmanifiesto->kilometrostotal=120;
$rmanifiesto->tarifaflete=1400000;
$rmanifiesto->ciudadtramoorigen=111001;
$rmanifiesto->ciudadtramodestino=111001;
$rmanifiesto->kilomtramoorigen=120;
$rmanifiesto->kilomtramodestino=120;
$rmanifiesto->mannumeroanu=0;
$amanifiesto->arraym=$rmanifiesto;
//---------------------------------------------------------------------------------------------------------------
//VARIABLES VEHICULO
$e=0;
$rvehiculo = new mucRegistra_VehiculoType2User;
$dvehiculo[$e] = mucRegistra_VehiculoType2User;
$avehiculo = new mucRegistra_RegVehiculo2;
$rvehiculo->vehplaca='EFS291';
$rvehiculo->vehmarca=27;
$rvehiculo->vehlinea=4700;
$rvehiculo->vehmodelo=1995;
$rvehiculo->vehmodelotransf=0;
$rvehiculo->vehnroserie='2HTSCAA55H626458';
$rvehiculo->vehcolor=18;
$rvehiculo->vehtipocarrocer=1;
$rvehiculo->vehconfiguraci='2S1';
$rvehiculo->vehpeso=17000;
$rvehiculo->vehregistro=0;
$rvehiculo->vehnroPoliza='1333195';
$rvehiculo->vehtipidasegur='N';
$rvehiculo->vehidenasegur=8600456685;
$rvehiculo->vehfechvenci='20091216';
$rvehiculo->vehplacsemir='R12345';
$rvehiculo->vehtipidpropiet='C';
$rvehiculo->vehidentprop=80015766;
$rvehiculo->vehtipidtenenc='C';
$rvehiculo->vehidentenenc=80015766;
$rvehiculo->estado='0';
$avehiculo->arrayv=$rvehiculo;
//---------------------------------------------------------------------------------------------------------------
//VARIABLES CONDUCTOR
$a=0;
$rconductor = new mucRegistra_ConductorTypeUser;
$dconductor[$a] = mucRegistra_ConductorTypeUser;
$aconductor = new mucRegistra_RegConductor;
$rconductor->pertipid='C';
$rconductor->periden=80015766;
$rconductor->perapell1='Santamaria';
$rconductor->perapell2='Gil';
$rconductor->pernombre='Edisson';
$rconductor->pertelefono=4222333;
$rconductor->perdireccion='cll con cra';
$rconductor->perciudad=151001;
$rconductor->percateglice='6';
$rconductor->estado='0';
$aconductor->arrayc=$rconductor;
//---------------------------------------------------------------------------------------------------------------
//VARIABLES TERCERO
$i=0;
$rtercero = new mucRegistra_TerceroTypeUser;
$dtercero[$i] = mucRegistra_TerceroTypeUser;
$atercero = new mucRegistra_RegTercero;
//require('conecta.php');
//$qe=mysql_query("select * from conductor");
//while($row=mysql_fetch_array($qe)) {
$rtercero->emptipid='C';
$rtercero->empident=80015866;
$rtercero->empnombr='Sacarias Piedras del Rio';
$rtercero->emptelefono='4222333';
$rtercero->empdireccion='Cll con Av y Cra';
$rtercero->estado='0';
$atercero->arrayt=$rtercero;
//---------------------------------------------------------------------------------------------------------------
$objetof[]= new mucRegistra_RegistraManifiestoImpl_wsmani_Out;
if ($sError = $soapclient->getError())
echo "No se pudo realizar la operación [" . $sError . "]";
$cp=',';
$params = array($usuarioe,$nite,$firmado,$firma,$aremesa,$amanifiesto,$avehiculo,$aconductor,$atercero);
$objetof =...

1 respuesta

Respuesta
1
Has puesto toda la información, pero dices sólo que los 'datos no se envían correctamente' y con eso no se sabe ni dónde empezar a mirar. Ni a qué datos te refieres de toda la cantidad que hay. Tú sabes lo que es un dato correcto en tu aplicación y lo que no, y el resultado que esperas.
Pretender que analice todo este código para entender primero lo que se espera y luego encontrar el fallo, creo que va más allá de lo que es una consulta gratuita.
Te recomiendo que simplifiques el problema: aíslalo con los mínimos datos y las mínimas funciones y darás con lo que no funciona. Haz pruebas aparte y luego lo incorporas al fichero definitivo.
David... Gracias por tu respuesta, siento mucho haberte bombardeado con esa cantidad de código... en concreto mi pregunta es:
¿Cómo declaro una propiedad de tipo array en una clase?
Esto es lo que tengo, la variable $arrayv necesito que sea array de tipo de una clase...
//---------------------------------------------------------------------------------------------------------------
//CLASE VEHICULO
class mucRegistra_VehiculoType2User{
public $vehplaca;
public $vehmarca;
public $vehlinea;
}
class mucRegistra_RegVehiculo2{
public $arrayv;
}
//--------------------------------------------------------------------------------------------------------------- $e=0;
$rvehiculo = new mucRegistra_VehiculoType2User;
$dvehiculo[$e] = mucRegistra_VehiculoType2User;
$avehiculo = new mucRegistra_RegVehiculo2;
$rvehiculo->vehplaca='EFS291';
$rvehiculo->vehmarca=27;
$rvehiculo->vehlinea=4700;
$avehiculo->arrayv=$rvehiculo;
La variable que envío como parámetro es $avehiculo...
Espero que me entendas y me puedas ayudar...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas