Hello All,
I am trying to implement SSL in my standalone Axis2 1.3 and web service
client. I am partially successful in achieving my goal but I have a
roadblock in my implementation. I'll try to explain what I have done what
issue I am facing -
1. Since I want to send request over SSL from web service client, so I
need to generate server and client side truststore, keystore and
certificates. So I have generated following files -
a. server.keystore - contains the key pair
b. server.cer - server certificate exported from the keystore
c. client.truststore - contains the the server certificate
d. client.keystore - contains the key pair
e. client.cer - client certificate exported from the keystore
f. server.truststore - contains the client certificate
2. After this I have copied server.cer, server.keystore and
server.truststore files in AXIS2_HOME/lib directory and set the CLASSPATH
accordingly.
3. I am successful in displaying my webservice WSDL file on browser
using https protocol.
4. Now my requirement is to send the webservice request from client
over SSL, for this I have added
System.setProperty("javax.net.ssl.trustStore",
"/test/conf/client.truststore") and
System.setProperty("javax.net.ssl.trustStorePassword", "123456") statements
in my main method.
5. But when I execute the client code to send the request to the web
service, I have got following exception -
[ERROR] Exception occurred while trying to invoke service method
invokeExtractionRequest
org.apache.axis2.AxisFault: namespace mismatch require
http://servicerequest.s7.com found https:// servicerequest.s7.com
at
org.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass(RPCUtil.java:177)
at
org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic(RPCMes
sageReceiver.java:98)
at
org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(
AbstractInOutMessageReceiver.java:40)
at
org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageRe
ceiver.java:96)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:145)
at
org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HT
TPTransportUtils.java:275)
at
org.apache.axis2.transport.nhttp.ServerWorker.processPost(ServerWorker.java:
207)
at
org.apache.axis2.transport.nhttp.ServerWorker.run(ServerWorker.java:171)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run
Task(ThreadPoolExecutor.java:665)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run
(ThreadPoolExecutor.java:690)
at java.lang.Thread.run(Thread.java:595)
Does anybody have idea what is the reason behind this exception?
Am I missing any configuration or the configuration mentioned above is
incorrect?
In my QName argument I am using "https" protocol, request has been sent
successfully on "http" protocol, but with "https" I am hitting above
mentioned exception.
I had asked a question about identity.jks and trust.jks files a few days
back but haven't got any help, hope I would get help for this mail.
Any help would be appreciated.
Thanks,
-Ajay