Con este código en PHP hice un WS:
Código:
Luego, con Visual Basic .Net lo consumo así:<?php header("Content-Type: text/xml"); require_once('lib/nusoap.php'); function CCPropietario_Subir($usuario,$clave,$idcuenta,$fecha,$inquilino,$concepto,$debe,$haber,$saldo){ if ($usuario == "loco" && $clave == "abc123") { require("conect.php"); $inquilino = str_replace("'", "\'", $inquilino); $concepto = str_replace("'", "\'", $concepto); mysql_query("INSERT INTO ccpropietario (idcuenta,fecha,inquilino,concepto,debe,haber,saldo) values ('$idcuenta','$fecha','$inquilino','$concepto','$debe','$haber','$saldo')"); return True; }else{ return False; } } $server = new soap_server(); $server->configureWSDL("wsinmpdu", "urn:wsinmpdu"); $server->register("CCPropietario_Subir", array("usuario" => "xsd:string","password" => "xsd:string","idcuenta" => "xsd:string","fecha" => "xsd:string","inquilino" => "xsd:string","concepto" => "xsd:string","debe" => "xsd:double","haber" => "xsd:double","saldo" => "xsd:double"), array("return" => "xsd:boolean"), "urn:subeccpropietario", "urn:subeccpropietario#CCPropietario_Subir", "rpc", "encoded", "Sube datos a ccpropietario"); $server->service($HTTP_RAW_POST_DATA); ?>
Código:
Hasta aquí no tengo inconvenientes.ws.CCPropietario_Subir(Usuario, Password, 123, Fecha, 45, "Alquiler", 15000, 0, 15000)
El problema que se me presenta es que ahora los parámetros que debo pasarle a la función CCPropietario_Subir son muuuchos más. Entonces necesito que al consumir sea un sólo parámetro el que deba pasarle a la función CCPropietario_Subir.
Es decir, quiero declarar una variable donde le asigne los valores en cada propiedad y luego esta variable será el parámetro de la función.
Al consumir en Visual Basic .Net quedaría así:
Código:
¿Qué debo cambiar en el código PHP para que se pueda consumir de esta forma?datos.Usuario ="Ventas" datos.Password = "123" datos.Fecha = "2015-10-25" y así asignarle todas las propiedades ws.CCPropietario_Subir(datos)
Desda ya, muchas gracias por las respuestas.
Saludos