Próbuję wyodrębnić SessionId z kodu XML, który jest zwracany z interfejsu API SOAP.Jak wyodrębnić zmienną z XML za pomocą Postmana?
Przeczytałem dokumentację Listonosza (kilka razy), ale nie było to najbardziej pomocne w osiągnięciu mojego celu.
W kilku blogach sugerowano konwersję XML na JSON, a następnie wybranie tokena i jego wartości, ale to też nie pomogło.
użyłem następujących w moim Test:
var jsonObject = xml2Json(responseBody);
postman.setGlobalVariable("Session_Id", jsonObject.SessionID);
Powyższy stworzony zmienną „session_id”, ale w rzeczywistości nie przypisać wartość do niego. Jestem zdumiony.
Zdecydowanie odzyskiwanie danych z interfejsu API jest widoczne w odpowiedzi "Ciało" Postmana.
Wciąż szukam odpowiedzi na to i potwierdzam osobę, która zapoznała mnie z aplikacją. Wyślę Postmanowi e-mail, jeśli nie przyjdę w ciągu najbliższych kilku dni. –
Co wynik dla jsonObject i jsonObject.SessionID ciąg znaków. Zgodnie z dokumentami dla listonoszy: postman.setGlobalVariable (variableName, variableValue): Ustawia globalną zmienną "variableName" i przypisuje do niej ciąg "variableValue". Uwaga: Można przechowywać tylko ciągi. Przechowywanie innych typów danych spowoduje nieoczekiwane zachowanie. – Shaughn
Wysłałem e-mail do Postman @ Shaughn i jeden z ich założycieli odpowiedział, doradzając mi to samo. Dodał jednak, że aplikacja automatycznie konwertuje każdy inny typ na ciąg znaków. Bez względu na to, znalazłem problem. Nie zagłębiam się wystarczająco głęboko w blob JSON. Skończyło się na użyciu: 'postman.setEnvironmentVariable ("Session_Id", jsonObject.UserSessionToken.SessionId);' Korzystałem z Console.log i sprawdzałem dane wyjściowe, aż znalazłem to, czego potrzebowałem. –