1

手動でデータを入力したデータセットを返す Web サービスを作成しました。サービスを開始して結果を取得すると、これが返される XML です。

<DataSet>
  <xs:schema id="Results">
    <xs:element name="Results" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
      <xs:complexType>
        <xs:choice minOccurs="0" maxOccurs="unbounded">
          <xs:element name="BillInfo">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="AccountType" type="xs:string" minOccurs="0"/>
                <xs:element name="AccountNumber" type="xs:string" minOccurs="0"/>
                <xs:element name="AmountDue" type="xs:decimal" minOccurs="0"/>
                <xs:element name="BillDescription" type="xs:string" minOccurs="0"/>
                <xs:element name="DaysTilDue" type="xs:int" minOccurs="0"/>
              </xs:sequence>
            </xs:complexType>
          </xs:element>
        </xs:choice>
      </xs:complexType>
    </xs:element>
  </xs:schema>

  <diffgr:diffgram>
    <Results>
      <BillInfo diffgr:id="BillInfo1" msdata:rowOrder="0" diffgr:hasChanges="inserted">
        <AccountType>PP</AccountType>
        <AccountNumber>1</AccountNumber>
        <AmountDue>307.6500</AmountDue>
        <BillDescription>Bill Number 20121</BillDescription>
        <DaysTilDue>-362</DaysTilDue>
      </BillInfo>
      <BillInfo diffgr:id="BillInfo2" msdata:rowOrder="1" diffgr:hasChanges="inserted">
        <AccountType>PP</AccountType>
        <AccountNumber>1</AccountNumber>
        <AmountDue>307.6500</AmountDue>
        <BillDescription>Bill Number 20121</BillDescription>
        <DaysTilDue>-362</DaysTilDue>
      </BillInfo>
    </Results>
  </diffgr:diffgram>
</DataSet>

要素パスを設定せず、SSRS DataSet を結果と等しく設定しようとすると、スキーマが情報として返されます。elementpath を入力しようとすると、結果が得られません。何が間違っているのかわかりません。以下に、SSRS DataSet をロードするために ElementPath を含めて使用しているクエリを示します

<Query>
    <SoapAction>http://tempuri.org/GetBillData</SoapAction>
    <Method Namespace="http://tempuri.org/" Name="GetBillData" />
      <Parameters>
        <Parameter Name="PartyID">
          <DefaultValue>0</DefaultValue>
        </Parameter>
      </Parameters>
    <ElementPath IgnoreNamespaces="True"> DataSet {}/ diffgram {}/ Results {}/BillInfo</ElementPath>
</Query>

誰かが私が間違っていることを知っているなら、私はそれを聞きたいです.

ありがとう

4

2 に答える 2

1

私の記憶が正しければ、「ElementPath」は次のように開始する必要があります: GetBillDataResponse{}/GetBillDataResult{}/DataSet{}/diffgram{}... Fiddlerを使用すると、データ構造を調べることができます。

于 2012-12-10T09:06:25.487 に答える