我使用maven-jaxb2插件從多個wsdl端點成功生成java類。如何更新生成的存根的XML-TYPE
這是一個執行:
<execution>
<id>generateDelta</id>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<schemaLanguage>WSDL</schemaLanguage>
<generatePackage>com.somepackage1</generatePackage>
<schemas>
<schema>
<url>
wsdl_url
</url>
</schema>
</schemas>
</configuration>
</execution>
這裏的問題是,我有多次執行,從而產生多級的,每次執行保存類在不同的包。
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Bapiret2", propOrder = {...})
一個Babiret2.java在一個以上的包(因此,它來自多個wdsls)
生成的類的當我執行使用此短截線,在單元測試例如代碼我出現以下情況例外:
org.springframework.oxm.UncategorizedMappingException: Unknown JAXB exception; nested exception is com.sun.xml.internal.bind.v2.runtime.IllegalAnnotationsException: 2 counts of IllegalAnnotationExceptions
Two classes have the same XML type name "{urn:sap-com:document:sap:soap:functions:mc-style}Bapiret2". Use @XmlType.name and @XmlType.namespace to assign different names to them.
this problem is related to the following location:
at com.somepackage1.Bapiret2
this problem is related to the following location:
at com.somepackage2.Bapiret2
我發現了一些可能的解決方法就像下ARGS標籤添加在配置
-XautoNameResolution
arg,它沒有工作
我測試瞭如果更改XmlType名稱屬性的工作原理和它的確如此。同時向XmlType添加命名空間的作品。
的問題是,我不知道如何與Maven生成的類
我測試瞭如果更改XmlType名稱屬性的作品,它的確如此。 也將名稱空間添加到XmlType的作品。 問題是,我不知道如何在生成類的時候用maven添加這個 – aurelius