edit: managed through asking server developer split string array on side. works now.
anyway, never managed know how correctly pass array .net soap server.
i have soap client in php not working. server developer handled me working .net example. paste here both. missing something?
regards
php code
$res = new cresult; //$orequest = new insertventa; (throws same error wether specified or not) $pcaccesorios = new cacc_venta; $ouser = new cuser; $ouser->login = "hidden"; $ouser->pass = "hidden"; //$ouser->error = 0; $oaviso = new cventa; $oaviso->nombre = str_pad($nombre, 150); $oaviso->direccion = str_pad($direccion, 250); $oaviso->cp = str_pad($codpostal, 5); $oaviso->poblacion = str_pad($poblacion, 150); $oaviso->provincia = str_pad($provincia, 75); $oaviso->pers_contacto = str_pad($pers_contacto, 150); $oaviso->tfns_contacto = str_pad($telefono, 50); $oaviso->email = str_pad($email, 75); $oaviso->nif = str_pad($nifcif, 10); $oaviso->error = 0; //$oaviso->haserror = 0; //$oaviso->$id_orden = 0; $orequest->ouser = $ouser; $orequest->oaviso = $oaviso; $maxindex = count($listacompra); ( $i = 0 ; $i < $maxindex; $i++) { $array_de_2 = explode(" ", $listacompra[$i]); $pcaccesorios->referencia = $array_de_2[1]; $pcaccesorios->unidades = $array_de_2[0]; $orequest->oacc[$i] = $pcaccesorios; } //$orequest->oacc = $oacc; //var_dump($orequest); try { $client = new soapclient($wdsladdress, array("trace" => 1,"exceptions"=>0)); //print $client->__gettypes(); //var_dump($client->__getfunctions()); //print "conectado "; } catch (exception $e) { echo '', $e->getmessage(), "\n"; die(); } try { //$res=$client->insert_venta($ouser, $oaviso, $oacc); $res=$client->insert_venta($orequest); //$client->__getlastrequest(); //$res->insert_ventaresult; $id_orden=(string)$res->insert_ventaresult->id_orden; var_dump($id_orden); print var_dump($res); } catch (exception $e) { echo '', $e->getmessage(), "\n"; die(); } .net code
dim oaviso new ws_tsg.cventa oaviso.cp = "24400" oaviso.direccion = "mi direccion " oaviso.email = "email@servidor.com " 'oaviso.id_orden = oaviso.nif = "a12345678 " oaviso.nombre = "mi nombre " oaviso.pers_contacto = "anonimo nadie " oaviso.poblacion = "vega de la esquina " oaviso.provincia = "leon " oaviso.tfns_contacto = "987343434 " dim oacc new ws_tsg.arrayofcacc_venta dim oacc_venta new ws_tsg.cacc_venta oacc_venta.referencia = "kithdtv72" oacc_venta.unidades = "1" oacc.add(oacc_venta) oacc_venta.referencia = "usbtv82" oacc_venta.unidades = "2" oacc.add(oacc_venta) oacc_venta.referencia = "acdctv425" oacc_venta.unidades = "1" oacc.add(oacc_venta) oaviso = ws.insert_venta(ouser, oaviso, oacc) the error is:
server unable read request. ---> there error in xml document (2, 280). ---> input string not in correct format.
any help? thanks!
i have issues soap communication between .net , php.
for me solution use zend soap , specific dotnet client class:
first @ all, use zendsoap component (it's wrapper around soap php's extension wich provide usefull function , configuration stuff) : http://framework.zend.com/manual/2.2/en/modules/zend.soap.client.html
the specific client\dotnet class:
<?php use zend\soap\client; $client = new client\dotnet($wdsladdress, array("trace" => 1,"exceptions"=>0)); $client->method(); api doc : http://framework.zend.com/apidoc/2.0/classes/zend.soap.client.dotnet.html
Comments
Post a Comment