您好我尝试联系WebService来检查Id是否正确
public static void QualifiziererUstIdCheck()
{
try
{
IQualifizierteUstIdPruefung proxy = XmlRpcProxyGen.Create<IQualifizierteUstIdPruefung>();
QualifizierteUstIdPruefAntwort ret = proxy.evatrRPC("DE123456789", "AB123456789012", "Firmenname einschl. Rechtsform", "Ort", "1234567", "Strasse und Hausnummer", "nein");
MessageBox.Show(ret.ErrorCode);
}
catch (Exception)
{
throw;
}
}
[XmlRpcMissingMapping(MappingAction.Ignore)]
public struct QualifizierteUstIdPruefAntwort
{
public string Datum;
public string Uhrzeit;
public string ErrorCode;
public string UstId_1;
public string UstId_2;
public string Firmename;
public string Ort;
public string PLZ;
public string Strasse;
public string Erg_Name;
public string Erg_Ort;
public string Erg_PLZ;
public string Erg_Str;
public string Gueltig_ab;
public string Gueltig_bis;
public string Druck;
}
[XmlRpcUrl("https://evatr.bff-online.de/")]
public interface IQualifizierteUstIdPruefung: IXmlRpcProxy
{
[XmlRpcMethod ("evatrRPC")]
QualifizierteUstIdPruefAntwort evatrRPC(string UstId_1, string UstId_2, string Firmenname, string Ort, string PLZ, string Strasse, string Druck);
}
如果我在不使用我的struct但使用字符串返回值的情况下联系服务,我会从服务中得到以下答案:
<params> <param> <value><array><data> <value><string>UstId_1</string></value> <value><string>DE123456789</string></value> </data></array></value> </param> <param> <value><array><data> <value><string>ErrorCode</string></value> <value><string>212</string></value> </data></array></value> </param> <param> <value><array><data> <value><string>UstId_2</string></value> <value><string>AB123456789012</string></value> </data></array></value> </param> <param> <value><array><data> <value><string>Druck</string></value> <value><string>nein</string></value> </data></array></value> </param> <param> <value><array><data> <value><string>Erg_PLZ</string></value> <value><string></string></value> </data></array></value> </param> <param> <value><array><data> <value><string>Ort</string></value> <value><string>Ort</string></value> </data></array></value> </param> <param> <value><array><data> <value><string>Datum</string></value> <value><string>23.11.2015</string></value> </data></array></value> </param> <param> <value><array><data> <value><string>PLZ</string></value> <value><string>1234567</string></value> </data></array></value> </param> <param> <value><array><data> <value><string>Erg_Ort</string></value> <value><string></string></value> </data></array></value> </param> <param> <value><array><data> <value><string>Uhrzeit</string></value> <value><string>07:54:32</string></value> </data></array></value> </param> <param> <value><array><data> <value><string>Erg_Name</string></value> <value><string></string></value> </data></array></value> </param> <param> <value><array><data> <value><string>Gueltig_ab</string></value> <value><string></string></value> </data></array></value> </param> <param> <value><array><data> <value><string>Gueltig_bis</string></value> <value><string></string></value> </data></array></value> </param> <param> <value><array><data> <value><string>Strasse</string></value> <value><string>Strasse und Hausnummer</string></value> </data></array></value> </param> <param> <value><array><data> <value><string>Firmenname</string></value> <value><string>Firmenname einschl. Rechtsform</string></value> </data></array></value> </param> <param> <value><array><data> <value><string>Erg_Str</string></value> <value><string></string></value> </data></array></value> </param> </params>
如果我使用struct我得到一个XmlRpc类型不匹配异常(响应包含字符串值,其中struct expected [response])
你能帮助我吗?
感谢。
Ex.StackTrace:
bei CookComputing.XmlRpc.XmlRpcSerializer.ParseString(XmlNode节点, 输入ValueType,ParseStack parseStack,MappingAction mappingAction)
bei CookComputing.XmlRpc.XmlRpcSerializer.ParseValue(XmlNode节点, 输入ValueType,ParseStack parseStack,MappingAction mappingAction, 类型和放大器; ParsedType,Type&amp; ParsedArrayType)bei CookComputing.XmlRpc.XmlRpcSerializer.ParseValue(XmlNode节点,类型 ValueType,ParseStack parseStack,MappingAction mappingAction)bei CookComputing.XmlRpc.XmlRpcSerializer.DeserializeResponse(XmlDocument的 xdoc,Type returnType)bei CookComputing.XmlRpc.XmlRpcSerializer.DeserializeResponse(Stream stm, 输入svcType)bei CookComputing.XmlRpc.XmlRpcClientProtocol.ReadResponse(XmlRpcRequest req,WebResponse webResp,Stream respStm,Type returnType)bei CookComputing.XmlRpc.XmlRpcClientProtocol.Invoke(Object clientObj, MethodInfo mi,Object []参数)bei CookComputing.XmlRpc.XmlRpcClientProtocol.Invoke(MethodInfo mi, 对象[]参数)bei XmlRpcProxy45ebfd85-1c38-4dd9-a089-68735f19a7e9.evatrRPC(字符串 UstId_1,String UstId_2,String Firmenname,String Ort,String PLZ, String Strasse,String Druck)