Développer avec RBS Change : [Résolu] Ajout d'un Array dans le WSDL du WebService

  • 82662.1

    03/02/2014 09:28


    mammous
    Rang : Membre
    Bonjour,
    J'ai voulu ajouté un Array dans le wsdl du webservice de la commande.
    Pour ce faire, j'ai injecter le fichier WsdlTypeServices sous un module spécifique après j'ai ajouté le code suivant:
    	if($name === 'ecomwebservices_order')
    		{
    			$definition = parent::getWsdlType($name);
    			$creditnoteWsdlType = $this->getWsdlType('ecomwebservices_creditnote');
    			$definition->addXsdElement('usecreditnote', webservices_XsdComplexArray::OBJECTARRAY($creditnoteWsdlType));
    			
    			$definition->addXsdElement('customParams',webservices_XsdComplex::ARRAY);
    			return $definition;		
    		}

    Cordialement à vous,

    Analyste - Développeur Web

    Equipe Ecommerce - Groupe Zannier

    RBS Ecommerce Core - v 3.5.2
  • 82662.2 en réponse à 82662.1 écrit par mammous

    03/02/2014 10:23


    Loïc Couturier
    Rang : Adepte
    Bonjour,

    Merci pour votre message.

    Quel est le problème ?

    Cordialement
  • 82662.3 en réponse à 82662.2 écrit par Loïc Couturier

    03/02/2014 10:47


    mammous
    Rang : Membre
    Bon mon message contient une information sous forme d'Array avec un couple donnée valeur que je récupère dans le Cart.
    J'ai pu avoir les données de type String et Integer mais j'ai pas su comment récupérer le champs de type Array...

    Analyste - Développeur Web

    Equipe Ecommerce - Groupe Zannier

    RBS Ecommerce Core - v 3.5.2
  • 82662.4 en réponse à 82662.3 écrit par mammous

    03/02/2014 17:40


    mammous
    Rang : Membre
    Bonjour,
    Bon voilà je crois que je suis en cour d’attraper le fil.
    J'ai trouvé comment deja initialiser le champs à un array vide :
    			$definition->addXsdElement('customParams',webservices_XsdComplexArray::OBJECTARRAY(webservices_XsdElement::STRING()));
    
    Maintenant, le problème c'est que j'ai pas pu lui affecter la valeur du champs.
    Sachant que moi je veux pas que ce champs là soit sauvegarder dans un document spécifique au niveau de la BD, je veux que sa soit enregistrer dans la ligne de la commande (orderline) et du coup, je veux que sa soit afficher dans la section orderline du wsdl.
    Pour ce faire donc j'ai ajouté la ligne mentionnée ci dessus dans la partie suivante
    if($name === 'ecomwebservices_orderline')
    		{
    			$definition = parent::getWsdlType($name);
    			$definition->addXsdElement('customParams',webservices_XsdComplexArray::OBJECTARRAY(webservices_XsdElement::STRING()));
    
    			return $definition;		
    		}
    dans la fichier que j'ai surchargé WsdlTypesService.class.php.

    Des propositions??

    Analyste - Développeur Web

    Equipe Ecommerce - Groupe Zannier

    RBS Ecommerce Core - v 3.5.2
  • 82662.5 en réponse à 82662.4 écrit par mammous

    04/02/2014 14:34


    mammous
    Rang : Membre
    Bonjour,
    Voila c'est bon donc c'est résolu.
    J'ai ajouté le paramètre dans les global properties de la ligne de commande et j'ai donné l'autorisation d'afficher les global properties dans la ligne de commande et maintenant j'ai bien mes paramètres qui sont envoyé :)

    Analyste - Développeur Web

    Equipe Ecommerce - Groupe Zannier

    RBS Ecommerce Core - v 3.5.2
 
Merci de prendre connaissance et de respecter les règles des forums.
 
1377 membres
Aucun membre connecté