Je suis en train d'analyser un message SOAP fortement espaces de noms (source se trouvent également here):Parse et SOAP requête en C#
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Header>
<ns1:TransactionID soapenv:mustUnderstand="1" xsi:type="xsd:string" xmlns:ns1="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-MM7-1-2">0a00f556419041c08d8479fbaad02a3c</ns1:TransactionID>
</soapenv:Header>
<soapenv:Body>
<SubmitRsp xmlns="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-MM7-1-2">
<MM7Version>5.3.0</MM7Version>
<Status>
<StatusCode xsi:type="ns2:responseStatusType_StatusCode" xmlns:ns2="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-MM7-1-2" xmlns="">1000</StatusCode>
<StatusText xsi:type="ns3:statusTextType" xmlns:ns3="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-MM7-1-2" xmlns="">Success</StatusText>
</Status>
<MessageID>B08CF7B847DAD89C752334BDEBB69B5B</MessageID>
</SubmitRsp>
</soapenv:Body>
</soapenv:Envelope>
Juste pour le contexte, ceci est une réponse de MM7 Envoyer un message .
Comment puis-je obtenir les valeurs suivantes:
TransactionID, StatusCode, StatusText, messageid
J'ai essayé Linq-Xml, mais pas de chance lorsque la requête comprend une valeur comme "soapenv: Body".
Je suis curieux. Plutôt que d'analyser le message, pourquoi ne pas utiliser une référence de service? –
@John, pouvez-vous élaborer? –
Utilisez la commande "Ajouter une référence de service" pour créer une référence de service au service renvoyant ces données. Ensuite, vous pouvez l'appeler comme une méthode et traiter les éléments comme des classes avec des propriétés. –