2012-06-29 111 views
4

我正在使用通過客戶端使用對稱密鑰進行用戶名認證的Web服務。問題是我的TrustStore在WSIT文件中被硬編碼,所以驗證失敗,出現FileNotFoundException如何從jar中加載TrustStore文件?

<wsp:All> 
     <sc:CallbackHandlerConfiguration wspp:visibility="private"> 
      <sc:CallbackHandler default="h" name="usernameHandler"/> 
      <sc:CallbackHandler default="kiko" name="passwordHandler"/> 
     </sc:CallbackHandlerConfiguration> 
     <sc:TrustStore wspp:visibility="private" 
      location="C:\glassfish3\glassfish\domains\domain_1\config\cacerts.jks" 
      type="JKS" storepass="changeit" peeralias="xws-security-server"/> 
    </wsp:All> 

如何能夠將信任庫與應用程序,並從罐子加載它?謝謝。

編輯1

這是在JWS的客戶端異常:

30 juin 2012 09:44:01 [com.sun.xml.ws.policy.parser.PolicyConfigParser] parse 
INFO: WSP5018: Loaded WSIT configuration from file: jar:http://server_url.net:8080/___JWSappclient/___app/realm_consumer/realm_consumerClient/realm_consumer.jar!/META-INF/wsit-client.xml. 
30 juin 2012 09:44:04 com.sun.xml.wss.impl.misc.DefaultCallbackHandler initTrustStore 
GRAVE: WSS1509: Failed to initialize Trust store 
java.io.FileNotFoundException: C:\glassfish3\glassfish\domains\domain_1\config\cacerts.jks (Le chemin d’accès spécifié est introuvable) 
at java.io.FileInputStream.open(Native Method) 
at java.io.FileInputStream.<init>(Unknown Source) 
at java.io.FileInputStream.<init>(Unknown Source) 
at com.sun.xml.wss.impl.misc.DefaultCallbackHandler.initTrustStore(DefaultCallbackHandler.java:909) 
at com.sun.xml.wss.impl.misc.DefaultCallbackHandler.<init>(DefaultCallbackHandler.java:340) 
at com.sun.xml.wss.jaxws.impl.SecurityClientTube.configureClientHandler(SecurityClientTube.java:822) 
at com.sun.xml.wss.jaxws.impl.SecurityClientTube.<init>(SecurityClientTube.java:180) 
at com.sun.xml.wss.provider.wsit.SecurityTubeFactory.createTube(SecurityTubeFactory.java:285) 
at com.sun.xml.ws.assembler.TubeCreator.createTube(TubeCreator.java:84) 
at com.sun.xml.ws.assembler.TubelineAssemblerFactoryImpl$MetroTubelineAssembler.createClient(TubelineAssemblerFactoryImpl.java:130) 
at com.sun.xml.ws.client.Stub.createPipeline(Stub.java:228) 
at com.sun.xml.ws.client.Stub.<init>(Stub.java:205) 
at com.sun.xml.ws.client.Stub.<init>(Stub.java:178) 
at com.sun.xml.ws.client.sei.SEIStub.<init>(SEIStub.java:85) 
at com.sun.xml.ws.client.WSServiceDelegate.createEndpointIFBaseProxy(WSServiceDelegate.java:608) 
at com.sun.xml.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:348) 
at com.sun.xml.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:330) 
at com.sun.xml.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:312) 
at javax.xml.ws.Service.getPort(Service.java:134) 
at realm_consumer.Cw_Service.getCwPort(Cw_Service.java:72) 
at realm_consumer.Ws.hmd(Ws.java:24) 
at Gui.Gui.jButton1ActionPerformed(Gui.java:80) 
at Gui.Gui.access$000(Gui.java:14) 
at Gui.Gui$1.actionPerformed(Gui.java:43) 
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source) 
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source) 
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source) 
at javax.swing.DefaultButtonModel.setPressed(Unknown Source) 
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source) 
at java.awt.Component.processMouseEvent(Unknown Source) 
at javax.swing.JComponent.processMouseEvent(Unknown Source) 
at java.awt.Component.processEvent(Unknown Source) 
at java.awt.Container.processEvent(Unknown Source) 
at java.awt.Component.dispatchEventImpl(Unknown Source) 
at java.awt.Container.dispatchEventImpl(Unknown Source) 
at java.awt.Component.dispatchEvent(Unknown Source) 
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) 
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) 
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) 
at java.awt.Container.dispatchEventImpl(Unknown Source) 
at java.awt.Window.dispatchEventImpl(Unknown Source) 
at java.awt.Component.dispatchEvent(Unknown Source) 
at java.awt.EventQueue.dispatchEventImpl(Unknown Source) 
at java.awt.EventQueue.access$000(Unknown Source) 
at java.awt.EventQueue$1.run(Unknown Source) 
at java.awt.EventQueue$1.run(Unknown Source) 
at java.security.AccessController.doPrivileged(Native Method) 
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source) 
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source) 
at java.awt.EventQueue$2.run(Unknown Source) 
at java.awt.EventQueue$2.run(Unknown Source) 
at java.security.AccessController.doPrivileged(Native Method) 
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source) 
at java.awt.EventQueue.dispatchEvent(Unknown Source) 
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) 
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) 
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) 
at java.awt.EventDispatchThread.pumpEvents(Unknown Source) 
at java.awt.EventDispatchThread.pumpEvents(Unknown Source) 
at java.awt.EventDispatchThread.run(Unknown Source) 
30 juin 2012 09:44:04 com.sun.xml.wss.jaxws.impl.SecurityClientTube configureClientHandler 
GRAVE: WSSTUBE0027: Error in configuring Client Security Callback Handler. 
java.lang.RuntimeException: java.io.FileNotFoundException: C:\glassfish3\glassfish\domains\domain_1\config\cacerts.jks (Le chemin d’accès spécifié est introuvable) 
at com.sun.xml.wss.impl.misc.DefaultCallbackHandler.initTrustStore(DefaultCallbackHandler.java:919) 
at com.sun.xml.wss.impl.misc.DefaultCallbackHandler.<init>(DefaultCallbackHandler.java:340) 
at com.sun.xml.wss.jaxws.impl.SecurityClientTube.configureClientHandler(SecurityClientTube.java:822) 
at com.sun.xml.wss.jaxws.impl.SecurityClientTube.<init>(SecurityClientTube.java:180) 
at com.sun.xml.wss.provider.wsit.SecurityTubeFactory.createTube(SecurityTubeFactory.java:285) 
at com.sun.xml.ws.assembler.TubeCreator.createTube(TubeCreator.java:84) 
at com.sun.xml.ws.assembler.TubelineAssemblerFactoryImpl$MetroTubelineAssembler.createClient(TubelineAssemblerFactoryImpl.java:130) 
at com.sun.xml.ws.client.Stub.createPipeline(Stub.java:228) 
at com.sun.xml.ws.client.Stub.<init>(Stub.java:205) 
at com.sun.xml.ws.client.Stub.<init>(Stub.java:178) 
at com.sun.xml.ws.client.sei.SEIStub.<init>(SEIStub.java:85) 
at com.sun.xml.ws.client.WSServiceDelegate.createEndpointIFBaseProxy(WSServiceDelegate.java:608) 
at com.sun.xml.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:348) 
at com.sun.xml.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:330) 
at com.sun.xml.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:312) 
at javax.xml.ws.Service.getPort(Service.java:134) 
at realm_consumer.Cw_Service.getCwPort(Cw_Service.java:72) 
at realm_consumer.Ws.hmd(Ws.java:24) 
at Gui.Gui.jButton1ActionPerformed(Gui.java:80) 
at Gui.Gui.access$000(Gui.java:14) 
at Gui.Gui$1.actionPerformed(Gui.java:43) 
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source) 
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source) 
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source) 
at javax.swing.DefaultButtonModel.setPressed(Unknown Source) 
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source) 
at java.awt.Component.processMouseEvent(Unknown Source) 
at javax.swing.JComponent.processMouseEvent(Unknown Source) 
at java.awt.Component.processEvent(Unknown Source) 
at java.awt.Container.processEvent(Unknown Source) 
at java.awt.Component.dispatchEventImpl(Unknown Source) 
at java.awt.Container.dispatchEventImpl(Unknown Source) 
at java.awt.Component.dispatchEvent(Unknown Source) 
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) 
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) 
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) 
at java.awt.Container.dispatchEventImpl(Unknown Source) 
at java.awt.Window.dispatchEventImpl(Unknown Source) 
at java.awt.Component.dispatchEvent(Unknown Source) 
at java.awt.EventQueue.dispatchEventImpl(Unknown Source) 
at java.awt.EventQueue.access$000(Unknown Source) 
at java.awt.EventQueue$1.run(Unknown Source) 
at java.awt.EventQueue$1.run(Unknown Source) 
at java.security.AccessController.doPrivileged(Native Method) 
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source) 
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source) 
at java.awt.EventQueue$2.run(Unknown Source) 
at java.awt.EventQueue$2.run(Unknown Source) 
at java.security.AccessController.doPrivileged(Native Method) 
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source) 
at java.awt.EventQueue.dispatchEvent(Unknown Source) 
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) 
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) 
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) 
at java.awt.EventDispatchThread.pumpEvents(Unknown Source) 
at java.awt.EventDispatchThread.pumpEvents(Unknown Source) 
at java.awt.EventDispatchThread.run(Unknown Source) 
Caused by: java.io.FileNotFoundException: C:\glassfish3\glassfish\domains\domain_1\config\cacerts.jks (Le chemin d’accès spécifié est introuvable) 
at java.io.FileInputStream.open(Native Method) 
at java.io.FileInputStream.<init>(Unknown Source) 
at java.io.FileInputStream.<init>(Unknown Source) 
at com.sun.xml.wss.impl.misc.DefaultCallbackHandler.initTrustStore(DefaultCallbackHandler.java:909) 
... 56 more 
30 juin 2012 09:44:04 com.sun.xml.wss.jaxws.impl.SecurityClientTube <init> 
GRAVE: WSSTUBE0023: Error in creating new instance of SecurityClientTube 
java.lang.RuntimeException: WSSTUBE0027: Error in configuring Client Security Callback Handler. 
at com.sun.xml.wss.jaxws.impl.SecurityClientTube.configureClientHandler(SecurityClientTube.java:826) 
at com.sun.xml.wss.jaxws.impl.SecurityClientTube.<init>(SecurityClientTube.java:180) 
at com.sun.xml.wss.provider.wsit.SecurityTubeFactory.createTube(SecurityTubeFactory.java:285) 
at com.sun.xml.ws.assembler.TubeCreator.createTube(TubeCreator.java:84) 
at com.sun.xml.ws.assembler.TubelineAssemblerFactoryImpl$MetroTubelineAssembler.createClient(TubelineAssemblerFactoryImpl.java:130) 
at com.sun.xml.ws.client.Stub.createPipeline(Stub.java:228) 
at com.sun.xml.ws.client.Stub.<init>(Stub.java:205) 
at com.sun.xml.ws.client.Stub.<init>(Stub.java:178) 
at com.sun.xml.ws.client.sei.SEIStub.<init>(SEIStub.java:85) 
at com.sun.xml.ws.client.WSServiceDelegate.createEndpointIFBaseProxy(WSServiceDelegate.java:608) 
at com.sun.xml.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:348) 
at com.sun.xml.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:330) 
at com.sun.xml.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:312) 
at javax.xml.ws.Service.getPort(Service.java:134) 
at realm_consumer.Cw_Service.getCwPort(Cw_Service.java:72) 
at realm_consumer.Ws.hmd(Ws.java:24) 
at Gui.Gui.jButton1ActionPerformed(Gui.java:80) 
at Gui.Gui.access$000(Gui.java:14) 
at Gui.Gui$1.actionPerformed(Gui.java:43) 
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source) 
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source) 
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source) 
at javax.swing.DefaultButtonModel.setPressed(Unknown Source) 
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source) 
at java.awt.Component.processMouseEvent(Unknown Source) 
at javax.swing.JComponent.processMouseEvent(Unknown Source) 
at java.awt.Component.processEvent(Unknown Source) 
at java.awt.Container.processEvent(Unknown Source) 
at java.awt.Component.dispatchEventImpl(Unknown Source) 
at java.awt.Container.dispatchEventImpl(Unknown Source) 
at java.awt.Component.dispatchEvent(Unknown Source) 
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) 
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) 
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) 
at java.awt.Container.dispatchEventImpl(Unknown Source) 
at java.awt.Window.dispatchEventImpl(Unknown Source) 
at java.awt.Component.dispatchEvent(Unknown Source) 
at java.awt.EventQueue.dispatchEventImpl(Unknown Source) 
at java.awt.EventQueue.access$000(Unknown Source) 
at java.awt.EventQueue$1.run(Unknown Source) 
at java.awt.EventQueue$1.run(Unknown Source) 
at java.security.AccessController.doPrivileged(Native Method) 
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source) 
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source) 
at java.awt.EventQueue$2.run(Unknown Source) 
at java.awt.EventQueue$2.run(Unknown Source) 
at java.security.AccessController.doPrivileged(Native Method) 
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source) 
at java.awt.EventQueue.dispatchEvent(Unknown Source) 
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) 
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) 
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) 
at java.awt.EventDispatchThread.pumpEvents(Unknown Source) 
at java.awt.EventDispatchThread.pumpEvents(Unknown Source) 
at java.awt.EventDispatchThread.run(Unknown Source) 
Caused by: java.lang.RuntimeException: java.io.FileNotFoundException: C:\glassfish3\glassfish\domains\domain_1\config\cacerts.jks (Le chemin d’accès spécifié est introuvable) 
at com.sun.xml.wss.impl.misc.DefaultCallbackHandler.initTrustStore(DefaultCallbackHandler.java:919) 
at com.sun.xml.wss.impl.misc.DefaultCallbackHandler.<init>(DefaultCallbackHandler.java:340) 
at com.sun.xml.wss.jaxws.impl.SecurityClientTube.configureClientHandler(SecurityClientTube.java:822) 
... 54 more 
Caused by: java.io.FileNotFoundException: C:\glassfish3\glassfish\domains\domain_1\config\cacerts.jks (Le chemin d’accès spécifié est introuvable) 
at java.io.FileInputStream.open(Native Method) 
at java.io.FileInputStream.<init>(Unknown Source) 
at java.io.FileInputStream.<init>(Unknown Source) 
at com.sun.xml.wss.impl.misc.DefaultCallbackHandler.initTrustStore(DefaultCallbackHandler.java:909) 
... 56 more 
Exception in thread "AWT-EventQueue-0" java.lang.RuntimeException: WSSTUBE0023: Error in creating new instance of SecurityClientTube 
at com.sun.xml.wss.jaxws.impl.SecurityClientTube.<init>(SecurityClientTube.java:185) 
at com.sun.xml.wss.provider.wsit.SecurityTubeFactory.createTube(SecurityTubeFactory.java:285) 
at com.sun.xml.ws.assembler.TubeCreator.createTube(TubeCreator.java:84) 
at com.sun.xml.ws.assembler.TubelineAssemblerFactoryImpl$MetroTubelineAssembler.createClient(TubelineAssemblerFactoryImpl.java:130) 
at com.sun.xml.ws.client.Stub.createPipeline(Stub.java:228) 
at com.sun.xml.ws.client.Stub.<init>(Stub.java:205) 
at com.sun.xml.ws.client.Stub.<init>(Stub.java:178) 
at com.sun.xml.ws.client.sei.SEIStub.<init>(SEIStub.java:85) 
at com.sun.xml.ws.client.WSServiceDelegate.createEndpointIFBaseProxy(WSServiceDelegate.java:608) 
at com.sun.xml.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:348) 
at com.sun.xml.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:330) 
at com.sun.xml.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:312) 
at javax.xml.ws.Service.getPort(Service.java:134) 
at realm_consumer.Cw_Service.getCwPort(Cw_Service.java:72) 
at realm_consumer.Ws.hmd(Ws.java:24) 
at Gui.Gui.jButton1ActionPerformed(Gui.java:80) 
at Gui.Gui.access$000(Gui.java:14) 
at Gui.Gui$1.actionPerformed(Gui.java:43) 
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source) 
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source) 
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source) 
at javax.swing.DefaultButtonModel.setPressed(Unknown Source) 
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source) 
at java.awt.Component.processMouseEvent(Unknown Source) 
at javax.swing.JComponent.processMouseEvent(Unknown Source) 
at java.awt.Component.processEvent(Unknown Source) 
at java.awt.Container.processEvent(Unknown Source) 
at java.awt.Component.dispatchEventImpl(Unknown Source) 
at java.awt.Container.dispatchEventImpl(Unknown Source) 
at java.awt.Component.dispatchEvent(Unknown Source) 
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) 
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) 
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) 
at java.awt.Container.dispatchEventImpl(Unknown Source) 
at java.awt.Window.dispatchEventImpl(Unknown Source) 
at java.awt.Component.dispatchEvent(Unknown Source) 
at java.awt.EventQueue.dispatchEventImpl(Unknown Source) 
at java.awt.EventQueue.access$000(Unknown Source) 
at java.awt.EventQueue$1.run(Unknown Source) 
at java.awt.EventQueue$1.run(Unknown Source) 
at java.security.AccessController.doPrivileged(Native Method) 
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source) 
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source) 
at java.awt.EventQueue$2.run(Unknown Source) 
at java.awt.EventQueue$2.run(Unknown Source) 
at java.security.AccessController.doPrivileged(Native Method) 
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source) 
at java.awt.EventQueue.dispatchEvent(Unknown Source) 
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) 
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) 
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) 
at java.awt.EventDispatchThread.pumpEvents(Unknown Source) 
at java.awt.EventDispatchThread.pumpEvents(Unknown Source) 
at java.awt.EventDispatchThread.run(Unknown Source) 
Caused by: java.lang.RuntimeException: WSSTUBE0027: Error in configuring Client Security Callback Handler. 
at com.sun.xml.wss.jaxws.impl.SecurityClientTube.configureClientHandler(SecurityClientTube.java:826) 
at com.sun.xml.wss.jaxws.impl.SecurityClientTube.<init>(SecurityClientTube.java:180) 
... 53 more 
Caused by: java.lang.RuntimeException: java.io.FileNotFoundException: C:\glassfish3\glassfish\domains\domain_1\config\cacerts.jks (Le chemin d’accès spécifié est introuvable) 
at com.sun.xml.wss.impl.misc.DefaultCallbackHandler.initTrustStore(DefaultCallbackHandler.java:919) 
at com.sun.xml.wss.impl.misc.DefaultCallbackHandler.<init>(DefaultCallbackHandler.java:340) 
at com.sun.xml.wss.jaxws.impl.SecurityClientTube.configureClientHandler(SecurityClientTube.java:822) 
... 54 more 
Caused by: java.io.FileNotFoundException: C:\glassfish3\glassfish\domains\domain_1\config\cacerts.jks (Le chemin d’accès spécifié est introuvable) 
at java.io.FileInputStream.open(Native Method) 
at java.io.FileInputStream.<init>(Unknown Source) 
at java.io.FileInputStream.<init>(Unknown Source) 
at com.sun.xml.wss.impl.misc.DefaultCallbackHandler.initTrustStore(DefaultCallbackHandler.java:909) 

