wsimport ist fertig. Der SOAP-Aufruf braucht trotzdem einen Proxy.
WSDL-Erzeugung, WSDL-Abruf zur Laufzeit und SOAP-Aufruf beim Einrichten des JAX-WS-Proxyzugriffs trennen.
Die WSDL wurde heruntergeladen, die Java-Klassen wurden erzeugt, und der erste SOAP-Aufruf kommt trotzdem nicht aus dem Netz. Die Proxy-Option des Generators gehört zum Lauf des Generators.
Die wsimport-Referenz von Oracle JDK 8 dokumentiert eine HTTP-Proxy-Option für dieses Werkzeug. Sie ist keine übertragbare Anweisung, die in die erzeugten Serviceklassen eingebettet wird. Eine spätere Anwendung kann in einer anderen JVM, unter einem anderen Konto und mit einer anderen JAX-WS-Implementierung laufen.
Ermitteln, welche Anfrage fehlgeschlagen ist
| Phase | Zu prüfender Prozess oder Bestandteil |
|---|---|
| Klassen aus WSDL und Importen erzeugen | Das Build-Werkzeug oder der wsimport-Aufruf |
| WSDL beim Aufbau des Dienstes lesen | Der WSDL-Ort der Anwendung und der Laufzeit-Client |
| Den SOAP-Endpunkt aufrufen | Der gewählte Laufzeit-Transport und seine Proxy-Konfiguration |
Die mittlere Phase wird leicht übersehen. Ein erzeugter Dienst kann weiterhin auf eine entfernte WSDL verweisen. Muss die Laufzeit sie beim Aufbau abrufen, ist das Konfigurieren eines Ports erst danach für diesen früheren Download zu spät. Wird die vorgesehene Beschreibung als Anwendungsressource verpackt, lässt sich diese Abrufabhängigkeit entfernen, sofern die Implementierung das unterstützt.
Eine Klasse namens ClientProxyFeature aus einer Implementierung ist nicht automatisch Teil jedes JAX-WS-Anbieters.
Halten Sie Proxy-Anmeldedaten von den Anmeldedaten des SOAP-Dienstes getrennt. Ein erfolgreicher WSDL-Download kann sogar anonym sein, während der Operations-Endpunkt eine Anmeldung verlangt, oder umgekehrt.
Notieren Sie die fehlgeschlagene URL und den Punkt, an dem Aufbau oder Aufruf abbrachen. Das zeigt meist, wohin die fehlende Einstellung gehört, ohne einen weiteren Versuch, genau dieselben Klassen zu erzeugen.