A wsimport lefutott. A SOAP-hívásnak mégis kell egy proxy.
Válassza szét a WSDL előállítását, a WSDL futásidejű letöltését és a SOAP-hívást a JAX-WS proxyhozzáférés beállításakor.
A WSDL letöltődött, a Java-osztályok elkészültek, és az első SOAP-hívás mégis nem tud kijutni a hálózatra. A generátor által használt proxy-beállítás a generátor saját futásához tartozik.
Az Oracle JDK 8 wsimport-referenciája HTTP-proxy beállítást dokumentál ehhez az eszközhöz. Ez nem hordozható utasítás, amely a létrejött szolgáltatásosztályokba lenne beágyazva. Egy későbbi alkalmazás másik JVM-ben, más fiók alatt és más JAX-WS-implementációval futhat.
Azonosítsa, melyik kérés bukott el
| Szakasz | Vizsgálandó folyamat vagy összetevő |
|---|---|
| Osztályok előállítása WSDL-ből és importokból | A build-eszköz vagy a wsimport hívása |
| A WSDL olvasása a szolgáltatás felépítésekor | Az alkalmazás WSDL-helye és a futásidejű kliens |
| A SOAP-végpont hívása | A választott futásidejű átvitel és annak proxykonfigurációja |
A középső szakasz könnyen elkerüli a figyelmet. Egy előállított szolgáltatás továbbra is hivatkozhat távoli WSDL-re. Ha a futásidejű környezetnek azt a felépítés során le kell töltenie, a port beállítása csak utána túl késő ahhoz a korábbi letöltéshez. A szándékolt leírás alkalmazáserőforrásként való csomagolása megszüntetheti ezt a letöltési függőséget ott, ahol az implementáció támogatja.
Egy ClientProxyFeature nevű osztály egy implementációból nem része automatikusan minden JAX-WS-szolgáltatónak.
Tartsa külön a proxy hitelesítő adatait a SOAP-szolgáltatás hitelesítő adataitól. Egy sikeres WSDL-letöltés akár névtelen is lehet, miközben a művelet végpontja bejelentkezést kér, vagy fordítva.
Jegyezze fel a sikertelen URL-t és azt a pontot, ahol a felépítés vagy a hívás megállt. Ez általában megmutatja, hová tartozik a hiányzó beállítás, anélkül hogy újra pontosan ugyanazokat az osztályokat kellene előállítani.