WCF不读取肥皂消息中的基类名称

时间:2019-05-03 18:06:10

标签: c# wcf soap

我从第三方导入了wsdl,并在SOAP消息中找回了基类名称,而不是在出现错误情况时返回了实际的类名称。即使返回了SOAP,这也会导致null响应。

这是类在Reference.cs文件中的外观。

public partial class GetStatusResponse :BaseResponse {
// There is nothing in the child class
}

由于错误而返回的SOAP消息:

<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
   <S:Body>
      <ns0:BaseResponse Status="Error" xmlns:ns0="myNameSpace">
         <ns0:Error>
            <ns0:ErrorStatus>UnhandledError</ns0:ErrorStatus>
            <ns0:ErrorMessage>INVALID_CODE</ns0:ErrorMessage>
         </ns0:Error>
      </ns0:BaseResponse>
   </S:Body>
</S:Envelope>

一切成功后,将返回以下SOAP消息,并且一切正常。

<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
   <S:Body>
      <ns0:GetStatusResponse Status="Success" xmlns:ns0="myNameSpace">
         <ns0:Success>
            <ns0:ID>1234567890</ns0:ID>
         </ns0:Success>
      </ns0:GetStatusResponse>
   </S:Body>
</S:Envelope>

如何修改Reference.cs文件以知道SOAP中的BaseResponse实际上是GetStatusResponse,因此它将对其进行拾取并以C#代码返回返回的对象?现在,我的响应只是空的。

0 个答案:

没有答案