public CoreWCF.Channels.Message Untyped_MethodReturns(CoreWCF.Channels.Message msgIn) { MessageVersion mv = MessageVersion.Soap11; if (null != msgIn) { string faultString = GetTestStrFromMsg(msgIn); switch (faultString) { case VarSomeFault: return(CoreWCF.Channels.Message.CreateMessage(mv, CoreWCF.Channels.MessageFault.CreateFault(new FaultCode("Sender"), new FaultReason("Unspecified ServiceModel Fault"), (object)new ServiceContract.SomeFault(123456789, "SomeFault"), new System.Runtime.Serialization.DataContractSerializer(typeof(ServiceContract.SomeFault)), "", ""), "http://tempuri.org/ITestDataContractFault/Untyped_MethodReturnsSomeFaultFault")); case VarOuterFault: ServiceContract.SomeFault sf = new ServiceContract.SomeFault(123456789, "SomeFault as innerfault"); ServiceContract.OuterFault of = new ServiceContract.OuterFault(); of.InnerFault = sf; return(CoreWCF.Channels.Message.CreateMessage(mv, CoreWCF.Channels.MessageFault.CreateFault(new FaultCode("Sender"), new FaultReason("Unspecified ServiceModel Fault"), (object)of, new System.Runtime.Serialization.DataContractSerializer(typeof(ServiceContract.OuterFault)), "", ""), "http://tempuri.org/ITestDataContractFault/Untyped_MethodReturnsOuterFaultFault")); case VarComplexFault: ServiceContract.ComplexFault cf = GetComplexFault(); return(CoreWCF.Channels.Message.CreateMessage(mv, CoreWCF.Channels.MessageFault.CreateFault(new FaultCode("Sender"), new FaultReason("Unspecified ServiceModel Fault"), (object)cf, new System.Runtime.Serialization.DataContractSerializer(typeof(ServiceContract.ComplexFault)), "", ""), "http://tempuri.org/ITestDataContractFault/Untyped_MethodReturnsComplexFaultFault")); default: throw new ApplicationException("Unknown value of FaultString specified: " + faultString); } } return(CoreWCF.Channels.Message.CreateMessage(mv, CoreWCF.Channels.MessageFault.CreateFault(new FaultCode("Sender"), new FaultReason("Unspecified ServiceModel Fault"), "unspecified", new System.Runtime.Serialization.DataContractSerializer(typeof(string)), "", ""), "http://www.w3.org/2005/08/addressing/fault")); }
private ServiceContract.ComplexFault GetComplexFault() { int errorInt = 50; string errorString = "This is a test error string for fault tests."; ServiceContract.SomeFault errorSomeFault = new ServiceContract.SomeFault(123456789, "SomeFault in complexfault"); int[] errorIntArray = new int[] { int.MaxValue, int.MinValue, 0, 1, -1, 50, -50 }; string[] errorStringArray = new string[] { string.Empty, null, "String Value" }; byte[] errorByteArray = new byte[128]; for (int i = 0; i < errorByteArray.Length; i++) { errorByteArray[i] = (byte)i; } ServiceContract.SomeFault[] errorSomeFaultArray = new ServiceContract.SomeFault[] { errorSomeFault, null, new ServiceContract.SomeFault(234, "Second somefault in complexfault") }; ServiceContract.ComplexFault cf = new ServiceContract.ComplexFault { ErrorInt = errorInt, ErrorString = errorString, ErrorByteArray = errorByteArray, SomeFault = errorSomeFault, ErrorIntArray = errorIntArray, ErrorStringArray = errorStringArray, SomeFaultArray = errorSomeFaultArray }; return(cf); }
private void ThrowTestFault(string faultType) { //this.tenv.ExecutionEngine.Results.Write("Throwing Fault'[{0}]", faultToThrow); switch (faultType.ToLower()) { case VarSomeFault: throw new FaultException <ServiceContract.SomeFault>(new ServiceContract.SomeFault(123456789, "SomeFault")); case VarOuterFault: ServiceContract.SomeFault sf = new ServiceContract.SomeFault(123456789, "SomeFault as innerfault"); ServiceContract.OuterFault of = new ServiceContract.OuterFault { InnerFault = sf }; throw new FaultException <ServiceContract.OuterFault>(of); case VarComplexFault: ServiceContract.ComplexFault cf = GetComplexFault(); throw new FaultException <ServiceContract.ComplexFault>(cf); default: throw new ApplicationException("Unknown value of FaultString specified: " + faultType); } }