paramètres d'un webservice via soap

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : paramètres d'un webservice via soap

Re: paramètres d'un webservice via soap

par Ambiwow » 02 mai 2013, 10:39

Voilà le web service

http://pastebin.com/DiicSMPQ
La signature d'une fonction c'est ça déclaration (généralement) par exemple string mafonction(string param1, INT param2) par exemple.
Ah ok merci. Et bien dans ce cas c'est la structure que j'ai posté dans mon premier message :

Code : Tout sélectionner

<complexType name="EtudiantCritereDTO"> <sequence> <element name="annee" nillable="true" type="xsd:string"/> <element name="listDiplomes" nillable="true" type="intf:TableauDiplomes"/> <element name="listEtapes" nillable="true" type="intf:TableauEtapes"/> <element name="codeCollectionVET" nillable="true" type="xsd:string"/> <element name="codeGroupeVET" nillable="true" type="xsd:string"/> <element name="listELP" nillable="true" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/> <element name="codeCollectionELP" nillable="true" type="xsd:string"/> <element name="codeGroupeELP" nillable="true" type="xsd:string"/> <element name="listEPR" nillable="true" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/> <element name="listTypeHandicap" nillable="true" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/> <element name="listSportifHautNiv" nillable="true" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/> <element name="codeRegimeInscrETP" nillable="true" type="xsd:string"/> <element name="listSitSociale" nillable="true" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/> <element name="sensEchInter" nillable="true" type="xsd:string"/> <element name="codeEchInter" nillable="true" type="xsd:string"/> <element name="listPaysEchInter" nillable="true" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/> <element name="listTypeEtabFreq" nillable="true" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/> <element name="maintienInscrAutreEtab" nillable="true" type="xsd:string"/> <element name="listCentreGestion" nillable="true" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/> <element name="listComposante" nillable="true" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/> <element name="listCIP" nillable="true" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/> <element name="temValAcquisXP" nillable="true" type="xsd:string"/> <element name="temPartInternational" nillable="true" type="xsd:string"/> <element name="etatThese" nillable="true" type="xsd:string"/> <element name="typeResultat" nillable="true" type="xsd:string"/> <element name="objetResultat" nillable="true" type="xsd:string"/> </sequence> </complexType> <complexType name="TableauDiplomes"> <sequence> <element name="item" type="tns1:EtudiantCritereListeDTO" minOccurs="0" maxOccurs="unbounded"/> </sequence> </complexType> <complexType name="TableauEtapes"> <sequence> <element name="item" type="tns1:EtudiantCritereListeDTO" minOccurs="0" maxOccurs="unbounded"/> </sequence> </complexType>
EtudiantCritereListeDTO étant comme ceci :

Code : Tout sélectionner

<complexType name="EtudiantCritereListeDTO"> <sequence> <element name="code" nillable="true" type="xsd:string"/> <element name="listVersion" nillable="true" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/> </sequence> </complexType>

Re: paramètres d'un webservice via soap

par moogli » 30 avr. 2013, 19:08

Je voulais te mettre le code du wsdl mais cela considère mon message comme un spam et je ne peux pas le poster :(
Normal pas d' url avant 5 messages pour éviter le spam ;)


La signature d'une fonction c'est ça déclaration (généralement) par exemple string mafonction(string param1, INT param2) par exemple.

@+

Re: paramètres d'un webservice via soap

par AoSiX » 30 avr. 2013, 16:08

Je voulais te mettre le code du wsdl mais cela considère mon message comme un spam et je ne peux pas le poster :(
Utilises http://pastebin.com/ pour partager le contenu !

Re: paramètres d'un webservice via soap

par Ambiwow » 30 avr. 2013, 14:09

Je voulais te mettre le code du wsdl mais cela considère mon message comme un spam et je ne peux pas le poster :(

Re: paramètres d'un webservice via soap

par Ambi » 30 avr. 2013, 14:06

Salut, qu'entends tu par signature de la méthode recupererListeEtudiants ?

Re: paramètres d'un webservice via soap

par moogli » 30 avr. 2013, 01:08

Salut

quel est la signature de la méthode recupererListeEtudiants du web service (au pire peux tu montrer le wsdl ?)


@+

Re: paramètres d'un webservice via soap

par Ambi » 29 avr. 2013, 15:26

Je fais un petit up et j'en profite pour vous prévenir qu'en regardant la trace de ma requête l'erreur se situe au niveau de item dans listeVersion. En effet le tableau item est transcrit par <listeVersion>Array</listeVersion>

paramètres d'un webservice via soap

par Ambi » 29 avr. 2013, 13:49

Bonjour,

J'effectue actuellement un stage où l'on me demande d'utiliser des web services apogée et je rencontre un soucie pour l'un d'entre eux. J'utilise soap_client pour faire appel à mon web service mon appel ressemble donc à ceci :
$soapClient = new soapclient($wsdl, array(
                "trace"=>true));
 
$resultat =  $soapClient->__soapCall("recupererListeEtudiants",array($params));


Le soucis vient du $params. Le web service me demande de lui passer des paramètres avec la structure suivante :

Code : Tout sélectionner

<element name="listDiplomes" nillable="true" type="intf:TableauDiplomes"/> <complexType name="TableauDiplomes"> <sequence> <element name="item" type="tns1:EtudiantCritereListeDTO" minOccurs="0" maxOccurs="unbounded"/> </sequence> <complexType name="EtudiantCritereListeDTO"> <sequence> <element name="code" nillable="true" type="xsd:string"/> <element name="listVersion" nillable="true" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/> </sequence> </complexType>


J'ai compris la structure car via l'outil soapUI je parviens à passer ma requête en xml. Mon soucis est que je n'arrive pas à la "traduire" en php.

Voici mon tableau de paramètres actuel :
$params = array("_parametres" =>array(
            "listDiplomes" =>array(
                "item"=>array(
                    "code" => $codDip,
                    "listVersion" => array(
                        "item"=>array($codVdi)
                    )
                )
            )
J'ai tenté de parser la requête xml de soapUI directement, le tableau correspond à ceci pour moi mais le webservice me renvoie l'erreur suivante :

Code :
Sélectionner tout - Visualiser dans une fenêtre à part

Code : Tout sélectionner

SoapFault exception: [soapenv:Server.userException] org.xml.sax.SAXException: Found character data inside an array element while deserializing
Je suis sur ce soucis depuis 2jours et je vois vraiment pas où est mon erreur :cry: .