1

私は Contract First WCF を使用して、サード パーティ ベンダーが wsdl を提供したサービスを作成しています。クライアントに応じた文字列の型または IEnumerables のデータ メンバー

SoapUI を介してサービスを利用する場合、次のコードで request.ProblemDataMember タイプ object[] にアクセスできるコードを使用できます。

foreach (XmlNode[] xmlNodeArray in request.ProblemDataMember)
{
    foreach (XmlNode xmlNode in xmlNodeArray)
    {
        this.Problem += "\t" + (xmlNode.InnerText) + "\n";
    }
}

ベンダーがメッセージを送信するとき (ASMX Web サービスであると推測します)、列挙可能な文字列としてデータ メンバーにアクセスする必要があります。

foreach (string s in request.ProblemDataMember )
{
    this.Problem += "\t" + s + "\n";
}

私のロギングは Newtonsoft.Json Serializes を使用しており、以下はその外観です。

SoapUI

[[{"#text":"オイル漏れ"}],[{"#text":"表面の錆"}],[{"#text":"高速走行時のキール"}],​​[{"#text ":"バッテリーをチェックしてください"}]]

ベンダー

["c1. シートが動かなくなった後も LF シート モーターが作動し続けるように聞こえる \r\nc2. 夜間に車両のロックを解除すると、前席運転席側のマーカーが点灯しない","c1. LF シート ダウン調整モーターが故障しました (ギアの故障) \r\nc2. マーカーバルブが必要 -- N/C","交換用 LF シート アジャスター ASSY.","1.これはテスト検査です.","2.これはテスト検査です.","3.これは試験検査です。」、「4.これは試験検査です。」、「5.これは試験検査です。」、「6.これは試験検査です。」、「7.これは試験検査です。 "、"8.これはテスト検査です。"、"9.これはテスト検査です。"、"10.これはテスト検査です。"、"11.これはテスト検査です。"、"12.これはは試験検査です。","13.これは試験検査です。","14.これはテスト検査です。","15.これはテスト検査です。"]

  1. この不一致を許容する私の契約に問題はありますか?
  2. 必要なデータをリストに取得できるように、object[] のタイプを特定する方法はありますか?

ありがとうございました。

4

0 に答える 0