Java Castor反编组字节数组



Good Day Community,

我有一个关于java中castor解组的问题。如前所述,我正在使用castor对包含字节数组(byte[])的web服务响应进行反编组。.. 请参考以下内容:

public class ViewReportResponse {
private String reportId;
private byte[] report;
//getters and setters here ...

我以前使用castor来解组web服务响应,但不可否认,之前的响应总是字符串。问题在于返回的字节数组,因为我认为castor阻塞了对它的解组。

我的蓖麻映射文件如下:

<class name="com.domain.reporting.client.service.ViewReportResponse">
    <map-to xml="viewReportResponse" 
            xsi:schemaLocation="http://domain.com/schemas/reportingService/generateReport" 
            ns-uri="http://domain.com/schemas/reportingService/generateReport"
            ns-prefix="ns2" />
    <field name="reportId">
        <bind-xml name="reportId" 
                  node="element" 
                  type="string"/>
    </field>
    <field name="report">
        <bind-xml name="report" 
                  node="element" 
                  type="bytes" />
    </field>

我不确定我错过了什么,但是收到了消息,但是在解组时失败了。

我在下面附上了一个错误的剪辑。

org.springframework.oxm.UnmarshallingFailureException: Castor unmarshalling exception; nested exception is org.exolab.castor.xml.MarshalException: unable to find FieldDescriptor for 'report' in ClassDescriptor of viewReportResponse.

请给予任何帮助是非常感激的。感谢好心的

已解决:

一般的问题不在于与byte[]之间的映射。该问题与本例中名称空间的使用有关。

<field name="reportId"> 
<bind-xml name="ns:reportId" xmlns:ns="http://domain.com/schemas/reportingService/generateReport"
    node="element"
    type="string"/> 

<field name="report"> 
<bind-xml name="ns:report" xmlns:ns="http://domain.com/schemas/reportingService/generateReport"
    node="element"
    type="bytes"/> 

此帖现已有效解决并关闭。

相关内容

  • 没有找到相关文章