如何包含War文件而不是Jar文件

时间:2017-04-18 11:30:46

标签: java jar coldfusion war

首先,我是ColdFusion开发人员,并不真正了解Java的工作原理。

我有一种情况需要将Java客户端文件集成到由ColdFusion 9服务器托管的项目中,使用JRun应用程序服务器,并且需要AXIS 2请求加密/解密SOAP内容。

当我们将Java客户端文件编译为 .JAR 文件时,我们遇到与ColdFusion / JRun服务器库的jar文件兼容问题。

我们正在尝试使用通过MAVEN而不是.JAR文件生成的 .WAR 文件。我们已经证明.JAR文件解决了兼容性问题,并且正在JAVA环境(jsp页面)中工作。

我的问题:
如何将 .WAR 添加到我的ColdFusion页面?我无法在任何地方找到任何样品或参考文献。

我应该将.WAR文件放入[coldfusion_server]/lib文件夹并使用cfobject = Java来调用它吗?

像:

<cfset myObj = createObject("java", "class_path")>

我可以查看的任何样本或参考资料对我都有帮助。

2017-04-19 - 更新 -

以下是我们使用Java专业资源创建的 JAR文件时的测试用例和结果:

我在ColdFusion服务器目录中部署了IBAN客户端应用程序 (C:\ JRun4 \ lib \ IbanWs-Client.jar)

注意:此客户端应用程序使用SOAP(AXIS2 Web服务)+ CXF 2.7.3 + WSS4J 1.6.18。

此客户端应用程序按预期工作,如 ColdFusion 2016 服务器和独立应用程序。

相同的应用程序在ColdFusion 9服务器中不起作用,我们面临一些问题。错误日志在文档末尾指定。

ColdFusion 9服务器在服务器启动时使用旧版jar 。此行为导致库不匹配问题

