wsimport is klaar. De SOAP-aanroep heeft nog steeds een proxy nodig.
Scheid WSDL-generatie, WSDL-ophalen tijdens runtime en SOAP-aanroep bij het instellen van JAX-WS-proxytoegang.
De WSDL is gedownload, de Java-klassen zijn gegenereerd, en de eerste SOAP-aanroep komt nog steeds het netwerk niet uit. De proxyoptie die de generator gebruikt, hoort bij de werking van de generator zelf.
De wsimport-referentie van Oracle JDK 8 documenteert een HTTP-proxyoptie voor dat hulpmiddel. Het is geen overdraagbare instructie die in de gegenereerde serviceklassen wordt ingebakken. Een latere toepassing kan in een andere JVM draaien, onder een ander account en met een andere JAX-WS-implementatie.
Bepaal welke aanvraag is mislukt
| Fase | Te onderzoeken proces of onderdeel |
|---|---|
| Klassen genereren uit WSDL en imports | De buildtool of de wsimport-aanroep |
| WSDL lezen tijdens het opbouwen van de service | De WSDL-locatie van de toepassing en de runtime-client |
| Het SOAP-endpoint aanroepen | Het gekozen runtime-transport en de proxyconfiguratie daarvan |
De middelste fase wordt makkelijk gemist. Een gegenereerde service kan nog steeds naar een externe WSDL verwijzen. Moet de runtime die tijdens het opbouwen ophalen, dan is een poort pas daarna instellen te laat voor die eerdere download. De bedoelde beschrijving als applicatieresource verpakken kan die ophaalafhankelijkheid wegnemen waar de implementatie dat ondersteunt.
Een klasse met de naam ClientProxyFeature uit één implementatie maakt niet automatisch deel uit van elke JAX-WS-provider.
Houd proxyreferenties gescheiden van de referenties van de SOAP-service. Een geslaagde WSDL-download kan zelfs anoniem zijn terwijl het endpoint van de bewerking een login vereist, of andersom.
Noteer de mislukte URL en het punt waarop het opbouwen of de aanroep stopte. Dat wijst meestal aan waar de ontbrekende instelling hoort, zonder nog een poging om precies dezelfde klassen te genereren.