You might try this then:
catch (System.Reflection.TargetInvocationException e1) String excType excType = e1.InnerException.GetType().ToString() choose case excType case "System.ServiceModel.FaultException" System.ServiceModel.FaultException e2 e2 = e1.InnerException System.ServiceModel.Channels.MessageFault fault fault = e2.CreateMessageFault() ls_message = "Clase: uo_bcfeWS, Método: registraUnilateral ~r~n" + "Exception(1): " + fault.Reason.ToString() if (fault.HasDetail) then System.Xml.XmlReader reader reader = fault.GetReaderAtDetailContents() ls_message += " " + reader.Value do while reader.Read() ls_message += reader.Value loop end if case "System.Text.DecoderFallbackException" System.Text.DecoderFallbackException e3 e3 = e1.InnerException ls_message = "Clase: uo_bcfeWS, Método: registraUnilateral ~r~n" + "Exception(1): " + e3.Message case else ls_message = "Clase: uo_bcfeWS, Método: registraUnilateral ~r~n" + "Exception(1): " + e1.Message end choose MessageBox ( "Error", ls_message ) //logError(ls_message) return false
But what that's going to get us back to, at least in this case, is "Unable to translate bytes [F3] at index 0 from specified code page to Unicode."