In questo esempio vedrai come consumare il web service (WS) creato precedentemente in InfoPath 2007.
Per fa questo è necessario avere Microsoft Office InfoPath 2007. Aprilo e vai in File \ Design a Form Template (di deafult parte in modalità client dove è possibile usare un form ma non editarlo) e scegli il template Blank.

I passi sono questi:
  • clicca su Data source e poi Menage Data connections...
  • nella finestra che si apre clicca su Add...
  • scegli Create a new connection to: e poi Receive data, premi Next
  • scegli Web service, premi Next
  • inserisci l'url del sito in cui hai pubblicato il WS (es.: http://localhost:3333/InfoPathUtility.asmx ), premi Next
  • ti viene visualizzato l'elenco dei metodi disponibili, seleziona SelectTable, premi Next
  • in questa schermata inserisci il nome della store procedure (vedi articolo precedente) che verrà usato da InfoPath per ricavare la struttura dei dati ritornati. Premi Set Sample Value e inserisci SpSelectCountryRegion per il parametro spName, premi next
  • a questo punto inserisci ancora il nome della store procedue, sarà il valore effettivamente utilizzato quando verrà usato il WS. Premi Set Value... e inserisci SpSelectCountryRegion, premi Next
  • in questa scermata premi Next
  • nella casella di testo Enter a name for this data connection: lascia SelectTable, premi Finish
  • premi Close
Il WS è stato aggiunto ad InfoPath ed è pronto per essere usato. Per vederlo vai in Data source, nella combo Data Source: seleziona il WS appena creato, ovvero, SelectTable (Secondary), troverai una struttura come questa:

Text

myFields
   queryFields
     tns:SelectTable
       spName
   dataFields
     tns:SelectTableResponse
       SelectTableResult
         :SelectTable
           (Choice)
             Table
               Country
               Name
Per vedere in azione il WS:
  • trascina con il mouse il nodo :SelectTable sul form (vengono aggiunti dei cotrolli)
  • premi Preview per vedere il risultato e poi yes
Il risultato grafico non è eccezionale, ma da un idea delle potenzialità e della semplicità con cui è possibile visualizzare i dati in InfoPath.

In modo altrettanto semplice è possibile riempire una Combo Box o Drop-Down List Box:
  • clicca su Design Tasks
  • clicca su Controls
  • trascina il controllo Drop-Down List Box (DDLB) sul form
  • vai nelle proprietà della DDLB (tasto destro sul controllo)
  • seleziona Lookup values from an external data source
  • assicurati che nella drop-down Data source: sia selezionato il WS SelectTable
  • imposta come Entries il nodo Table (/dfs:myFields/dfs:dataFields/tns:SelectTableResponse/tns:SelectTableResult/SelectTable/Table)
  • imposta Value=CountryRegionCode e Display name=Name
  • premi Ok
Primo form
Primo form
vai in preview per vedere il risultato.

Per pubblicare il form su SharePoint 2007 (WSS3 - MOSS):
  • File \ Publish (se chiede di salvare il form, salvalo)
  • seleziona To a SharePoint server with or without InfoPath Forms Services, premi Next
  • alla richiesta Enter the location of your SharePoint or InfoPath Forms Services site: inserisci la url di SharePoint (es.: http://sharepoint2007 ), premi Next
  • seleziona Document Library, premi Next
  • seleziona Create a new document library, premi Next
  • come Name inserisci SgartForm, premi Next
  • in questa scermata premi Next
  • conferma premendo Publish
  • al termine seleziona Open this document library... e premi Close
Per vedere il form premi il pulsante New sulla document library.

Ricorda che questo è solo un form di esempio e così comè serve a ben poco, prossimamente un caso reale...
Tags:
InfoPath9 SharePoint498 SharePoint 2007218
Potrebbe interessarti anche: