SoapUI API: WsdlProject не может загрузить «составной» проект - PullRequest
5 голосов
/ 18 мая 2011

Мы используем SoapUI API для запуска автоматических тестов во время нашей сборки. Я попытался изменить наш проект на composite (то есть это не один файл XML, а Directory с Sub-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)

Это код, который я использую, чтобы вызвать это исключение (отрывок):

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

Кто-нибудь испытывал это и знает, как его решить? Я не нашел никаких указаний по этому поводу на форуме Eviware.

1 Ответ

2 голосов
/ 01 июня 2011

После большого разочарования я попробовал старый метод проб и ошибок - создать пустой проект и попытаться загрузить его - даже это не удалось.

Вспомнив, что в другом посте я узнал, что SoapUI имеет две секции Javadoc - Обычные и Pro - Я проверил Pro Javadoc для подсказок.

Я сразу заметил, что есть класс с именем WsdlProjectPro, который может загружать проект. В нашем коде мы использовали следующее:

project = new WsdlProject(pathToSoapUiProject);

Изменив его на:

project = new WsdlProjectPro(pathToSoapUiProject);

Решил проблему немедленно.

Похоже, что проект Composite является функцией Pro - так что только WsdlProjectPro может загрузить его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...