简体   繁体   English

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

[英]SoapUI API: WsdlProject unable to load a 'composite' project

We are using SoapUI 's APIs for running automatic tests during our build.我们正在使用SoapUI的 API 在我们的构建过程中运行自动测试。 I tried changing our project to be a composite project ( meaning it is not a single XML file but a Directory with a Sub-Directory per Test Case).我试图改变我们的项目是一个composite项目(这意味着它不是一个单一的XML文件,而是一个DirectorySub-Directory每个测试用例)。 Ever since that I'm receiving this error when trying to load the project:从那以后,我在尝试加载项目时收到此错误:

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)

This is the code I use to cause this exception (excerpt):这是我用来导致此异常的代码(摘录):

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

Has anyone experienced it and knows how to solve it?有没有人经历过并知道如何解决? I did not find any indication about this in Eviware's forum.我在 Eviware 的论坛中没有找到任何关于此的迹象。

After much frustration I tried the old trial and error approach - creating an empty project and trying to load it - even that failed.在经历了很多挫折之后,我尝试了旧的反复试验方法——创建一个空项目并尝试加载它——即使失败了。

After remembering that on a different post I got to know that SoapUI has two Javadoc sections - Regular and Pro - I checked the Pro javadoc for clues.记住,在经过不同的岗位我知道SoapUI有两个部分的Javadoc -普通专业-我检查了线索的javadoc。

I immediately noticed that there is a class named WsdlProjectPro that can load a project.我立即注意到有一个名为WsdlProjectPro的类可以加载项目。 In our code, we used the following:在我们的代码中,我们使用了以下内容:

project = new WsdlProject(pathToSoapUiProject);

Changing it to be:将其更改为:

project = new WsdlProjectPro(pathToSoapUiProject);

Solved the problem immediately.立即解决了问题。

It appears that the Composite project is a Pro only feature - so only the WsdlProjectPro can load it. Composite项目似乎是Pro WsdlProjectPro功能 - 因此只有WsdlProjectPro可以加载它。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM