Wyświetlasz dokumentację Apigee Edge.
Przejdź do
dokumentacji Apigee X. info
Krótki opis problemu
Podczas wysyłania żądania do interfejsu API na żywo za pomocą SmartDocs z portalu dla programistów wystąpił błąd.
Komunikaty o błędach
Częsty błąd w portalu dla programistów to „Wystąpił błąd wewnętrzny. Spróbuj ponownie wysłać żądanie”.
Możliwe przyczyny
Ten błąd może wystąpić, gdy portal dla programistów nie otrzyma odpowiedzi z backendu (serwera proxy SmartDocs lub rzeczywistego punktu końcowego).
Diagnostyka
Włącz „Narzędzia dla programistów” w przeglądarce i sprawdź kartę Sieć, aby zidentyfikować rzeczywisty błąd.
Typowe błędy i ich przyczyny są wymienione w tabeli poniżej:
|
Błąd |
Typowe przyczyny |
|
ERR_NAME_NOT_RESOLVED |
Nieprawidłowo skonfigurowany serwer proxy SmartDocs lub ograniczenia zapory sieciowej |
|
Mieszana zawartość |
Portal skonfigurowany przez HTTPS, żądanie SmartDocs przez HTTP |
|
500 – Wewnętrzny błąd serwera |
Omówimy teraz każdą z tych przyczyn i kroki, które należy wykonać, aby rozwiązać problem.
Nieprawidłowo skonfigurowany serwer proxy SmartDocs lub ograniczenia zapory sieciowej
Komunikat „ERR_NAME_NOT_RESOLVED” oznacza, że adres URL serwera proxy SmartDocs jest nieprawidłowo skonfigurowany lub sieć, z której uzyskiwany jest dostęp do portalu, nie może wywołać adresu URL serwera proxy SmartDocs z powodu ograniczeń zapory sieciowej. Serwer proxy SmartDocs musi być dostępny z internetu lub z sieci wewnętrznej (w przypadku wewnętrznych interfejsów API).

Rozwiązanie
Upewnij się, że serwer proxy SmartDocs jest dostępny ze wszystkich wymaganych sieci, wdrażając serwer proxy SmartDocs na hoście wirtualnym w Edge z nazwą hosta dostępną z internetu.
Portal skonfigurowany przez HTTPS, żądanie SmartDocs przez HTTP
Błąd „Mieszana zawartość” oznacza, że serwer proxy SmartDocs jest wywoływany przez HTTP ze strony wczytanej przez HTTPS.

Rozwiązanie
Aby rozwiązać ten problem, udostępnij serwer proxy SmartDocs przez HTTPS. Możesz to zrobić, wdrażając serwer proxy SmartDocs, aby uwzględnić hosta wirtualnego skonfigurowanego do używania TLS/SSL (zwykle hosta wirtualnego „secure”).
Serwer proxy SmartDocs zwraca wyjątek
Komunikat 500 – Wewnętrzny błąd serwera może być spowodowany problemem z serwerem proxy „smartdocs”. W takim przypadku zauważysz, że serwer proxy SmartDocs zwraca ten błąd.
Diagnostyka
Aby zdiagnozować błędy serwera proxy „smartdocs”, użyj narzędzia Trace w sposób opisany poniżej. Więcej informacji znajdziesz w artykule Korzystanie z narzędzia Trace.
- Włącz śledzenie serwera proxy „smartdocs” w organizacji „VALIDATE”, aby znaleźć konkretną zasadę, która zwraca błąd 500 – Wewnętrzny błąd serwera.

- W śladzie wybierz konkretną zasadę, aby zidentyfikować przyczynę błędu.
Rozwiązanie
Napraw zidentyfikowany błąd. Jeśli potrzebujesz pomocy, skontaktuj się z zespołem pomocy Apigee Edge.
Procesory komunikatów Edge nie mogą wywołać opublikowanego punktu końcowego interfejsu API
Błąd 500 – Wewnętrzny błąd serwera może też wystąpić, gdy procesory komunikatów należące do organizacji hostującej serwer proxy SmartDocs nie mogą wywołać punktu końcowego interfejsu API.
Diagnostyka
Aby zdiagnozować błędy serwera proxy „smartdocs”, użyj narzędzia Trace w sposób opisany poniżej. Więcej informacji znajdziesz w artykule Korzystanie z narzędzia Trace.
- Włącz śledzenie serwera proxy „smartdocs” w organizacji „VALIDATE”, aby znaleźć konkretną zasadę która zwraca błąd 500 – Wewnętrzny błąd serwera.

- W przykładowym śladzie interfejsu pokazanym powyżej widać, że zasada JavaScript „BuildTargetAPIRequest” nie może wykonać docelowego adresu URL.
- Pobierz docelowy adres URL z zasady JavaScript „BuildTargetAPIRequest”.
- Wykonaj bezpośrednie wywołanie adresu URL z węzłów procesora komunikatów powiązanych z
„VALIDATE” org w sposób pokazany poniżej:
curl -v <target URL>
- Popraw każdy zaobserwowany błąd.
Rozwiązanie
- Upewnij się, że interfejsy API opublikowane w portalu dla programistów można wywoływać z procesorów komunikatów powiązanych z organizacją „VALIDATE”, i popraw wszelkie napotkane błędy.
- Jeśli możesz wykonać wywołanie interfejsu API bezpośrednio z procesora komunikatów, najprawdopodobniej będziesz też w stanie wykonać je za pomocą SmartDocs.
- Wykonaj wywołanie interfejsu API za pomocą SmartDocs i sprawdź, czy problem został rozwiązany.