重现问题的步骤。

  1. 在JRun服务器lib目录中部署客户端应用程序

    C:\ JRun4 \ lib中\ IbanWs-client.jar中

  2. 升级JRun服务器lib目录中的webservices.jar

    C:\ JRun4 \ lib \ webservices.jar(Axis 2 soap)

    一个。将jrun \ lib \ webservices.jar文件解压缩到一个文件夹。

    湾将axis2 jar文件解压缩到两个文件夹。

    ℃。从文件夹2复制com文件夹并粘贴到文件夹一

    d。从文件夹2复制javax文件夹并粘贴到文件夹一

    即使用文件夹一个内容创建jar:

  3.  jar cvf webservices.jar

    1. 使用开发IbanValidate.cfm文件来访问IBAN服务 IbanWs-client.jar中。

    2. 将项目相关的jar文件复制到* C:\ JRun4 \ lib *目录。

    3. 使用以下cfm脚本调用banWs-Client.jar:

    4. <html> 
      <head> 
          <title>Welcome to IBAN Web Application</title> 
      </head> 
      <body> 
       <cfobject action=create type=java class=com.tfp.ipr.soap.IBANClient name=obj> 
       <cfset StringVal2=obj.IbanValidate(javaCast("string","FR14200410100xxxxxxxx"))> 
      
      <cfoutput> 
      <br> IBAN  :  #StringVal2.getInstitutionDetail().getIban()#<br> 
      <br> Title  :     #StringVal2.getInstitutionDetail().getInstTitle()#<br> 
      <br> SWIFT/BIC  : #StringVal2.getInstitutionDetail().getSwiftBic()#<br> 
      <br> BranchCode  : #StringVal2.getInstitutionDetail().getBranchCode()#<br> 
      <br> Street  : #StringVal2.getInstitutionDetail().getStreet()#<br> 
      <br> CountryCode :#StringVal2.getInstitutionDetail().getCountryCode()# <br>
      </cfoutput><br> 
      </body> 
      </html>

      1. CFM页面返回响应如下:
      2.  unknown parameter type.
         
        The error occurred in C:/project_dev/IbanValidate.cfm: line 7
        
        5 : <body> 
        6 :  <cfobject action=create type=java class=com.tfp.ipr.soap.IBANClient name=obj> 
        7 :  <cfset StringVal2=obj.IbanValidate(javaCast("string","FR142004101XXXXXXXX"))> 
        8 : 
        9 : <!--- Display the results---> 
        
        Resources:
        
            Check the ColdFusion documentation to verify that you are using the correct syntax.
            Search the Knowledge Base to find a solution to your problem.
        
        Browser   	Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:45.0) Gecko/20100101 Firefox/45.0
        Remote Address   	127.0.0.1
        Referrer   	http..xxx.com/project_dev/
        Date/Time   	19-Apr-17 07:53 AM
        Stack Trace
        at cfIbanValidate2ecfm1956923455.runPage(C:/project_dev/IbanValidate.cfm:7)
        
        javax.xml.ws.soap.SOAPFaultException: unknown parameter type.
        	at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:155)
        	at $Proxy32.validate(Unknown Source)
        	at com.tfp.ipr.soap.IBANClient.IbanValidate(IBANClient.java:37)
        	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        	at java.lang.reflect.Method.invoke(Method.java:597)
        	at coldfusion.runtime.java.JavaProxy.invoke(JavaProxy.java:97)
        	at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:2360)
        	at cfIbanValidate2ecfm1956923455.runPage(C:/project_dev/IbanValidate.cfm:7)
        	at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:231)
        	at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:416)
        	at coldfusion.filter.CfincludeFilter.invoke(CfincludeFilter.java:65)
        	at coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:381)
        	at coldfusion.filter.RequestMonitorFilter.invoke(RequestMonitorFilter.java:48)
        	at coldfusion.filter.MonitoringFilter.invoke(MonitoringFilter.java:40)
        	at coldfusion.filter.PathFilter.invoke(PathFilter.java:94)
        	at coldfusion.filter.LicenseFilter.invoke(LicenseFilter.java:27)
        	at coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:70)
        	at coldfusion.filter.BrowserDebugFilter.invoke(BrowserDebugFilter.java:79)
        	at coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:28)
        	at coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38)
        	at coldfusion.filter.NoCacheFilter.invoke(NoCacheFilter.java:46)
        	at coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38)
        	at coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22)
        	at coldfusion.filter.CachingFilter.invoke(CachingFilter.java:62)
        	at coldfusion.CfmServlet.service(CfmServlet.java:200)
        	at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:89)
        	at jrun.servlet.FilterChain.doFilter(FilterChain.java:86)
        	at coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:42)
        	at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46)
        	at jrun.servlet.FilterChain.doFilter(FilterChain.java:94)
        	at jrun.servlet.FilterChain.service(FilterChain.java:101)
        	at jrun.servlet.ServletInvoker.invoke(ServletInvoker.java:106)
        	at jrun.servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42)
        	at jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java:286)
        	at jrun.servlet.ServletEngineService.dispatch(ServletEngineService.java:543)
        	at jrun.servlet.jrpp.JRunProxyService.invokeRunnable(JRunProxyService.java:203)
        	at jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java:428)
        	at jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)
        Caused by: java.lang.IllegalArgumentException: unknown parameter type.
        	at org.bouncycastle.jce.provider.JCERSACipher.engineInit(Unknown Source)
        	at javax.crypto.Cipher.a(DashoA13*..)
        	at javax.crypto.Cipher.a(DashoA13*..)
        	at javax.crypto.Cipher.init(DashoA13*..)
        	at javax.crypto.Cipher.init(DashoA13*..)
        	at org.apache.ws.security.message.WSSecEncryptedKey.prepareInternal(WSSecEncryptedKey.java:257)
        	at org.apache.ws.security.message.WSSecEncrypt.prepare(WSSecEncrypt.java:182)
        	at org.apache.cxf.ws.security.wss4j.policyhandlers.AsymmetricBindingHandler.doEncryption(AsymmetricBindingHandler.java:420)
        	at org.apache.cxf.ws.security.wss4j.policyhandlers.AsymmetricBindingHandler.doSignBeforeEncrypt(AsymmetricBindingHandler.java:190)
        	at org.apache.cxf.ws.security.wss4j.policyhandlers.AsymmetricBindingHandler.handleBinding(AsymmetricBindingHandler.java:98)
        	at org.apache.cxf.ws.security.wss4j.PolicyBasedWSS4JOutInterceptor$PolicyBasedWSS4JOutInterceptorInternal.handleMessage(PolicyBasedWSS4JOutInterceptor.java:165)
        	at org.apache.cxf.ws.security.wss4j.PolicyBasedWSS4JOutInterceptor$PolicyBasedWSS4JOutInterceptorInternal.handleMessage(PolicyBasedWSS4JOutInterceptor.java:89)
        	at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:271)
        	at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:530)
        	at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:463)
        	at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:366)
        	at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:319)
        	at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96)
        	at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:133)
        	... 39 more

        感谢任何人都可以帮我解决这个问题。

        谢天谢地,祝你有个美好的一天。

0 个答案:

没有答案
相关问题