rompi | Bon comme j'ai l'habitude de squater seul les topic que je crée, voilà je donne à tout le monde ma solution a mon problème dans le serveur soap,
Code :
- $server->wsdl->addComplexType(
- "mapItem",
- "complexType",
- "struct",
- "all",
- "",
- array( "key" => array( "type" => "xsd:anyType" ),
- "value" => array( "type" => "xsd:anyType" ))
- );
- $server->wsdl->addComplexType(
- "Map",
- "complexType",
- "array",
- "",
- "SOAP-ENC:Array",
- array(),
- array(
- array( "ref"=>"SOAP-ENC:arrayType", "wsdl:arrayType"=>"tns:mapItem[]" )),
- "tns:mapItem"
- );
- $server->register( "insert",
- array("idPartenaire"=>"xsd:integer", "email"=>"xsd:string", "profilData"=>"tns:Map",
- "validationKey"=>"xsd:string" ),
- array( "statusCode" => "xsd:integer" ),
- NAMESPACE, "rpc", "encoded",
- "Web Service d'insertion de profil emailing" );
|
et dans le client, malheuresement j'ai pas mieux,
Code :
- $client = new soapclient(WSDL, true);
- $proxy = $client->getProxy( );
- $profilMail = "jdupond@hardware.fr";
- $profilData[] = array( "key" => "nom", "value" => "DUPOND" );
- $profilData[] = array( "key" => "prenom", "value" => "Jean" );
- $result = $proxy->insert(2,$profilMail,$profilData,sha1($profilMail.MY_KEY));
|
Si quelqu'un un jour sais comment faire un serveur qui attend
Code :
- $profilData["nom"] = "DUPOND";
- $profilData["prenom"] = "Jean";
|
pour le client, j'attend votre complex type bien volontier...
|