サード パーティによって作成された Web サービスの簡単なテストを実行しようとしています。問題は、SoapUI を使用するたびに、次のエラーが発生することです。
名前空間http://schemas.datacontract.org/2004/07/Servicesの要素 MyValue は 、オブジェクトとして逆シリアル化される子コンテンツを持つことはできません。このパターンの XML を逆シリアル化するには、XmlNode[] を使用してください。
ここから、デシリアライザーが文字列を型のオブジェクトに戻す際に問題が発生するのではなく、DataMember が型であることを理解しました。object
string
Object
提案された解決策の 1 つは、DataMember のタイプを変更するString
ことでした。これは、サード パーティに属しているため明らかにできません。
SoapUI テストで動作させるための他の提案はありますか?
追加情報: ブログで提案されている解決策:
[DataContract]
public class MyClass
{
[DataMember]
public string MyName;
[DataMember]
public object MyValue;
}
DataContract を次のように変更した場合
[DataContract]
public class MyClass
{
[DataMember]
public string MyName;
[DataMember]
public string MyValue;
}