In diesem Artikel zeigen wir Ihnen, wie Sie einen JAX-WS-Webdienst auf Tomcat mit aktivierter TLS/SSL- oder HTTPS-Verbindung bereitstellen. Die Antwort ist eigentlich ganz einfach: Sie stellt sie einfach als normalen Webdienst bereit und konfiguriert die SSL-Verbindung ordnungsgemäß auf Ihrem Tomcat-Server. :)
1. Konfigurieren Sie Tomcat SSL
Weitere Informationen finden Sie in diesem Handbuch - Tomcat muss SSL- oder https-Verbindung unterstützen .
Kaufen Sie im Grunde nur ein Zertifikat von einem vertrauenswürdigen Zertifikatanbieter oder verwenden Sie den JDK-Befehl "keytool", um ein Dummy-Zertifikat für Localhost-Tests zu erstellen. Fügen Sie den folgenden Abschnitt in Ihre Tomcat-Datei "server.xml" ein.
Datei: $ Tomcat \ conf \ server.xml
….//… <!-- Define a SSL HTTP/1.1 Connector on port 8443 This connector uses the JSSE configuration, when using APR, the connector should be using the OpenSSL style configuration described in the APR documentation -→
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="c:\your keystore file" keystorePass="your keystore password"/> //...
Starten Sie Tomcat neu. Jetzt wird Ihre Tomcat-SSL-Verbindung unterstützt, z. B. __https://localhost: 8443__. === 2. Stellen Sie den Webdienst bereit Stellen Sie ihn wie einen normalen Webdienst bereit. Siehe dieses Handbuch - link://webservices/jax-ws/deploy-jax-ws-web-services-on-tomcat/[JAX-WS-Webdienste auf Tomcat-Servlet-Container bereitstellen]. === 3. Testen Sie es Die Konfiguration ist abgeschlossen. Sie können auf den bereitgestellten Webdienst über eine SSL-Verbindung zugreifen, indem Sie einen normalen Webdienstclient verwenden. Zum Beispiel,
URL url = new URL("https://localhost:8443/HelloWorld/hello?wsdl"); QName qname = new QName("http://ws.mkyong.com/", "HelloWorldImplService"); Service service = Service.create(url, qname);
HelloWorld hello = service.getPort(HelloWorld.class); System.out.println(hello.getHelloWorldAsString());
** Hinweis ** + Für die localhost SSL-Testumgebung trifft der Client folgende Ausnahmen. . link://webservices/jax-ws/java-security-cert-certificateexception-no-name-passende-localhost-found/[java.security.cert.CertificateException: Kein passender Name für localhost gefunden]. link://webservices/jax-ws/suncertpathbuilderexception-ungültiger-zertifizierungspfad-zum-angefordertes-ziel/gefunden[SunCertPathBuilderException: Es wurde kein gültiger Zertifizierungspfad für das angeforderte Ziel gefunden.] === 4. Fertig Ihr Webservice ist in SSL-Schutz, eher einfach, keine Änderungen an der Webservice-Site. Konfigurieren Sie einfach Ihren Tomcat so, dass er nur eine SSL-Verbindung unterstützt. ===== Referenz . http://en.wikipedia.org/wiki/SSL[Wiki - SSL-Verbindung] . link://webservices/jax-ws/jax-ws-hallo-welt-beispiel/[JAX-WS hallo Weltbeispiel] link://tag/https/[https]link://tag/jax-ws/[jax-ws]link://tag/ssl/[ssl]link://tag/tomcat/[tomcat]link://tag/web-services/[web-dienstleistungen]