2010-12-13 1 views
2

я пытаюсь сделать wsimport (через NetBeans 6.9.1) в WSDL из 3 партии, но она продолжает генерировать эту ошибку в JAXB:Столкновение в ObjectFactory двух вещей, которые должны быть только один

Two declarations cause a collision in the ObjectFactory class. 

столкновение об этом две вещи:

В messages.xsd:

<xs:element name="PingRequest" nillable="true" type="tns:PingRequest" /> 

В service.xsd:

<xs:element name="Ping"> 
    <xs:complexType> 
    <xs:sequence> 
     <xs:element xmlns:q1="http://www.3rd-party-uri-here/messages/" minOccurs="0" name="request" nillable="true" type="q1:PingRequest" /> <!-- HERE! --> 
    </xs:sequence> 
    </xs:complexType> 
</xs:element> 

Я видел здесь, в stackoverflow, что JAXB не может обрабатывать случаи, были два разных элемента с тем же именем или именами, отличающимися только капитализацией. Однако в этом случае два элемента должны быть действительно простыми (второе ссылается на первое). Так что я могу сделать?

+0

Вы когда-нибудь находили ответ на этот вопрос? – Cuga

+0

@ Cuga - Нет, я так и не нашел ответа. –

ответ

1

У меня была аналогичная проблема, описанная здесь: wsimport - two declarations cause collision, same line number given

Я получаю эту ошибку при выполнении этой команды:

wsimport ./bwWsdl.xml -p com.generated -Xnocompile -d ../src -extension -keep -XadditionalHeaders -B-XautoNameResolution 

Благодаря помощи @Petru Gardea я смог в конечном итоге получить прошлое это, опуская спецификацию пакета -p com.generated в wsimport. Так вот что я в конечном итоге смог запустить, чтобы преодолеть эту проблему:

wsimport ./bwWsdl.xml -Xnocompile -d ../src -extension -keep -XadditionalHeaders -B-XautoNameResolution