私は 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.これはテスト検査です。"]
- この不一致を許容する私の契約に問題はありますか?
- 必要なデータをリストに取得できるように、object[] のタイプを特定する方法はありますか?
ありがとうございました。