0
Ich rufe einen UPS-Webdienst an, um den Versand zu berechnen, und im Falle einer ungültigen Adresse gibt der Serviceaufruf eine SoapException zurück.Wählen Sie ein untergeordnetes Element von SoapException.Detail.InnerXML
Der Soap hat eine Detail.InnerXMl Eigenschaft mit dem folgenden XML:
<err:Errors xmlns:err=\"http://www.ups.com/XMLSchema/XOLTWS/Error/v1.1\">
<err:ErrorDetail>
<err:Severity>Hard</err:Severity>
<err:PrimaryErrorCode>
<err:Code>111286</err:Code>
<err:Description>CAa is not a valid state for the specified shipment.</err:Description>
</err:PrimaryErrorCode>
</err:ErrorDetail>
</err:Errors>
Ich möchte den Text aus dem <Description>
Element extrahieren.
Warum sollte dies nicht funktionieren:
try
{
}
catch (SoapException ex)
{
XmlNode node = ex.Detail.SelectSingleNode("//Description");
//node is null
}
Diese Liste Größe 0 zurück, Sie mit 'ex.Detail.InnerXML' anstelle von 'yourxmlstring' –
' yourxmlstring' sollte Ihre vollständige 'SoapException' Antwortnachricht enthalten. –