2011-10-11 120 views
2

我正在使用JAXB解組SOAP消息,雖然大部分消息在解組時都顯示正常,但其內容應爲純文本時,其中一個元素爲空。如果我改變其內容的XML(如<Test> Something </test>,它工作正常使用JAXB解組SOAP SOAP消息ANY元素爲空(空)

我beleive描述這部分的架構如下:

<xsd:complexType name="NotificationMessageHolderType" > 
      <xsd:sequence> 
       <xsd:element name="Topic" 
          type="wsnt:TopicExpressionType" 
          minOccurs="1" maxOccurs="1" /> 
       <xsd:element name="ProducerReference" 
          type="wsa:EndpointReferenceType" 
          minOccurs="1" maxOccurs="1" /> 
       <xsd:element name="Message" type="xsd:anyType" 
          minOccurs="1" maxOccurs="1" /> 
      </xsd:sequence> 
     </xsd:complexType> 

的問題是,在這種模式中的最後一個元素時,消息元素,它的類型是「xsd:anyType」,是不是表示它可以容納任何東西?但是,當用JAXB解組時,任何非結構化內容(逐字文本)似乎都被忽略。爲什麼,以及我可以採取什麼措施來糾正這種情況?

問候, Eflite

回答

2

This page(注意,Wayback機器的已歸檔項目)是尋找答案的最佳場所;它爲如何解決您的情況提供了一個清晰的例子。

我從那裏報價: 「如果你需要元帥任意內容你必須按照org.w3c.dom中創建內容樹Sun的JAXB目前使用的Apache的Xerces,即類的實現apache.xerces.internal.dom.ElementNSImpl「。