C# WCF故障异常<;字符串>;名称空间

C# WCF故障异常<;字符串>;名称空间,c#,wcf,biztalk,C#,Wcf,Biztalk,当WCF服务出现故障时,我在从WCF服务返回命名空间方面遇到问题。作为删除基于BizTalk的WCF服务的一部分,我正在尝试使用vanilla C#WCF构建同一服务的精确副本 在基于BizTalk的服务中,错误消息包含命名空间'xmlns=”http://schemas.microsoft.com/2003/10/Serialization/“在部分。但是我的C#WCF服务错误消息是否缺少此命名空间 BizTalk服务错误消息 <s:Envelope xmlns:s="ht

当WCF服务出现故障时,我在从WCF服务返回命名空间方面遇到问题。作为删除基于BizTalk的WCF服务的一部分,我正在尝试使用vanilla C#WCF构建同一服务的精确副本

在基于BizTalk的服务中,错误消息包含命名空间
'xmlns=”http://schemas.microsoft.com/2003/10/Serialization/“
部分。但是我的C#WCF服务错误消息是否缺少此命名空间

BizTalk服务错误消息

       <s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope">
        <s:Header />
        <s:Body>
        <s:Fault>
         <s:Code>
            <s:Value>s:ValidationError</s:Value>
            <s:Subcode>
               <s:Value>s:ItineraryNameInvalid</s:Value>
            </s:Subcode>
         </s:Code>
         <s:Reason>
            <s:Text xml:lang="en-AU">'Itinerary Name 'EEE' is invalid.'</s:Text>
         </s:Reason>
         <s:Detail>
            <string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">'Itinerary Name 'EEE' is invalid.'</string>
         </s:Detail>
      </s:Fault>
   </s:Body>
</s:Envelope>

s:验证错误
s:行程名称无效
'行程名称'EEE'无效。'
'行程名称'EEE'无效。'
但是在基于C#的WCF服务中,缺少“
”的名称空间

C#WCF故障信息

<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope">
   <s:Header />
   <s:Body>
      <s:Fault>
         <s:Code>
            <s:Value>s:ValidationError</s:Value>
            <s:Subcode>
               <s:Value>s:ItineraryNameInvalid</s:Value>
            </s:Subcode>
         </s:Code>
         <s:Reason>
            <s:Text xml:lang="en-AU">'Itinerary Name 'EEEE' is invalid.'</s:Text>
         </s:Reason>
         <s:Detail>
            <string>'Itinerary Name 'EEEE' is invalid.'</string>
         </s:Detail>
      </s:Fault>
   </s:Body>
</s:Envelope>

s:验证错误
s:行程名称无效
'行程名称'EEEE'无效。'
'行程名称'EEEE'无效。'
代码

catch (ValidateException ex)  {

                     string messsage = ex.Message;

                     var fcs = new  FaultCode(ex.FaultSubCode);
                     var fc = new FaultCode(ex.FaultCode,fcs);
                     var fr = new FaultReason(messsage);

                     throw new FaultException<string>(messsage, fr, fc);
                 }
catch(ValidateException-ex){
字符串消息=例如消息;
var fcs=新的故障代码(例如故障子代码);
var fc=新的故障代码(例如,故障代码,fcs);
var fr=新故障原因(消息);
抛出新的FaultException(消息、fr、fc);
}
如果您有任何线索或想法来添加这个缺少的名称空间,我们将不胜感激。

与此问题相反,您似乎必须让StreamReader读取字符串