クックコンピューティングライブラリを使用してXML-RPC経由でC#.NETのオブジェクト配列にXMLの構造体の配列を転送/マップする方法はありますか?例えば.NETのC#でCookComputingによってXML-RPCを使用してXMLの構造体の配列をオブジェクトの配列(IList/IEnumerable)にマップするにはどうすればよいですか?
、私は、XML-RPCサーバーに、この配列を送りたい:
<?xml version="1.0"?>
<methodCall>
<methodName>mynamespace.methodName</methodName>
<params>
<param>
<value>
<array>
<data>
<struct>
<member>
<name>param1String</name>
<value><string>ABCDEFGH</string></value>
</member>
<member>
<name>param2Int</name>
<value><i4>123456</i4></value>
</member>
</struct>
<struct>
<member>
<name>param1String</name>
<value><string>QWERTY</string></value>
</member>
<member>
<name>param2Int</name>
<value><i4>987654</i4></value>
</member>
</struct>
</data>
</array>
</value>
</param>
</params>
</methodCall>
はさらに、私はこの要求を処理するには、次のサーバーの方法があります。
[XmlRpcMethod("mynamespace.methodName")]
public void ProcessArrayOfObjects(Array[] myArray)
//public void ProcessArrayOfObjects(XmlRpcStruct[] myArray)
{
try
{
// ... would process, but myArray is empty
}
catch (Exception e)
{
logger.Error(e, "Processing array failed! Reason: {0}", e.Message);
}
}
を私は3番目を使用していますXMLリクエストを処理するために、CookComputingによるXML-RPCライブラリを提供しています。 受け取ったXML入力をArray[]
またはXmlRpcStruct[]
、または具体的なクラスの配列にマッピングした後は、空の配列です。
また、、またはList<ConcreteObject>
にマップしようとしましたが、削除したのは<array></array>
と<data></data>
タグでした。私はXML-RPC要求エラー(間違ったXML形式)を取得しました。
他に、CookComputingフレームワークで何ができますか?