У меня есть класс, который определяется как:
[XmlRoot(ElementName = "Body", Namespace = "http://schemas.xmlsoap.org/soap/envelope/")]
public class OrderResponseBody
{
[XmlElement(ElementName = "Fault", Namespace = "http://schemas.xmlsoap.org/soap/envelope/")]
public Fault Fault { get; set; }
[XmlElement(ElementName = "IPGApiOrderResponse", Namespace = "http://ipg-online.com/ipgapi/schemas/ipgapi")]
public IPGApiOrderResponse IPGApiOrderResponse { get; set; }
}
и правильно десериализовано.
Но теперь мне нужно изменить Свойство IPGApiOrderResponse
на что-то другое, например Response
без изменения атрибута XML, примерно так:
[XmlRoot(ElementName = "Body", Namespace = "http://schemas.xmlsoap.org/soap/envelope/")]
public class OrderResponseBody
{
[XmlElement(ElementName = "Fault", Namespace = "http://schemas.xmlsoap.org/soap/envelope/")]
public Fault Fault { get; set; }
[XmlElement(ElementName = "IPGApiOrderResponse", Namespace = "http://ipg-online.com/ipgapi/schemas/ipgapi")]
public IPGApiOrderResponse Response { get; set; }
}
Но после изменения имени свойства при десериализации оно всегда равно нулю. Чего мне не хватает?
Редактировать 1:
Вот XML, который я пытаюсь десериализовать:
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header />
<SOAP-ENV:Body>
<ipgapi:IPGApiOrderResponse xmlns:ipgapi="http://ipg-online.com/ipgapi/schemas/ipgapi" xmlns:a1="http://ipg-online.com/ipgapi/schemas/a1" xmlns:v1="http://ipg-online.com/ipgapi/schemas/v1">
<ipgapi:ApprovalCode>Y:827973:4523631795:PPX :497049</ipgapi:ApprovalCode>
<ipgapi:AVSResponse>PPX</ipgapi:AVSResponse>
<ipgapi:Brand>MASTERCARD</ipgapi:Brand>
<ipgapi:Country>BRA</ipgapi:Country>
<ipgapi:CommercialServiceProvider>BIN</ipgapi:CommercialServiceProvider>
<ipgapi:OrderId>A1556224292156889196</ipgapi:OrderId>
<ipgapi:IpgTransactionId>84523631795</ipgapi:IpgTransactionId>
<ipgapi:PaymentType>CREDITCARD</ipgapi:PaymentType>
<ipgapi:ProcessorApprovalCode>827973</ipgapi:ProcessorApprovalCode>
<ipgapi:ProcessorReferenceNumber>000067462</ipgapi:ProcessorReferenceNumber>
<ipgapi:ProcessorResponseCode>00</ipgapi:ProcessorResponseCode>
<ipgapi:ProcessorResponseMessage>APROVADA 000067462</ipgapi:ProcessorResponseMessage>
<ipgapi:TDate>1556224292</ipgapi:TDate>
<ipgapi:TDateFormatted>2019.04.25 22:31:32 (CEST)</ipgapi:TDateFormatted>
<ipgapi:TerminalID>EII00714</ipgapi:TerminalID>
<ipgapi:TransactionResult>APPROVED</ipgapi:TransactionResult>
<ipgapi:TransactionTime>1556224292</ipgapi:TransactionTime>
</ipgapi:IPGApiOrderResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>