So erzeugen Sie eine web-service-client in Eclipse aus einer wsdl-Datei auf einer https-Adresse?
Ich erzeugen kann, die ein client von
http://localhost:8080/service?wsdl
ganz gut, aber jetzt möchte ich zum generieren von einem client aus
https://localhost:8081/service?wsdl
Eclipse und sagt die URL ist ungültig, und wenn Eclipse macht den Versuch mein Jetty server sagt
javax.net.ssl.SSLException: Received fatal alert: certificate_unknown
Kann ich problemlos navigieren, um die wsdl-Datei in meinem browser nach der Bestätigung der Sicherheit Ausnahme, es ist also definitiv da.
Ich habe versucht, das herunterladen der wsdl auf meiner lokalen Datei-system, aber ich kann immer noch nicht schaffen, von dort aus, weil die wsdl enthält einen Verweis auf andere https-Standorten, zB.
<xsd:import namespace="http://my.service.namespace/" schemaLocation="https://localhost:8081/serviceSchema?xsd=1"/>
Habe ich geändert eclipse.ini enthält die folgenden Zeilen:
-Djavax.net.ssl.trustStore="/path/to/my/truststore/.keystore"
-Djavax.net.ssl.trustStorePassword="mytruststorepassword"
-Djavax.net.ssl.keyStore="/path/to/my/keystore/.keystore"
-Djavax.net.ssl.keyStorePassword="mykeystorepassword"
ohne Erfolg. Eclipse scheint nicht haben eine Einstellung, die Einstellungen, die dieser entweder. Gibt es eine Möglichkeit, dies zu tun durch eclipse, oder muss ich irgendein externes tool?
BEARBEITEN:
Für andere mit dem gleichen Problem, hier ist, wie ich es gelöst.
- Navigieren Sie zu der wsdl-Datei in Ihrem browser, und laden Sie es auf Ihrem Dateisystem.
- Navigieren Sie zu nichts, es hängt davon ab, und laden Sie es als gut.
- Öffnen Sie die Abhängigkeit, die Sie gerade heruntergeladen haben mit einem browser und kopieren Sie den neuen Speicherort, zB.
file:///path/to/my/schema/service.xsd
- Fügen Sie diesen in Ihre wsdl-Datei heruntergeladen, wo seine https-Adresse ist, wiederholen Sie den Vorgang für alle anderen schema, und speichern.
- Kopieren Sie die Datei Speicherort Ihrer wsdl-Datei, wie oben
- In Eclipse generieren einer Neuen->Andere...->Web-Service-Client und fügen Sie den Speicherort der Datei in der service-definition, und es sollte funktionieren. Vielen Dank an alle für die Hilfe!
aber wenn ich änderungen an der schema-Standort, nicht der client generiert falsch?
Warum? Sie sollten immer die endpoint-Adresse in Ihrem code... alles andere funktioniert einfach für 'hello world' - Anwendungen. In der realen Welt möglicherweise haben Sie verschiedene Endpunkt-Adressen für Produktions -, staging -, test -, etc.
Im besten Fall ist der Dienstleister veröffentlicht die WSDLs und XSDs ohne absolute Referenzen.
Ich werde give it a shot. Ich war einfach unter der (falschen?) Annahme, dass Sie sollten nie zu ändern, die automatisch generierten Dateien, vor allem, wenn Sie werden verwendet, um andere Artefakte.
InformationsquelleAutor Eric B | 2012-09-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Speichern Sie die wsdl-Dateien in das lokale Dateisystem und erzeugen von dort aus, es scheint, es ist ein Fehler bei Eclipse, pls überprüfen diese link zu.
Dies funktioniert, wenn Sie auch speichern Sie alle Abhängigkeiten, die (schema -), danke.
InformationsquelleAutor
Ich hatte das gleiche problem und der link von der akzeptierten Antwort funktioniert bei mir nicht, aber ich generiert der Dienst mithilfe der folgenden Schritte:
InformationsquelleAutor erdemlal