protected override void WriteXml(XmlWriter writer) { base.WriteXml(writer); string codeValue = GetCodeString(FaultCode); //fault writer.WriteStartElement(SoapConstant.SoapFaultLocalName, EnvelopeNS); //code writer.WriteStartElement(SoapConstant.SoapCodeLocalName, EnvelopeNS); //value writer.WriteStartElement(SoapConstant.SoapCodeValueLocalName, EnvelopeNS); writer.WriteValue(codeValue); //end value writer.WriteEndElement(); //end code writer.WriteEndElement(); //reason writer.WriteStartElement(SoapConstant.SoapReasonLocalName, EnvelopeNS); writer.WriteStartElement(SoapConstant.SoapReasonTextLocalName, EnvelopeNS); writer.WriteAttributeString("xml", "lang", "", "en"); writer.WriteValue(Reason); writer.WriteEndElement(); //end reason writer.WriteEndElement(); //detail if (Detail != null) { writer.WriteStartElement(SoapConstant.SoapDetailLocalName, EnvelopeNS); try { //, null, SoapSerializeHelper.WriteDataContract(writer, Detail, "string", "http://schemas.datacontract.org/2004/07/WcfService3"); } catch (Exception ex) { Log.Default.LogException(ex); } writer.WriteEndElement(); } //end fault writer.WriteEndElement(); //end body writer.WriteEndElement(); writer.WriteEndElement(); }
protected override void WriteXml(XmlWriter writer) { base.WriteXml(writer); //writer Response writer.WriteStartElement(m_actionResponseName, m_serviceNS); if (m_result != null) { SoapSerializeHelper.WriteDataContract(writer, m_result, m_operationName + SoapConstant.ActionResponseResultSuffix, this.m_serviceNS); } if (m_outArgs != null) { foreach (KeyValuePair <string, object> outArg in m_outArgs) { SoapSerializeHelper.WriteDataContract(writer, outArg.Value, outArg.Key); } } //write end Response writer.WriteEndElement(); //write end body writer.WriteEndElement(); //write end Envelop writer.WriteEndElement(); }