We are using SoapUI
's APIs for running automatic tests during our build.
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). 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.ja开发者_Go百科va: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.
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.
I immediately noticed that there is a class named WsdlProjectPro
that can load a project.
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.
精彩评论