解决方案 »

  1.   

    采用Xfire客户端来调用WebService具体参考
    http://blog.csdn.net/xymyeah/article/details/3888924
      

  2.   


    关键是证书的处理这块,调用其实没啥问题的,http是可以调通的,就是对方改成https就有问题了,不知道证书这块怎么处理
      

  3.   

    http://blog.csdn.net/cookieweb/article/details/7531477
    使用JDK自带的工具创建密匙库和信任库。   1)通过使用以下的命令来创建服务器端的密匙库: 
       keytool -genkey -alias Server -keystore server.keystore -keyalg RSA 
      输入keystore密码:  strongit 
      您的名字与姓氏是什么? 
      [Unknown]:  Server 
      您的组织单位名称是什么? 
      [Unknown]:  ec 
      您的组织名称是什么? 
      [Unknown]:  ec 
      您所在的城市或区域名称是什么? 
      [Unknown]:  nanchang 
      您所在的州或省份名称是什么? 
      [Unknown]:  jiangxi 
      该单位的两字母国家代码是什么 
      [Unknown]:  CN 
    CN=Server, OU=ec, O=ec, L=beijing, ST=beijing, C=CN 正确吗? 
      [否]:  y 输入<Server>的主密码 
            (如果和 keystore 密码相同,按回车): 
       以上命令执行完成后,将获得一个名为server.keystore的密匙库。 
        
      2)生成客户端的信任库。首先输出RSA证书: 
      keytool -export -alias Server -file test_axis.cer -storepass strongit-keystore server.keystore 
      然后把RSA证书输入到一个新的信任库文件中。这个信任库被客户端使用,被用来验证服务器端的身份。 
      keytool -import -file test_axis.cer -storepass changeit -keystore client.truststore -alias serverkey -noprompt 
      以上命令执行完成后,将获得一个名为client.truststore的信任库。 
       
      3)同理生成客户端的密匙库client.keystore和服务器端的信任库server.truststore.方便起见给出.bat文件 
         gen-cer-store.bat内容如下: 
        
    1 set SERVER_DN="CN=Server, OU=ec, O=ec, L=nanchang, S=jiangxi, C=CN"
    2     set CLIENT_DN="CN=Client, OU=ec, O=ec, L=nanchang, S=jiangxi, C=CN"
    3     set KS_PASS=-storepass strongit
    4     set KEYINFO=-keyalg RSA
    1 keytool -genkey -alias Server -dname %SERVER_DN% %KS_PASS% -keystore server.keystore %KEYINFO% -keypass strongit <br>     keytool -export -alias Server -file test_axis.cer %KS_PASS% -keystore server.keystore <br>     keytool -import -file test_axis.cer %KS_PASS% -keystore client.truststore -alias serverkey -noprompt <br><br>     keytool -genkey -alias Client -dname %CLIENT_DN% %KS_PASS% -keystore client.keystore %KEYINFO% -keypass strongit <br>     keytool -export -alias Client -file test_axis.cer %KS_PASS% -keystore client.keystore <br>     keytool -import -file test_axis.cer %KS_PASS% -keystore server.truststore -alias clientkey -noprompt     
          
      好的,现在我们就有了四个文件:server.keystore,server.truststore,client.keystore,client.truststore 
      更改Tomcat的配置文件(server.xml),增加以下部署描述符:(其实里面有,只是被注释掉了) 
          
    1 <Connector port="8440" 
    2                maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
    3                enableLookups="false" disableUploadTimeout="true"
    4                acceptCount="100" scheme="https" secure="true"
    5                clientAuth="true" keystoreFile="f:\server.keystore" keystorePass="changeit"
    6                  truststoreFile="f:\server.truststore" truststorePass="changeit"
    7                sslProtocol="TLS" />