addRemoteDestinationProfile => nullpointer exception

Version 1
    This document was generated from CDN thread

    Created by: Stephan Steiner on 08-10-2013 07:29:24 AM
    Can anybody see something off with this request (soap header omitted)

    -<remoteDestinationProfile
    uuid="{16FEE5E0-994A-00BF-0EBC-E81F4A1E6300}"> <name>rdp_template</name> <description>template remote destination for mobile
    integration</description> <product>Remote Destination Profile</product> <model>Remote Destination Profile</model> <class>Remote Destination Profile</class> <protocol>Remote Destination</protocol> <protocolSide>User</protocolSide> <callingSearchSpaceName
    uuid="{3AAA1E94-19B3-8A53-EDD0-B42D01A2E851}">c_all</callingSearchSpaceName> <devicePoolName
    uuid="{1B1B9EB6-7803-11D3-BDF0-00108302EAD1}">Default</devicePoolName> <networkHoldMohAudioSourceId>1</networkHoldMohAudioSourceId> <userHoldMohAudioSourceId>1</userHoldMohAudioSourceId>-<lines>-<line uuid="{5DCE4D5F-564D-55F6-F695-F6F593B8CB38}"> <index>1</index> <label/> <asciiLabel/> <display/>-<dirn uuid="{61E9A558-5420-B5FD-49EC-2DB5C06B9B7C}"> <pattern>9905</pattern> <routePartitionName
    uuid="{893DF26C-2068-DCEC-4774-E893593E8C7E}">p_phones</routePartitionName> </dirn> <ringSetting>Ring</ringSetting> <consecutiveRingSetting>Use System Default</consecutiveRingSetting> <ringSettingIdlePickupAlert/> <ringSettingActivePickupAlert/> <displayAscii/> <e164Mask/> <dialPlanWizardId/> <mwlPolicy>Use System Policy</mwlPolicy> <maxNumCalls>2</maxNumCalls> <busyTrigger>2</busyTrigger>-<callInfoDisplay> <callerName>true</callerName> <callerNumber>false</callerNumber> <redirectedNumber>false</redirectedNumber> <dialedNumber>true</dialedNumber> </callInfoDisplay> <recordingProfileName/> <monitoringCssName/> <recordingFlag>Call Recording Disabled</recordingFlag> <audibleMwi>Default</audibleMwi> <speedDial/> <partitionUsage>General</partitionUsage> <associatedEndusers/> <missedCallLogging>true</missedCallLogging> </line> </lines> <callInfoPrivacyStatus>Default</callInfoPrivacyStatus> <userId>testuser</userId> <ignorePresentationIndicators>false</ignorePresentationIndicators> <rerouteCallingSearchSpaceName uuid="{3AAA1E94-19B3-8A53-EDD0-B42D01A2E851}">c_all</rerouteCallingSearchSpaceName> <cgpnTransformationCssName
    uuid="{3AAA1E94-19B3-8A53-EDD0-B42D01A2E851}">c_all</cgpnTransformationCssName> <useDevicePoolCgpnTransformCss>true</useDevicePoolCgpnTransformCss> <userLocale/> <primaryPhoneName/> <dndOption>Call Reject</dndOption> <dndStatus>false</dndStatus> <mobileSmartClientProfileName/> </remoteDestinationProfile>

    The DN and css do exist. The response doesn't tell us much:

     <?xml
    version="1.0" encoding="UTF-8" ?>-<soapenv:Envelope
    xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">-<soapenv:Body>-<soapenv:Fault> <faultcode>soapenv:Server</faultcode> <faultstring/>-<detail>-<axlError> <axlcode>-1</axlcode> <axlmessage/> <request>addRemoteDestinationProfile</request> </axlError> </detail> </soapenv:Fault> </soapenv:Body> </soapenv:Envelope>

    And looking at the AXL logs, I see this:

    2013-10-08 13:16:41,247 ERROR [http-bio-443-exec-24] axlapiservice.AXLAPIServiceSkeleton - com.cisco.www.axlapiservice.AXLAPIServiceSkeleton@1590adf
    java.lang.NullPointerException
        at com.cisco.www.axlapiservice.AddRemoteDestinationProfileHandler.doAdd(AddRemoteDestinationProfileHandler.java:36)
        at com.cisco.www.axlapiservice.AXLAPIServiceSkeleton.addRemoteDestinationProfile(AXLAPIServiceSkeleton.java:19997)
        at com.cisco.www.axlapiservice.AXLAPIServiceMessageReceiverInOut.invokeBusinessLogic(AXLAPIServiceMessageReceiverInOut.java:7329)
        at org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java:40)
        at org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:100)
        at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:176)
        at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275)
        at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:131)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
        at sun.reflect.GeneratedMethodAccessor22.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:277)
        at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:274)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
        at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:309)
        at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:169)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:299)
        at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:57)
        at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:193)
        at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:189)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:749)
        at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:487)
        at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:412)
        at org.apache.catalina.core.ApplicationDispatcher.access$000(ApplicationDispatcher.java:65)
        at org.apache.catalina.core.ApplicationDispatcher$PrivilegedForward.run(ApplicationDispatcher.java:98)
        at org.apache.catalina.core.ApplicationDispatcher$PrivilegedForward.run(ApplicationDispatcher.java:86)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:331)
        at com.cisco.www.servletRouters.AXLAlpha.doPost(Unknown Source)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
        at sun.reflect.GeneratedMethodAccessor22.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:277)
        at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:274)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
        at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:309)
        at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:169)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:299)
        at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:57)
        at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:193)
        at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:189)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at com.cisco.www.servletRouters.AXLFilter.doFilter(Unknown Source)
        at sun.reflect.GeneratedMethodAccessor255.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:277)
        at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:274)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
        at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:309)
        at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:249)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
        at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:57)
        at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:193)
        at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:189)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:581)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:947)
        at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:314)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
        at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1009)
        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
        at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
        at java.lang.Thread.run(Thread.java:662)

    isn't it the job of the AXL service to validate my request and not crash?

    The error in the request, btw, was an incorrect wrapping of the contents of the new RDP.. I sent newRemoteDestinationProfile instead of remoteDestinationProfile