2012-09-20 70 views
0

我需要自動化一個使用HermesJMS和Maven2的SoapUI項目。我得到的問題是,SoapUI在將HermesJMS集成到其Classpath中失敗。結合Maven,SoapUi和HermesJMS

2012-09-20 15:48:21,340 ERROR [SoapUI] An error occured [java.lang.NullPointerException], see error log for details 
2012-09-20 15:48:21,465 ERROR [errorlog] java.lang.NullPointerException 
java.lang.NullPointerException 
at com.eviware.soapui.impl.wsdl.submit.transports.jms.util.HermesUtils.addHermesJarsToClasspath(HermesUtils.java:120) 
at com.eviware.soapui.impl.wsdl.submit.transports.jms.util.HermesUtils.getHermes(HermesUtils.java:74) 
at com.eviware.soapui.impl.wsdl.submit.transports.jms.util.HermesUtils.hermesContext(HermesUtils.java:55) 
at com.eviware.soapui.impl.wsdl.submit.transports.jms.util.HermesUtils.getHermes(HermesUtils.java:200) 
at com.eviware.soapui.impl.wsdl.submit.transports.jms.HermesJmsRequestTransport.getHermes(HermesJmsRequestTransport.java:211) 
at com.eviware.soapui.impl.wsdl.submit.transports.jms.HermesJmsRequestTransport.init(HermesJmsRequestTransport.java:102) 

似乎整合並不像我想象的那麼流暢。

此處插件配置:

<plugin> 
     <groupId>eviware</groupId> 
     <artifactId>maven-soapui-plugin</artifactId> 
     <version>4.5.1</version> 
     <dependencies> 
       <!-- Start IBM DB2 Support --> 
       <dependency> 
         <groupId>com.ibm.db2</groupId> 
         <artifactId>db2jcc</artifactId> 
         <version>3.1.57</version> 
       </dependency> 
       <dependency> 
         <groupId>com.ibm.db2</groupId> 
         <artifactId>db2jcc_license_cu</artifactId> 
         <version>3.1.57</version> 
       </dependency> 
       <dependency> 
         <groupId>com.ibm.db2</groupId> 
         <artifactId>db2jcc_license_cisuz</artifactId> 
         <version>3.1.57</version> 
       </dependency> 
       <!-- End IBM DB2 Support --> 
       <dependency> 
         <groupId>hermesjms</groupId> 
         <artifactId>hermes</artifactId> 
         <version>1.14</version> 
       </dependency> 
     </dependencies> 
     <configuration> 
       <projectFile>src/test/resources/config/BATS-soapui.xml</projectFile> 
       <testSuite>BATS</testSuite> 
       <outputFolder>${basedir}/target/soapui</outputFolder> 
       <projectProperties> 
         <value>outputFileLocation=${outputFileLocation}</value> 
         <value>malpakke=${malpakke}</value> 
         <value>fagomrade=${fagomrade}</value> 
         <value>useDatabase=${useDatabase}</value> 
       </projectProperties> 
     </configuration> 
     <executions> 
       <execution> 
         <phase>integration-test</phase> 
         <goals> 
           <goal>test</goal> 
         </goals> 
       </execution> 
     </executions> 
</plugin> 

我想了SoapUI不能正確找到愛馬仕 - 但我怎麼解決這個問題?

回答

0

我終於解決了這個問題。事實證明,在pom.xml中,hermes的依賴關係並不能使soapUi可以使用hermes。我們最終將hermes文件夾包含在我們的/ src/test/resources文件夾中,並指向項目XML中的這個文件夾。

0

我知道它已經晚了,但無論如何它會對別人有幫助。

我愛馬仕使用Maven的配置元素POM XML中指定SOAPUI設置XML的位置:

<settingsFile>C:/softwares/soapui/soapui-settings.xml</settingsFile> 

通過這種方法,我們不需要愛馬仕文件夾複製。

0

我有這件事,並通過以下步驟運行:

  • 添加在pom.xml
  • 複製hermesJMS安裝到buildserver
  • 添加愛馬仕的文件系統愛馬仕1.14依賴-config.xml的項目,但其複製到文件系統之前,每建
  • 添加的soapUI-Settings.xml以項目,並在soapUI的,Maven的插件
  • 更新SOA與 - 標籤使用貝的settings.xml你hermesJMS安裝
  • 更新soapUI的project文件與你的位置的路徑愛馬仕-config.xml文件的路徑

(請記住,在配置文件路徑位置是最好的保持OS不可知)。