In questo esempio si vede come usare un Web Service (WS) che ritorna un DataSet in Reporting Services 2005.

La query da impostare è la seguente sostituendo i vari placeholder:
<Query>
 <Method Namespace="http://tempuri.org/" Name="...method...">
  <Parameters>
    <Parameter Name="...param1..." />
  </Parameters>
 </Method>
<ElementPath IgnoreNamespaces="True">...method...Response{}/...method...Result{}/diffgram{}/...DataSetName...{}/...TableName...{field1,field2,fieldN}</ElementPath>
 <SoapAction>http://tempuri.org/...method...</SoapAction>
</Query>
Dove:
  • ...mothod... = nome del metodo del WS
  • ...param1... = nome del parametro del metodo del WS
  • ...DataSetName... = nome del DataSet ritornato dal WS
  • ...TableName... = nome della tabella del DataSet che si vuole utilizzare
  • field... = nomi dei campi del DataTable che si vuole leggere
Ad esempio supponiamo di avere un WS ce con un metodo chiamato GetInfo che vuole un parametro Key. Questo metodo ritorna un DataSet di nome DsResults il quale contiene una tabella di nome TblInfo, la tabella ha due campi ID e Description. La query per interrogare il web service diventa:
<Query>
 <Method Namespace="http://tempuri.org/" Name="GetInfo">
  <Parameters>
    <Parameter Name="Key" />
  </Parameters>
 </Method>
<ElementPath IgnoreNamespaces="True">GetInfoResponse{}/GetInfoResult{}/diffgram{}/DsResults{}/TblInfo{ID,Description}</ElementPath>
 <SoapAction>http://tempuri.org/GetInfo</SoapAction>
</Query>
Attenzione che la query è case sensitive