XML RPC类型不匹配

时间:2015-11-23 07:20:41

标签: c# web-services xml-rpc

您好我尝试联系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)

0 个答案:

没有答案