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

Ron*_*onK 5 java testing automation web-services soapui

我们使用SoapUI的API在构建期间运行自动测试.我试图改变我们的项目是一个composite项目(这意味着它不是一个单一的XML文件,而是一个DirectorySub-Directory每个测试用例).从那以后,我在尝试加载项目时收到此错误:

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)
Run Code Online (Sandbox Code Playgroud)

这是我用来引发此异常的代码(摘录):

SoapUI.setSoapUICore(new StandaloneSoapUICore(true));
WsdlProject project = new WsdlProject(pathToProjectRoot);
Run Code Online (Sandbox Code Playgroud)

有没有人经历过它并知道如何解决它?我没有在Eviware的论坛中找到任何关于此的迹象.

Ron*_*onK 2

经过多次挫折后,我尝试了旧的试错方法 - 创建一个空项目并尝试加载它 - 即使失败了。

在记得在另一篇文章中我知道SoapUI有两个 Javadoc 部分 -常规Pro - 我检查了Pro javadoc 来寻找线索。

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

project = new WsdlProject(pathToSoapUiProject);
Run Code Online (Sandbox Code Playgroud)

将其更改为:

project = new WsdlProjectPro(pathToSoapUiProject);
Run Code Online (Sandbox Code Playgroud)

立即解决了问题。

看来复合项目是专业版独有的功能 - 因此只有专业版WsdlProjectPro才能加载它。