Bonjour,

J'essaie depuis de nombreux jours à paramétrer un webservice utilisant l'AutoDiscover afin que celui-ci propose une liste de paramètre nommée :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
<params>
   <paramList>
       <!--Zero or more repetitions:-->
       <myItemName>1</myItemName>
       <myItemName>2</myItemName>
       <myItemName>3</myItemName>
    </paramList>
</params>
SOLUTION 1 : J'ai dans un premier temps essayé de faire une Classe contenant un tableau de String

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class ParamListType {
    /**
    * @var String[]
    */
    public $myItemName;
}
 
class MyClass {
     /**
     * @param ParamListType
     * @return String
     */
    public static function myMethod($params)
    {
        return 'OK';
    }
}
 
$autodiscover = new Zend_Soap_AutoDiscover('Zend_Soap_Wsdl_Strategy_ArrayOfTypeSequence');
$autodiscover->setOperationBodyStyle(array('use' => 'literal'));
$autodiscover->setClass('MyClass');
$autodiscover->handle();
Le problème est que je suis parasité par des balises "ITEM" :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
<params>
     <myItemName>
         <!--Zero or more repetitions:-->
         <item>?</item>
     </myItemName>
</params>
SOLUTION 2 : J'ai essayé de faire un tableau de ma classe

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class ParamListType {
    /**
    * @var String
    */
    public $myItemName;
}
 
class MyClass {
     /**
     * @param ParamListType[]
     * @return String
     */
    public static function myMethod($params)
    {
        return 'OK';
    }
}
 
$autodiscover = new Zend_Soap_AutoDiscover('Zend_Soap_Wsdl_Strategy_ArrayOfTypeSequence');
$autodiscover->setOperationBodyStyle(array('use' => 'literal'));
$autodiscover->setClass('MyClass');
$autodiscover->handle();
Le problème est un peu différent mais sur le fond, c'est la même chose. Encore des ITEM que je ne veux pas

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
<params>
    <!--Zero or more repetitions:-->
    <item>
        <myItemName>?</myItemName>
    </item>
</params>
Auriez-vous une solution simple pour avoir quelques choses comme :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
<params>
    <!--Zero or more repetitions:-->
    <myItemName>?</myItemName>
</params>
Merci