javax.xml.stream.XMLStreamException: Unknow type can not serialize


場景描述:使用axis2發布webservice時,傳遞參數的對象屬性包含map,即:

    public  Class AA implements Serializable {

        public Map   B;

     生成的wsdl中包含

                                   

<xs:complexType name= "A">  
     <xs:sequence> 
            <xs:element name="B" type="xs:anyType" nillable="true" minOccurs="0"/>  
    </xs:sequence> 
</xs:complexType>

    生成客戶端后調用報錯:  Caused by: javax.xml.stream.XMLStreamException: Unknow type can not serialize

過程分析:

    axis2解析wsdl時會將xs:anyType認為是Object類型,但Obejct類型只有序列化才能傳輸,故解析報錯

解決方案:

    將map換成對象數組的形式,

      public  Class AA implements Serializable {

        public B[]   bb;

 

      public Class B   implements Serializable {

          private String key;

          private String value;

 

 

        


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM