wsimport两个声明导致冲突

我想在https://api.sendwordnow.com/webservices/v3/users.svc?wsdl上使用wsimport。 这是我正在使用的wsimport。

wsimport -B-XautoNameResolution -d C:\temp -extension -J-Djavax.xml.accessExternalSchema=all -J-Djavax.xml.accessExternalDTD=all -keep -verbose -XadditionalHeaders -Xnocompile https://api.sendwordnow.com/webservices/v3/users.svc?wsdl 

这是错误。

解析WSDL …

  [WARNING] unknown extensibility element or attribute "EndpointReference" (in namespace "http://www.w3.org/2005/08/addressing") line 1 of https://api.sendwordnow.com/webservices/v3/users.svc?wsdl [ERROR] Two declarations cause a collision in the ObjectFactory class. line 1 of https://api.sendwordnow.com/webservices/v3/Users.svc?xsd=xsd3 [ERROR] (Related to above error) This is the other declaration. line 1 of https://api.sendwordnow.com/webservices/v3/Users.svc?xsd=xsd3 [ERROR] Two declarations cause a collision in the ObjectFactory class. line 1 of https://api.sendwordnow.com/webservices/v3/Users.svc?xsd=xsd2 [ERROR] (Related to above error) This is the other declaration. line 1 of https://api.sendwordnow.com/webservices/v3/Users.svc?xsd=xsd2 Exception in thread "main" com.sun.tools.internal.ws.wscompile.AbortException at com.sun.tools.internal.ws.processor.modeler.wsdl.JAXBModelBuilder.bind(JAXBModelBuilder.java:129)at com.sun.tools.internal.ws.processor.modeler.wsdl.WSDLModeler.buildJAXBModel(WSDLModeler.java:2283) at com.sun.tools.internal.ws.processor.modeler.wsdl.WSDLModeler.internalBuildModel(WSDLModeler.java:183) at com.sun.tools.internal.ws.processor.modeler.wsdl.WSDLModeler.buildModel(WSDLModeler.java:126) at com.sun.tools.internal.ws.wscompile.WsimportTool.buildWsdlModel(WsimportTool.java:429) at com.sun.tools.internal.ws.wscompile.WsimportTool.run(WsimportTool.java:190) at com.sun.tools.internal.ws.wscompile.WsimportTool.run(WsimportTool.java:168) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.sun.tools.internal.ws.Invoker.invoke(Invoker.java:159) at com.sun.tools.internal.ws.WsImport.main(WsImport.java:42) 

我在StackOverflow上搜索并发现了wsimport – 两个声明会导致碰撞,给出相同的行,但是这是4年前的,我不知道分辨率是否仍然适用。 建议删除我做的-p但我仍然收到上面的错误。 关于我做错的任何想法? 我可以将wsdl插入SoapUI并生成测试存根,但我似乎无法克服wsimport驼峰。

更新1我也尝试过使用模式绑定。

                                       

这是更新的wsimport。

 wsimport -b "C:\temp\Customization.xml" -B-XautoNameResolution -d C:\temp -extension -J-Djavax.xml.accessExternalSchema=all -J-Djavax.xml.accessExternalDTD=all -keep -verbose -XadditionalHeaders -Xnocompile https://api.sendwordnow.com/webservices/v3/users.svc?wsdl 

我仍然收到与上面相同的错误消息。

更新2最后解决了以下更新。

                   

我不是100%确定这是最好的甚至是正确的解决方案,但错误消失了并且代码生成了。

这是我用过的最后一个wsimport。

 wsimport -b "C:\temp\Customization.xml" -B-XautoNameResolution -d C:\temp -extension -J-Djavax.xml.accessExternalSchema=all -J-Djavax.xml.accessExternalDTD=all -keep -verbose -XadditionalHeaders -Xnocompile https://api.sendwordnow.com/webservices/v3/users.svc?wsdl 

这是自定义绑定xml。 我希望这有助于其他人。 这真是一个难以解决的问题!