Java |Ошибка проверки WSDL Webservices - PullRequest
1 голос
/ 28 июля 2010

Я успешно построил и развернул веб-сервис jax-ws на myecplise с java 5 и tomcat 5.0, но при попытке создать клиент веб-сервиса я получаю ошибку проверки на экране проверки

WS-I: A problem occurred while running the WS-I WSDL conformance check: org.eclipse.wst.wsi.internal.analyzer.WSIAnalyzerException. The WS-I Test Assertion Document(TAD) was not found or could not be processed. The WSDLAnalyzer was not able to validate the given WSDL file.

, даже если я игнорирую случай, myecplise не позволяет мне создать клиента.

Игнорировать экран # 01

src-resolve: Cannot resolve the name
'impl:Arrayof_tns1_MatchingDoc' to a(n) 'type definition' component

Игнорировать экран # 02

src-resolve: Cannot resolve the name 
'soapenc:Array' to a(n) 'type definition component

После игнорирования 2 экранов выдает ошибку

undefined simple or complex type 'soapenc:Array'

и существует волшебник ...

1 Ответ

2 голосов
/ 10 марта 2011

Эта ошибка, в которой упоминается soapenc:Array, может возникнуть, если вы пытаетесь скомпилировать WSDL веб-службы с кодировкой RPC , которая создана Axis1 .По крайней мере, так было для меня.
Это была настоящая боль, потому что невозможно скомпилировать этот WSDL с wsconsume или даже с wsdl2java в комплекте с дистрибутивом Axis2 или с xfire.

Я закончил загрузкой 1.4 релиза Axis1 и использованием связанного WSDL2java .Вам нужно будет вызвать его из оси.jar как org.apache.axis.wsdl.WSDL2Java.Наиболее удобный способ для этого IMHO - запустить .jar из затмения, используя аргументы в конфигурации запуска.

К сожалению, это не конец истории, поскольку сгенерированные классы имеют тенденцию выдавать ошибки (как дубликаты методов и тому подобное), которые вам придется исправить вручную.Поэтому будьте осторожны при интеграции задачи WSDL2java в сборку ant.

...