在脚轮映射文件中处理xsi:nil =“ true”的配置是什么,我正在使用org.springframework.oxm.castor.CastorMarshaller
下面是问题,我有回应
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<dataResponse xmlns="http://websecureinbox.acs.com">
<rowDetail>
<attachmentName>display.pdf</attachmentName>
<completedDte xsi:nil="true" />
<contentCode>DOC</contentCode>
<deleteFlag>Y</deleteFlag>
<displayEndDte xsi:nil="true" />
<displayStartDte>2019-06-18 00:00:00</displayStartDte>
<dueDte xsi:nil="true" />
<encryptedWebSecureInboxId>Om4FgqxdFTc</encryptedWebSecureInboxId>
<indIndicativeId>86151740</indIndicativeId>
<mimeType>application/pdf</mimeType>
<participantId>249135903</participantId>
<statusCode>A</statusCode>
<subject>Test Document Load 2019</subject>
<typeCode>DB</typeCode>
<urlLink xsi:nil="true" />
<webSecureInboxId>57124</webSecureInboxId>
<workstreamKey xsi:nil="true" />
</rowDetail>
</dataResponse>
</soapenv:Body>
</soapenv:Envelope>
这是Castor映射文件,用于从响应转换对象
<class name="com.DataResponse">
<map-to xml="dataResponse" ns-uri="http://www.w3.org/2001/XMLSchema-instance" ns-prefix="xsi"/>
<field name="rowDetail" type="com.AbcClass" >
<bind-xml name="rowDetail" node="element" />
</field>
</class>
<class
name="com.AbcClass" ns-prefix="xsi">
<map-to xml="rowDetail" ns-uri="http://websecureinbox.acs.com" />
<field name="attachmentName" type="java.lang.String">
<bind-xml name="attachmentName" node="element" />
</field>
<field name="completedDte" type="java.lang.String" nillable="true" required="false">
<bind-xml name="completedDte" node="element" />
</field>
<field name="contentCode" type="java.lang.String">
<bind-xml name="contentCode" node="element" />
</field>
<field name="deleteFlag" type="java.lang.String">
<bind-xml name="deleteFlag" node="element" />
</field>
<field name="displayEndDte" type="java.lang.String" nillable="true" required="false">
<bind-xml name="displayEndDte" node="element" />
</field>
<field name="displayStartDte" type="java.lang.String">
<bind-xml name="displayStartDte" node="element" />
</field>
<field name="dueDte" type="java.lang.String" nillable="true" required="false">
<bind-xml name="dueDte" node="element" />
</field>
<field name="encryptedWebSecureInboxId" type="java.lang.String">
<bind-xml name="encryptedWebSecureInboxId" node="element" />
</field>
<field name="indIndicativeId" type="java.lang.Integer">
<bind-xml name="indIndicativeId" node="element" />
</field>
<field name="mimeType" type="java.lang.String">
<bind-xml name="mimeType" node="element" />
</field>
<field name="participantId" type="java.lang.String">
<bind-xml name="participantId" node="element" />
</field>
<field name="statusCode" type="java.lang.String">
<bind-xml name="statusCode" node="element" />
</field>
<field name="subject" type="java.lang.String">
<bind-xml name="subject" node="element" />
</field>
<field name="typeCode" type="java.lang.String">
<bind-xml name="typeCode" node="element" />
</field>
<field name="urlLink" type="java.lang.String" nillable="true" required="false">
<bind-xml name="urlLink" node="element" />
</field>
<field name="webSecureInboxId" type="java.lang.Integer">
<bind-xml name="webSecureInboxId" node="element" />
</field>
<field name="workstreamKey" type="java.lang.String" nillable="true" required="false">
<bind-xml name="workstreamKey" node="element" />
</field>
</class>
我提供了ns-prefix =“ xsi”和名称空间,但没有用