Hi, I have a java first use case with a document literal wrapped service. Here is a part of the annotated service:
@WebService(name="AlarmIRP", targetNamespace="http://AlarmIRPSystem.AlarmIRP") @SOAPBinding(use=SOAPBinding.Use.LITERAL, parameterStyle=SOAPBinding.ParameterStyle.WRAPPED) public abstract interface AlarmIRPOperations ... @WebMethod(operationName="acknowledge_alarms") public abstract Signal acknowledge_alarms(@WebParam(name="alarm_information_id_and_sev_list") AlarmInformationIdAndSev[] paramArrayOfAlarmInformationIdAndSev, @WebParam(name="ack_user_id") String paramString, @WebParam(name="ack_system_id") StringTypeOptWrapper paramStringTypeOptWrapper, @WebParam(name="bad_ack_alarm_info_list", mode=WebParam.Mode.INOUT) Holder<BadAcknowledgeAlarmInfo[]> paramHolder) throws AcknowledgeAlarms, ParameterNotSupported, InvalidParameter; ... Before creating the service I set the following service factory properties: endpointFactory.getServiceFactory().setAnonymousWrapperTypes(true); endpointFactory.getServiceFactory().setQualifyWrapperSchema(true); endpointFactory.getServiceFactory().setWrapped(true); The generated schema for the wrapped parameter is the following: <xs:element name="acknowledge_alarms"> <xs:complexType> <xs:sequence> <xs:element maxOccurs="unbounded" name="alarm_information_id_and_sev_list" type="ns1:alarmInformationIdAndSev"/> <xs:element name="ack_user_id" type="xs:string"/> <xs:element name="ack_system_id" type="ns2:StringTypeOpt"/> <xs:element maxOccurs="unbounded" name="bad_ack_alarm_info_list" type="ns1:badAcknowledgeAlarmInfo"/> </xs:sequence> </xs:complexType> </xs:element> If, in consumer mode, I pass a null value to the Holder<BadAcknowledgeAlarmInfo[]> paramHolder parameter I get a marshall exceprion: java.lang.NullPointerException at it.imolinfo.jbi4corba.jbi.cxf.OutMarshallerHelper.marshal(OutMarshallerHelper.java:141) I'm using CXF version 2.1.4. First of all is this behaviour correct? Secondly what modification should I do to the annotations or service configuration to allow null values to be passed? thanks Raffaele
