Hi All, I have just met the NullPointerException when dealing with the soap request input.
The itnerface is like this @WebService(name="createSecurityOrder", targetNamespace="http://") @XmlSeeAlso({ObjectFactory.class}) public interface CreateSecurityOrder { @WebResult(name = "Acknowledgment", targetNamespace = "http://") @RequestWrapper(localName = "createSecurityOrder", targetNamespace = "http://", className = "com.ei.CreateSecurityOrder_Type") @WebMethod @ResponseWrapper(localName = "acknowledgment", targetNamespace = "http://") public Acknowledgment createSecurityOrder( @WebParam(name = "miscellaneous", targetNamespace = "http://") PartnerInformation miscellaneous, @WebParam(name = "paymentInformation", targetNamespace = "http://") PaymentInformation paymentInformation, @WebParam(name = "customerInformation", targetNamespace = "http://") CustomerInformation customerInformation, @WebParam(name = "securityBom", targetNamespace = "http://") SecurityBOM securityBom, @WebParam(mode = WebParam.Mode.INOUT, name = "ENVELOPE_HEADER", targetNamespace = "http://", header = true) javax.xml.ws.Holder<EnvelopeHeader> envelopeHeader ) throws SecurityOrderException; } Order_Type class is like this @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "CreateSecurityOrder", propOrder = { "miscellaneous", "paymentInformation", "customerInformation", "securityBom" }) public class CreateSecurityOrder_Type { @XmlElement(required = true) protected PartnerInformation miscellaneous; @XmlElement(required = true) protected PaymentInformation paymentInformation; @XmlElement(required = true) protected CustomerInformation customerInformation; @XmlElement(required = true, nillable=false) protected SecurityBOM securityBom; The cxf configuration is like this <cxf:cxfEndpoint id="createSecurityOrder" address="/createSecurityOrder" serviceClass="com.ei.CreateSecurityOrder"> </cxf:cxfEndpoint> Route configuration is like this from("cxf:bean:createSecurityOrder") .routeId("preProcessOrder") .wireTap("direct:tap") .processRef("validateOrder")); validateOrderBean is like this public class ValidateOrder implements Processor { @Override public void process(Exchange exchange) throws Exception { Message in = exchange.getIn(); List<Object> parameters = in.getBody(List.class); // populate parameters PartnerInformation partnerInformation = (PartnerInformation) parameters.get(0); PaymentInformation paymentInformation = (PaymentInformation) parameters.get(1); CustomerInformation customerInformation = (CustomerInformation) parameters.get(2); SecurityBOM securityBom = (SecurityBOM) parameters.get(3); Holder<EnvelopeHeader> envelopeHeader = (Holder<EnvelopeHeader>) parameters.get(4); For some reason, I could not get any value from envelopeHeader when sending the valid Soap request, I wonder if anyone have any idea on it. Also the unit testing did get passed. Thanks for your time. Best regards, Ray