SoapUI API:WsdlProject无法加载“复合”项目

问题描述:

我们使用SoapUI的API在构建期间运行自动测试。 我试着将我们的项目改为composite项目(这意味着它不是一个单独的XML文件,而是一个Directory,每个测试用例都有一个Sub-Directory)。SoapUI API:WsdlProject无法加载“复合”项目

Error at line 1, column 1 
    org.apache.xmlbeans.XmlException: error: Unexpected element: CDATA 
    at org.apache.xmlbeans.impl.store.Locale$SaxLoader.load(Locale.java:3486) 
    at org.apache.xmlbeans.impl.store.Locale.parseToXmlObject(Locale.java:1276) 
    at org.apache.xmlbeans.impl.store.Locale.parseToXmlObject(Locale.java:1263) 
    at org.apache.xmlbeans.impl.schema.SchemaTypeLoaderBase.parse(SchemaTypeLoaderBase.java:345) 
    at com.eviware.soapui.config.SoapuiProjectDocumentConfig$Factory.parse(Unknown Source) 
    at com.eviware.soapui.impl.wsdl.WsdlProject.loadProject(WsdlProject.java:297) 
    at com.eviware.soapui.impl.wsdl.WsdlProject.<init>(WsdlProject.java:212) 
    at com.eviware.soapui.impl.wsdl.WsdlProject.<init>(WsdlProject.java:179) 
    at com.eviware.soapui.impl.wsdl.WsdlProject.<init>(WsdlProject.java:174) 
    at com.eviware.soapui.impl.wsdl.WsdlProject.<init>(WsdlProject.java:159) 

这是我使用导致此异常的代码(节选):

SoapUI.setSoapUICore(new StandaloneSoapUICore(true)); 
WsdlProject project = new WsdlProject(pathToProjectRoot); 

有没有人经历过,知道于是乎,试图加载的项目时,我收到此错误如何解决它?在Eviware的论坛中我没有发现任何迹象。

+0

我想你已经看到了这个:http://stackoverflow.com/questions/1407101/what-does-the-org-apache-xmlbeans-xmlexception-with-a-message-of-unexpected-elem? – fretje 2011-05-19 07:54:32

+0

@fretje - 我还没有看到它,但我对这种方法非常熟悉。在这种情况下,我认为使用它是错误的,因为输入有效。使用'SoapUI工具'在打开输入时没有问题。使用'SoapUI API'无法做到这一点。在我看来,像配置/ API使用问题 - 而不是输入。 – RonK 2011-05-19 08:05:26

+0

和这一个http://www.soapui.org/forum/viewtopic.php?f=13&t=6410&p=19376#p18930? (它似乎没有解决,但它指出了SoapUI中的潜在错误)。 – fretje 2011-05-19 08:11:10

经过多次挫折之后,我尝试了旧的试错法 - 创建一个空白项目并尝试加载 - 甚至失败了。

记住的是,在different post后,我才知道那SoapUI有两个部分的Javadoc - RegularPro - 我查了Pro javadoc的线索。

我立即注意到有一个名为WsdlProjectPro的类可以加载一个项目。 在我们的代码,我们使用以下:

project = new WsdlProject(pathToSoapUiProject); 

更改它是:

project = new WsdlProjectPro(pathToSoapUiProject); 

立即解决的问题。

看来,复合项目是唯一的功能 - 所以只有WsdlProjectPro可以加载它。