Implementing SSL , JAX-WS webservice on IBM Websphere Application server
I am trying to make SSL work on a webservices created by using IBM Websphere JAX-WS runtime for quite a while now but am unable to make it work somehow.
Need your help in resolving the problem.
These are the steps I have taken.
Its a simple Add Numbers Web service which adds two numbers and returns the output.
I deployed the webservice on WAS 7.0
the endpoint for the ws is http://localhost:9080/WebServiceProject/AddNumbersSvc/AddNumbersSvc.wsdl
Than to configure the ssl I took the following steps:
In WAS admin console I went to: Services->Policy Sets->Application Policy Sets. Than I selected WSHTTPS default. copied it and rename it to WS SSL Policy, I dint chnage anything in it. Next, I went to Security->SSl ceritificate and key management ->Key stores and certificates I created ServerKeyStore with a self signed certificate and ServerTrustStore with the client public key Than, I went to Security->SSl ceritificate and key management -> SSL Configurations and I created a new configuration WS SSL conf set the trust store as ServerTrustStore and Keystore as ServerKeyStore Next, I went to QOP setting of WS SSL conf. There I set client authentication as required , protocol as ssl and rest all default. Than, I went to Services->Policy Sets->General provider policy set bindings. Than I selected WSHTTPS default. copied it and rename it to WS SSL Bindin开发者_如何学Pythong. seleced it. than selected SSL transport and selected WS SSL conf as SSL settings Finally I went to Services->Service providers. selected AddNumbers service and apllied WS SSL Policy as policy set and WS SSL Binding as Binding.
Now when i restated the application and tried to execute the ws through https://localhost:9080/WebServiceProject/AddNumbersSvc/AddNumbersSvc.wsdl
i got a 404 :( and also when i triggered the ws through SOAPUi with http i got the repsonse but not with https.
Now pls help me to figure out what i did wrong .
You will need to disable http request and enable https as shown below.
Server -> Server Types -> Application servers > select the server > Web container transport chains. Disable WCInboundDefault. Enable WCInboundDefaultSecure
The Web Containers listens to different ports for HTTP and HTTPS
9080 is the default port for HTTP while 9443 is the default port for HTTPS.
The URL that you have is trying to make an SSL request to an non-SSL port.
HTH Manglu
精彩评论