/// <summary> /// Maps a method response to XML. /// </summary> /// <param name="rpcMethodResponse">The method response to be mapped.</param> /// <returns>The XML element.</returns> public XElement MapMethodResponse(XRpcMethodResponse rpcMethodResponse) { if (rpcMethodResponse == null) { throw new ArgumentNullException(nameof(rpcMethodResponse)); } // return a valid fault as per http://xmlrpc.scripting.com/spec.html if (rpcMethodResponse.Fault != null) { var members = new XRpcStruct(); members.Set("faultCode", rpcMethodResponse.Fault.Code); members.Set("faultString", rpcMethodResponse.Fault.Message); return(new XElement("methodResponse", new XElement("fault", new XElement("value", MapStruct(members)) ) )); } return(new XElement("methodResponse", new XElement("params", rpcMethodResponse.Params.Select( p => new XElement("param", MapValue(p)))))); }
public void MethodResponseWriterShouldSendParametersWithValues() { var mapper = new XmlRpcWriter(); var response = new XRpcMethodResponse(); response.Params.Add(new XRpcData<int> { Value = 42 }); var element = mapper.MapMethodResponse(response); Assert.That(NoSpace(element.ToString()), Is.EqualTo("<methodResponse><params><param><value><int>42</int></value></param></params></methodResponse>")); }
public void MethodResponseWriterShouldSendParametersWithValues() { var mapper = new XmlRpcWriter(); var response = new XRpcMethodResponse(); response.Params.Add(new XRpcData <int> { Value = 42 }); var element = mapper.MapMethodResponse(response); Assert.That(NoSpace(element.ToString()), Is.EqualTo("<methodResponse><params><param><value><int>42</int></value></param></params></methodResponse>")); }
public void FaultShouldBeCorrectlyFormatted() { var mapper = new XmlRpcWriter(); var response = new XRpcMethodResponse { Fault = new XRpcFault(10, "foo") }; var element = mapper.MapMethodResponse(response); Assert.That(NoSpace(element.ToString()), Is.EqualTo(NoSpace(@" <methodResponse><fault> <value><struct> <member><name>faultCode</name><value><int>10</int></value></member> <member><name>faultString</name><value><string>foo</string></value></member> </struct></value> </fault></methodResponse> "))); }
/// <summary> /// Maps a method response to XML. /// </summary> /// <param name="rpcMethodResponse">The method response to be mapped.</param> /// <returns>The XML element.</returns> public XElement MapMethodResponse(XRpcMethodResponse rpcMethodResponse) { Argument.ThrowIfNull(rpcMethodResponse, "rpcMethodResponse"); // return a valid fault as per http://xmlrpc.scripting.com/spec.html if(rpcMethodResponse.Fault != null) { var members = new XRpcStruct(); members.Set("faultCode", rpcMethodResponse.Fault.Code); members.Set("faultString", rpcMethodResponse.Fault.Message); return new XElement("methodResponse", new XElement("fault", new XElement("value", MapStruct(members)) ) ); } return new XElement("methodResponse", new XElement("params", rpcMethodResponse.Params.Select( p => new XElement("param", MapValue(p))))); }
private static int GetId(XRpcMethodResponse response) { return(response != null && response.Params.Count == 1 && response.Params[0].Value is int ?Convert.ToInt32(response.Params[0].Value) : 0); }
private static XRpcStruct GetPost(XRpcMethodResponse response) { return(response != null && response.Params.Count == 1 && response.Params[0].Value is XRpcStruct ? response.Params[0].Value as XRpcStruct : null); }
private static int GetId(XRpcMethodResponse response) { return response != null && response.Params.Count == 1 && response.Params[0].Value is int ? Convert.ToInt32(response.Params[0].Value) : 0; }
private static XRpcStruct GetPost(XRpcMethodResponse response) { return response != null && response.Params.Count == 1 && response.Params[0].Value is XRpcStruct ? response.Params[0].Value as XRpcStruct : null; }