Bonjour à tous
J'utilise Orbeon pour pouvoir interroger un site sharepoint à l'aide de requête SOAP
Tout fonctionne bien, j'écris ma requête dans une instance, dans la soumission je remplace l'instance par la réponse et ainsi je vois la réponse.
Cette réponse est assez verbeuse. C'est pour cela que j'aimerai la parser afin de récupérer les éléments qui m'intéressent. Or je n'arrive pas à accéder à la réponse. J'aurai besoin d'aide pour le faire
Voici mon code :
La requête :
Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <xforms:instance id="GetListCollection-request"> <soapenv:Envelope> <soapenv:Body> <soap:GetListCollection/> </soapenv:Body> </soapenv:Envelope> </xforms:instance>
Une instance pour la réponse (vide au départ):
Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <xforms:instance id="response"> <dummy/> </xforms:instance>
La soumission :
Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <xforms:submission id="GetListCollection-submission" method="post" action="http://site/{instance('params')/site}/_vti_bin/Lists.asmx" ref="instance('GetListCollection-request')" replace="instance" instance="response" xxforms:username="{instance('params')/username}" xxforms:password="{instance('params')/password}" xxforms:domain="{instance('params')/domain}" mediatype="application/soap+xml; action=http://schemas.microsoft.com/sharepoint/soap/GetListCollection"/>
Je peux donc visualiser la réponse en choisissant l'instance response mais j'aimerai la mettre en forme (parsage + résultat dans un tableau). J'ai donc mis un tableau pour accueillir cette réponse
Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <xforms:group model="ws" ref="instance('response')" appearance="xxforms:fieldset"> <xhtml:table border="1"> <xhtml:tr> <xhtml:td> <xforms:input ref="instance('response')/Lists/List"> <xforms:label ref="@ID"/> <xforms:label>ID: </xforms:label> </xforms:input> </xhtml:td> </xhtml:td> </xhtml:table> </xforms:group>
mais rien à faire, je ne récupère pas l'id![]()
Pour info, la réponse ressemble à ça :
Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> <GetListCollectionResponse xmlns="http://schemas.microsoft.com/sharepoint/soap/"> <GetListCollectionResult> <Lists> <List DocTemplateUrl="" DefaultViewUrl="/domain/Lists/Dossier1/AllItems.aspx" MobileDefaultViewUrl="" ID="{1260D61F-3A43-4B01-8006-7CA4E7BDDCAE}" ... /> <List DocTemplateUrl="" DefaultViewUrl="/domain/Lists/Dossier2/AllItems.aspx" MobileDefaultViewUrl="" ID="{DC3620EF-FE03-40A3-BCCC-523E0B9F7044}" ... /> ...
EDIT: sinon il n'y aurait pas moyen d'enregistrer la réponse dans un fichier xml dans quel cas, je saurai faire
Partager