我使用的GlassFish 3.1.1和城域/ JAX-WS。問題是路徑是在xml文件中硬編碼的,我必須從客戶端的jar中加載它。

+0

爲了幫助我理解你在做什麼,你在使用什麼Web服務器?你在使用Tomcat還是其他的J2EE?請原諒我的下一個問題,但是WSIT文件位於服務器上的什麼位置? – HeatfanJohn

+0

@HeatfanJohn:配置文件和問題標籤中的路徑提示Glassfish 3.這遠非古老的J2EE服務器,它是一個現代化的Java EE服務器。 – BalusC

+0

@isoman你能告訴我們你在哪裏得到FileNotFoundException?該文件未找到異常可能是服務器上的cacerts.jks文件嗎?該文件的位置路徑是否正確? – HeatfanJohn

回答

2

我通過將cacert.jks放在source/Meta-inf pakage下並手動更改WSIT文件中的路徑來解決此問題。 XML看起來像:

<wsp:All> 
     <sc:CallbackHandlerConfiguration wspp:visibility="private"> 
      <sc:CallbackHandler default="h" name="usernameHandler"/> 
      <sc:CallbackHandler default="kiko" name="passwordHandler"/> 
     </sc:CallbackHandlerConfiguration> 
     <sc:TrustStore wspp:visibility="private" 
      location="cacerts.jks" 
      type="JKS" storepass="changeit" peeralias="xws-security-server"/> 
    </wsp:All> 
+0

我建議您選擇您的答案作爲您問題的最佳答案。 – HeatfanJohn

+0

我試過了,但我收到了一條消息:你可以在x小時內接受你自己的答案 – isoman

1

看看這篇文章,討論有關如何引用包含在一個jar文件DTD文件:http://www-01.ibm.com/support/docview.wss?uid=swg21233092

可能不適用。

+1

我解決了它,我把文件放在meta-inf包下,並將路徑改爲location =「cacerts.jks」。 – isoman

+0

太棒了!你能發佈最終的XML供其他人看嗎?我認爲你的意思是你的Eclipse項目中的meta-inf軟件包? – HeatfanJohn

+0

@isoman我可以建議您在解決方案中添加自己的答案,然後接受它來解決此問題嗎? – HeatfanJohn