Java 如何使JAX-WS在生成的wsdl中对soap:address使用https(http到https)
我正在使用jax-ws和spring创建soapweb服务。这是我的密码Java 如何使JAX-WS在生成的wsdl中对soap:address使用https(http到https),java,web-services,soap,wsdl,jax-ws,Java,Web Services,Soap,Wsdl,Jax Ws,我正在使用jax-ws和spring创建soapweb服务。这是我的密码 @WebService @Service public class SoapService { SoapServiceDao soapServiceDao; @WebMethod(exclude = true) public void setSoapServiceDao(SoapServiceDao soapServiceDao) { this.soapServiceDao = so
@WebService
@Service
public class SoapService {
SoapServiceDao soapServiceDao;
@WebMethod(exclude = true)
public void setSoapServiceDao(SoapServiceDao soapServiceDao) {
this.soapServiceDao = soapServiceDao;
}
@WebMethod
@SOAPBinding(parameterStyle=ParameterStyle.BARE)
public Message method1(SoapResponse soapResponse) {
return new Message();
}
}
在application-context.xml中
<wss:binding url="/soapservice">
<wss:service>
<ws:service bean="#soapserviceImpl" />
</wss:service>
在生成的wsdl中
<soap:address location="http://localhost:8080/soapservice"/>
但是我想要https,因为我的服务器只接受https请求
在这种情况下是否可以将http更改为https?您可能需要以编程方式覆盖端点: 试着把它改成
MyServicePort myPort = new MyServiceInterface(new URL("https://acme.com/services/MyService.svc?wsdl")).getMyPort();
// set endpoint to use https
String endpointURL = "https://acme.com/services/MyService.svc";
BindingProvider bp = (BindingProvider) myPort;
bp.getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, endpointURL);``
myPort.test();
我正在使用SOAPUI来测试这一点,在哪里编写上述代码?在方法method1中的SoapService类中?我认为如果您尝试这个方法会更好