Reporting Services の複雑なパラメーターを入力として渡す Web サービスを照会する必要があります。これどうやってするの?
Visual Studio のクエリ デザイナーで、次のようなクエリを実行しています。
<Query>
<SoapAction>http://mywebservice.com/Customers/GetCustomers</SoapAction>
<Method Name="GetCustomers" Namespace="http://mywebservice.com/Customers/">
<Parameters>
<Parameter Name="myParams" type="xml">
<DefaultValue>
<myParams>
<IdCustomer>0</IdCustomer>
</myParams>
</DefaultValue>
</Parameter>
</Parameters>
</Method>
<ElementPath IgnoreNamespaces="true">*</ElementPath>
</Query>
WebService はパラメーターとしてそれを期待します:
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetCustomer xmlns="http://mywebservice.com/Customers/">
<myParams>
<IdCustomer>int</IdCustomer>
<IdCustomer>int</IdCustomer>
</myParams>
</GetCustomer>
</soap:Body>
</soap:Envelope>
Visual Studio 2008 で試してみると、次のエラー メッセージが表示されます。
指定された URL に対する Web リクエストの実行に失敗しました。Soap Fault: System.Web.Services.Protocols.SoapException: サーバーは要求を処理できませんでした。---> System.NullReferenceException: オブジェクト参照がオブジェクトのインスタンスに設定されていません。