I want to structure Smalltalk objects so they will marshal to XML for JasperReports. To learn about this process, it seemed straightforward to start with a sample JasperReport and unmarshal it back to Smalltalk. I was able to get a bare-bones report to work, but as soon as I added a complex relationship (<background> with a child of <band>) I got a walkback of "Unhandled exception: WebServices.MissingValueSignal".
Below is my code. What am I missing?
Thanks,
Paul
*********************
aString :=
'<jasperReport bottomMargin="20" columnCount="1" columnSpacing="0" columnWidth="782" isSummaryNewPage="false" isTitleNewPage="false" leftMargin="30" name="Classic-1" orientation="Landscape" pageHeight="595" pageWidth="842" printOrder="Vertical" rightMargin="30" topMargin="20" whenNoDataType="NoPages" xmlns="urn:adventact-com:JASPER" xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance"> <property name="ireport.scriptlethandling" value="0" xsi:type="property"></property>
<property name="ireport.encoding" value="UTF-8" xsi:type="property"></property>
<import value="java.util.*" xsi:type="import"></import>
<import value="net.sf.jasperreports.engine.*" xsi:type="import"></import>
<import value="net.sf.jasperreports.engine.data.*" xsi:type="import"></import>
<background>
<band height="0" isSplitAllowed="true" >
</band>
</background>
</jasperReport>'.
marshaler := XMLObjectMarshalingManager on: (XMLObjectBinding new targetNamespace: 'urn:adventact-com:JASPER').
doc := XMLParser new validate: false; parse: aString readStream.
^marshaler unmarshal: doc root.