2015-05-06 28 views
-1

我公開了使用Java編寫的Web服務。我的模式具有複雜類型對象。WSIMPORT-無法在客戶端存根中生成非靜態內部類

一切都很好。當使用WSIMPORT命令生成客戶端存根時,我注意到了

這裏是生成的客戶端存根中的靜態內部類。爲了避免

產生內部類試圖與

JAXB, XJC -> create multiple class files

但得到一個錯誤具有相同名稱的類/接口

「com.webservices.EducationDetails」已被使用。使用類定製來解決衝突。但是我找不到解決WSIMPORT中名稱的方法。

問題

  1. 生成靜態內部類中的wsimport爲的ComplexType在XSD是默認的行爲?

  2. 有沒有辦法避免XSD在Web服務客戶端存根生成靜態內部類

+0

'靜態內部'是一個矛盾的術語,'非靜態內部'是雙重雙重談話:所有內部類都是非靜態的。不要將代碼格式設置爲不是代碼的文本。 – EJP

回答

0
  1. 中的wsimport生成靜態內部類的複雜類型的默認行爲? 編號Web服務客戶端存根生成基於WSDL中定義的配置而發生。 (的.xsd)

  2. 有沒有一種方法,以避免在Web服務客戶端存根

很難不看你的WSDL,模式說生成靜態內部類。我猜你已經用WSIMPORT爲你生成內部類的方式聲明瞭複雜類型。 如果您將複雜類型聲明爲元素,則不應生成內部類。

<xs:element name="ResponseInformation" type="Response" /> 

<xs:complexType name="Response"> 
     <xs:sequence> 
      <xs:element type="xs:string" name="testField1" /> 

     </xs:sequence> 
    </xs:complexType> 

這是我想什麼。嘗試重新定義複雜類型。如果你發佈你的WSDL,我可以準確地告訴你哪裏出錯了。

+0

感謝隊友的問題是我宣佈我的XSD的方式 – vin

相關問題