java webservice https开发实例
时间: 2023-07-19 19:15:10 浏览: 168
下面是一个简单的Java WebService HTTPS开发实例:
首先,我们需要生成自签名证书,可以使用 keytool 工具生成:
1. 生成私钥:keytool -genkey -alias tomcat -keyalg RSA -keysize 2048 -keystore keystore.jks
2. 生成证书签名请求:keytool -certreq -alias tomcat -keystore keystore.jks -file cert-file.csr
3. 生成自签名证书:keytool -importcert -alias tomcat -file cert-file.csr -keystore keystore.jks
然后,我们需要创建一个简单的 Java WebService 应用:
```
import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import javax.jws.soap.SOAPBinding.Style;
@WebService
@SOAPBinding(style = Style.RPC)
public class HelloWorld {
@WebMethod
public String sayHello() {
return "Hello World!";
}
}
```
在这个例子中,我们创建了一个名为 HelloWorld 的 WebService,它将返回一个字符串“Hello World!”。
接下来,我们需要配置 WebService 服务端口的 HTTPS 访问。我们可以使用 Spring Boot 来创建一个简单的 WebService 应用,并启用 HTTPS:
```
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.remoting.jaxws.SimpleJaxWsServiceExporter;
@SpringBootApplication
public class WebServiceApplication {
public static void main(String[] args) {
SpringApplication.run(WebServiceApplication.class, args);
}
@Bean
public ServletRegistrationBean<javax.xml.ws.Endpoint> endpoint() {
ServletRegistrationBean<javax.xml.ws.Endpoint> servlet = new ServletRegistrationBean<>();
servlet.setUrlMappings(Arrays.asList("/ws/hello"));
servlet.setServlet(new org.apache.cxf.jaxws.EndpointImpl(new HelloWorld()));
servlet.setEnabled(true);
return servlet;
}
@Bean
public SimpleJaxWsServiceExporter jaxWsServiceExporter() {
SimpleJaxWsServiceExporter exporter = new SimpleJaxWsServiceExporter();
exporter.setBaseAddress("https://localhost:8443/ws/");
return exporter;
}
}
```
在这个例子中,我们使用 SimpleJaxWsServiceExporter 类启用 HTTPS,并将 WebService 端口设置为 8443。
最后,我们可以使用 SoapUI 工具来测试我们的 WebService:
1. 启动 SoapUI 工具。
2. 创建一个新的项目。
3. 添加一个新的 WSDL。
4. 输入 WebService 的 HTTPS 地址。
5. 单击“OK”按钮。
6. 查看 WebService 的方法列表,并选择“sayHello”方法。
7. 单击“发送”按钮,将返回“Hello World!”消息。
注意:由于我们使用了自签名证书,浏览器可能会弹出一个安全警告。在生产环境中,我们应该使用经过验证的证书。
阅读全文