Hi, I am using a WSDL file supplied to be by a third party and I suspect it doesn't quite reflect what their .NET server is returning in the SOAP messages. I am getting this exception:
java.io.IOException: Non nillable element 'requestCategoryCode' is null. at org.apache.axis.encoding.ser.BeanSerializer.serialize(BeanSerializer. java:215) at org.apache.axis.encoding.SerializationContext.serializeActual(Seriali zationContext.java:1426) at org.apache.axis.encoding.SerializationContext.serialize(Serialization Context.java:914) at org.apache.axis.encoding.SerializationContext.serialize(Serialization Context.java:702) at org.apache.axis.encoding.ser.BeanSerializer.serialize(BeanSerializer. java:230) at org.apache.axis.encoding.SerializationContext.serializeActual(Seriali zationContext.java:1426) at org.apache.axis.encoding.SerializationContext.serialize(Serialization Context.java:914) So looking at (an extract of) the XML received by Axis: <AdministrationDetails><ComplaintTypeCode>PESTM</ComplaintTypeCode><Com plaintTypeText>Mice</ComplaintTypeText><AllocatedToCode>CRMTES</AllocatedToCode> <AllocatedToText>CRM Test Officer</AllocatedToText><HowReceivedCode>CC</HowRecei vedCode><HowReceivedText>Call Centre</HowReceivedText><TimeReceived>2005-08-04T0 6:52:03.0000000+01:00</TimeReceived><StatusCode>REC</StatusCode><StatusText>Rece ived</StatusText><AreaTeamCode>E</AreaTeamCode><AreaTeamText>Eastern Area Team</ AreaTeamText></AdministrationDetails> And here's the relevant part of the WSDL: <xs:complexType name="AdministrationDetailsType"> <xs:annotation> <xs:documentation>Contains details of status, allocated officer codes etc</xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="ComplaintTypeCode" type="uni:CNCODE_CodeValue"> <xs:annotation> <xs:documentation>Code value for complaint type</xs:documentation> </xs:annotation> </xs:element> <xs:element name="ComplaintTypeText" type="uni:CNCODE_TextValue"> <xs:annotation> <xs:documentation>Full text of complaint type - read only</xs:documentation> </xs:annotation> </xs:element> <xs:element name="RequestCategoryCode" type="uni:CNCODE_CodeValue"> <xs:annotation> <xs:documentation>complaint type category code if set </xs:documentation> </xs:annotation> </xs:element> <xs:element name="AllocatedToCode" type="uni:CNCODE_CodeValue"> <xs:annotation> <xs:documentation>Officer code for allocated officer</xs:documenta tion> </xs:annotation> </xs:element> <xs:element name="AllocatedToText" type="uni:CNCODE_TextValue"> <xs:annotation> <xs:documentation>Full name of allocated officer</xs:documentation > </xs:annotation> </xs:element> <xs:element name="TimeAllocated" type="xs:dateTime" minOccurs="0"> <xs:annotation> <xs:documentation>The date and time the request was allocated to a n officer to investigate</xs:documentation> </xs:annotation> </xs:element> <xs:element name="HowReceivedCode" type="uni:CNCODE_CodeValue"> <xs:annotation> <xs:documentation>Code value indicating how the complaint was rece ived</xs:documentation> </xs:annotation> </xs:element> <xs:element name="HowReceivedText" type="uni:CNCODE_TextValue"> <xs:annotation> <xs:documentation>Full description of how received code</xs:docume ntation> </xs:annotation> </xs:element> (etc.) It would seem to me that this change needs to be made: <xs:element name="RequestCategoryCode" type="uni:CNCODE_CodeValue" minOccurs="0" nillable="true"> As the .NET server has not sent back a RequestCategoryCode element. Does this sound correct? Thanks, John