Wywołanie SOAP z zapytaniem o wynik (SSRS, Sharepoint)
Stworzyłem raport w VS przy użyciu udostępnionego źródła danych, które jest połączone z listą Sharepoint. W raporcie utworzyłem zestaw danych z wywołaniem SOAP do źródła danych, więc otrzymuję wynik z listy akcji w tabeli.
to jest wezwanie do mydła
<Query>
<SoapAction>http://schemas.microsoft.com/sharepoint/soap/GetListItems</SoapAction>
<Method Namespace="http://schemas.microsoft.com/sharepoint/soap/" Name="GetListItems">
<Parameters>
<Parameter Name="listName">
<DefaultValue>{BD8D39B7-FA0B-491D-AC6F-EC9B0978E0CE}</DefaultValue>
</Parameter>
<Parameter Name="viewName">
<DefaultValue>{E2168426-804F-4836-9BE4-DC5F8D08A54F}</DefaultValue>
</Parameter>
<Parameter Name="rowLimit">
<DefaultValue>9999</DefaultValue>
</Parameter>
</Parameters>
</Method>
<ElementPath IgnoreNamespaces="True">*</ElementPath>
</Query>
Działa dobrze, mam wynik, który mogę pokazać w raporcie, ale chcę mieć możliwość wyboru parametru, aby filtrować wynik. Stworzyłem parametr i kiedy podglądam Raport, widzę listę rozwijaną, której mogę użyć, aby dokonać wyboru z pola Tytuł, kiedy to robię, nadal pokazuje pierwszy rekord, oczywiście nie działa jeszcze (DUH!) ponieważ muszę utworzyć zapytaniegdzieś, Ale! Nie mam pojęcia, gdzie próbowałem to uwzględnić
<Where>
<Eq>
<FieldRef Name="ows_Title" />
<Value Type="Text">testValue</Value>
</Eq>
</Where>
w prośbie o mydło, ale to nie zadziałało ... Szukałem intarwebz, ale nie mogłem znaleźć żadnych podobnych problemów ... trochę utknęło ... jakieś myśli na ten temat?
EDYTOWAĆ
Oto zapytanie, którego użyłem zgodnie z blogpostem Alexa Angasa.
<Query>
<SoapAction>http://schemas.microsoft.com/sharepoint/soap/GetListItems</SoapAction>
<Method Namespace="http://schemas.microsoft.com/sharepoint/soap/" Name="GetListItems">
<queryOptions></queryOptions>
<query><Query>
<Where>
<Eq>
<FieldRef Name="ows_Title"/>
<Value Type="Text">someValue</Value>
</Eq>
</Where>
</Query></query>
<Parameters>
<Parameter Name="listName">
<DefaultValue>{BD8D39B7-FA0B-491D-AC6F-EC9B0978E0CE}</DefaultValue>
</Parameter>
<Parameter Name="viewName">
<DefaultValue>{E2168426-804F-4836-9BE4-DC5F8D08A54F}</DefaultValue>
</Parameter>
<Parameter Name="rowLimit">
<DefaultValue>9999</DefaultValue>
</Parameter>
</Parameters>
</Method>
<ElementPath IgnoreNamespaces="True">*</ElementPath>
</Query>
Próbowałem umieścić nową instrukcję zapytania w istniejący sposób na wszystkie możliwe sposoby, ale w ogóle nie działa, nie otrzymałem jednak błędu, więc kod jest poprawny, ale nadal otrzymuję nieprzefiltrowaną listę jako zwrot ...wyciągam moje włosy tutaj!