wsimport är klart. SOAP-anropet behöver fortfarande en proxy.
Skilj på WSDL-generering, WSDL-hämtning vid körning och SOAP-anrop när du ställer in JAX-WS-proxyåtkomst.
WSDL:en hämtades, Java-klasserna genererades och det första SOAP-anropet tar sig fortfarande inte ut ur nätverket. Proxyinställningen som generatorn använder hör till generatorns egen körning.
Oracles JDK 8-referens för wsimport dokumenterar en HTTP-proxyinställning för det verktyget. Det är inte en flyttbar instruktion som bäddas in i de genererade tjänsteklasserna. En senare applikation kan köra i en annan JVM, under ett annat konto och med en annan JAX-WS-implementering.
Ta reda på vilken begäran som misslyckades
| Steg | Process eller komponent att undersöka |
|---|---|
| Generera klasser från WSDL och importer | Byggverktyget eller wsimport-anropet |
| Läs WSDL när tjänsten byggs | Applikationens WSDL-plats och körningsklienten |
| Anropa SOAP-slutpunkten | Den valda körningstransporten och dess proxykonfiguration |
Det mellersta steget är lätt att missa. En genererad tjänst kan fortfarande hänvisa till en fjärr-WSDL. Om körningen måste hämta den under bygget är det för sent att ställa in en port först efteråt för den tidigare hämtningen. Att paketera den avsedda beskrivningen som en applikationsresurs kan ta bort det hämtningsberoendet där implementeringen stöder det.
En klass som heter ClientProxyFeature från en implementering är inte automatiskt en del av varje JAX-WS-leverantör.
Håll proxyuppgifterna åtskilda från SOAP-tjänstens uppgifter. En lyckad WSDL-hämtning kan till och med vara anonym medan operationens slutpunkt kräver inloggning, eller tvärtom.
Anteckna den misslyckade URL:en och punkten där bygget eller anropet stannade. Det visar oftast var den saknade inställningen hör hemma, utan ett nytt försök att generera exakt samma klasser.