axis2 调用基于https 的webservice 接口
收到一个 .p12 格式的证书,自己通过keytool命令
keytool -v -importkeystore -srckeystore /transmit/xxx.p12 -srcstoretype PKCS12 -destkeystore /transmit/p12.keystore -deststoretype JKS
keytool -export -alias zz -keystore /transmit/xxx.p12 -storetype PKCS12 -storepass 397313 -rfc -file /transmit//p12.cer
keytool -import -alias zz -file /transmit/p12.cer -keystore /transmit/p12.truststore
生成了p12.keystore 和 p12.truststore文件。。
下边是我的客户端代码
System.setProperty("javax.net.ssl.trustStore", "/transmit/p12.keystore");
System.setProperty("javax.net.ssl.trustStorePassword", "11111");
System.setProperty("javax.net.ssl.keyStoreType", "JSK");
System.setProperty("javax.net.ssl.keyStore", "/transmit/p12.truststore");
System.setProperty("javax.net.ssl.keyStorePassword", "11111");
// 使用RPC方式调用WebService
RPCServiceClient serviceClient = new RPCServiceClient();
// 指定调用WebService的URL
EndpointReference targetEPR = new EndpointReference(url);
Options options = serviceClient.getOptions();
// 确定目标服务地址
options.setTo(targetEPR);
// 确定调用方法
options.setAction(method);
QName qname = new QName(namespace, method);
// 指定getPrice方法的参数值
Object[] parameters = new Object[] { param };
logger.info("start call service");
// 调用方法一 传递参数,调用服务,获取服务返回结果集
reStr=serviceClient.invokeBlocking(qname, parameters).toString();
调用的时候出现了异常:
org.apache.axis2.AxisFault: Transport error: 302 Error: Moved Temporarily
at org.apache.axis2.transport.http.HTTPSender.handleResponse(HTTPSender.java:311)
at org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:200)
at org.apache.axis2.transport.http.HTTPSender.send(HTTPSender.java:76)
at org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:400)
at org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:225)
at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:438)
at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:402)
at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)
at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)
at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:540)
at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:521)
at org.apache.axis2.rpc.client.RPCServiceClient.invokeBlocking(RPCServiceClient.java:76)
at com.kg.util.ClientUtils.callWebService(ClientUtils.java:75)
at com.kg.client.GetInfoClient.getKYJCZ(GetInfoClient.java:58)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:65)
at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
[INFO][pool-1-thread-1][ClientUtils][2017-04-13 16:37:42,028](79)
求大牛帮忙看看是什么情况