I’m using the XML data source feature in Reporting Services 2005 but having some issues with missing data. When there is no value for the first column in a row, it appears that the entire column is ignored by SSRS!
The web method request is very simple:
<Query> <Method Name='GetIssues' Namespace='http://www.mycompany.com/App/'> </Method> <SoapAction>http://www.mycompany.com/App/GetIssues</SoapAction> <ElementPath IgnoreNamespaces='true'>*</ElementPath> </Query>
Equally, the response is very simple:
<?xml version='1.0' encoding='utf-8'?> <soap:Envelope xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema'> <soap:Body> <GetIssuesResponse xmlns='http://www.mycompany.com/App/'> <GetIssuesResult> <Issue> <Title>ABC</Title> <RaisedBy /> <Action>Do something</Action> </Issue> <Issue> <Title>ABC</Title> <RaisedBy>Jeff Smith</RaisedBy> <Action>Do something</Action> </Issue> </GetIssuesResult> </GetIssuesResponse> </soap:Body> </soap:Envelope>
In this example the RaisedBy column will be completely empty. If the ‘Issues’ are reversed so RaisedBy first has a value, there is no problem. Any ideas?
In the Query itself, try to define your columns explicitly, instead of letting SSRS determine them for you.
In other words, where you have:
Replace the * with something like:
Of course, that exact XPath may not be correct for your example.