这是我的代码:
private Message SendMessage(ref Message message, string serviceURL)
{
Message result = null;
try
{
IRequestChannel channel = null;
BasicHttpBinding binding = ...;
using (var cf = new ChannelFactory<IRequestChannel>(binding, new EndpointAddress(serviceURL)))
{
foreach (OperationDescription op in cf.Endpoint.Contract.Operations)
{
op.Behaviors.Remove<DataContractSerializerOperationBehavior>();
}
cf.Open();
channel = cf.CreateChannel();
channel.Open();
result = channel.Request(message);
channel.Close();
cf.Close();
channel = null;
}
binding = null;
}
catch (Exception ex)
{
Logger.LogError("Error parsing SOAP", ex.Message);
}
return result;
}
在线result = channel.Request(message);
我在下面的图片中收到了错误信息。但是,我只有在转向&#34; 休息 &#34; 发生CLR异常。当我不进行调试时,我的代码不会进入catch块。
答案 0 :(得分:-1)
看起来您尝试将值为'= X'的字符串序列化或反序列化为bool。我认为您应该检查合同或检查您的message
对象。
.net代码中的某处代码调用XmlConvert.ToBoolean(String)
方法。它的有效值为0
或1
Link to doc