cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
604
Views
0
Helpful
4
Replies

addLineGroup failure

stephan.steiner
Spotlight
Spotlight

I'm trying to create a new line group using the following request:

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <SOAP-ENV:Body> <axl:addLineGroup xmlns:axl="http://www.cisco.com/AXL/API/10.5"  xsi:schemaLocation="http://www.cisco.com/AXL/API/10.5 http://ccmserver/schema/axlsoap.xsd" sequence="10"> <name>LG_test</name><distributionAlgorithm>Circular</distributionAlgorithm><rnaReversionTimeOut>10</rnaReversionTimeOut><huntAlgorithmNoAnswer>Try next member, but do not go to next group</huntAlgorithmNoAnswer><huntAlgorithmBusy>Try next member; then, try next group in Hunt List</huntAlgorithmBusy><huntAlgorithmNotAvailable>Stop hunting</huntAlgorithmNotAvailable></axl:addLineGroup> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

It fails, but the error doesn't really tell me anything.

<?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></faultstring><detail><axlError><axlcode>-1</axlcode><axlmessage></axlmessage><request>addLineGroup</request></axlError></detail></soapenv:Fault></soapenv:Body></soapenv:Envelope>

Looking at the AXL log, I only see a nullpointer exception but it doesn't get me anywhere either:

2015-01-16 16:19:41,539 ERROR [http-bio-443-exec-10] axlapiservice.AXLAPIServiceSkeleton - com.cisco.www.axlapiservice.AXLAPIServiceSkeleton@23d6e4

java.lang.NullPointerException

  at com.cisco.www.axlapiservice.AddLineGroupHandler.doAdd(AddLineGroupHandler.java:32)

  at com.cisco.www.axlapiservice.AXLAPIServiceSkeleton.addLineGroup(AXLAPIServiceSkeleton.java:5648)

  at com.cisco.www.axlapiservice.AXLAPIServiceMessageReceiverInOut.addLineGroup(AXLAPIServiceMessageReceiverInOut.java:7593)

  at com.cisco.www.axlapiservice.AXLAPIServiceMessageReceiverInOut.invokeBusinessLogic(AXLAPIServiceMessageReceiverInOut.java:847)

  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:646)

  at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)

  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)

  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

  at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)

  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

  at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:748)

  at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:486)

  at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:411)

  at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:338)

  at com.cisco.www.servletRouters.AXLAlpha.forwardToAxis(AXLAlpha.java:175)

  at com.cisco.www.servletRouters.AXLAlpha.doPost(AXLAlpha.java:62)

  at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)

  at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)

  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)

  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

  at com.cisco.www.servletRouters.filters.ThrottlingFilter.doFilter(ThrottlingFilter.java:66)

  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)

  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

  at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)

  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

  at com.cisco.vos.platform.tomcat.valves.CiscoResponseHeaderFilter.doFilter(Unknown Source)

  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)

  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

  at com.cisco.www.servletRouters.filters.NormalizeHeaderFilter.doFilter(NormalizeHeaderFilter.java:50)

  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)

  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

  at com.cisco.www.servletRouters.filters.AuthenticationFilter.doFilter(AuthenticationFilter.java:57)

  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)

  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

  at com.cisco.www.servletRouters.filters.TimingFilter.doFilter(TimingFilter.java:41)

  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)

  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

  at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)

  at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)

  at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:610)

  at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)

  at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)

  at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)

  at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:312)

  at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)

  at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)

  at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040)

  at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)

  at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:315)

  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)

  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)

  at java.lang.Thread.run(Thread.java:745)

I activated troubleshooting traces for axl and database layer monitor and tried again, but I'm not getting anything from the database so it seems things go wrong even before that. Any ideas?

4 Replies 4

npetrele
Cisco Employee
Cisco Employee

This worked fine for me:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.cisco.com/AXL/API/10.5">

  <soapenv:Header/>

  <soapenv:Body>

  <ns:addLineGroup sequence="?">

  <lineGroup>

  <name>LG_test</name>

  <distributionAlgorithm>Circular</distributionAlgorithm>

  <rnaReversionTimeOut>10</rnaReversionTimeOut>

  <huntAlgorithmNoAnswer>Try next member, but do not go to next group</huntAlgorithmNoAnswer>

  <huntAlgorithmBusy>Try next member; then, try next group in Hunt List</huntAlgorithmBusy>

  <huntAlgorithmNotAvailable>Stop hunting</huntAlgorithmNotAvailable>

  </lineGroup>

  </ns:addLineGroup>

  </soapenv:Body>

</soapenv:Envelope>

Nicholas

Thanks for the quick response.

When I was posting I was thinking maybe it was time to use the more simplified syntax that is now being proposed in the developer guide (just like your example). In rewriting, I finally realized that my addLineGroup command lacked the <lineGroup> container for the xml representing the line group. Once I added that, things worked out just fine. I'd like to think though that there shouldn't be an undefined error returned, rather the axl error should be something along the lines "invalid xml" or "lineGroup element not found". I know I've seen such errors before with my cucm 10.5.

By the way, there's other ways to trigger this behavior.. here's a deleteLineGroup request that is incorrect (it should use the <name> tag, not <userId>.. <userId> is wrong, but that should return a warning about incorrect xml, not just crash and burn).

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.cisco.com/AXL/API/10.5">

  <soapenv:Header/>

  <soapenv:Body>

  <ns:removeLineGroup sequence="10">

  <userid>LG_test</userid>

  </ns:removeLineGroup>

  </soapenv:Body>

</soapenv:Envelope>

Yes, I'd love to see error handling improved in this and just about every Soap API.

I copied and reformatted your sample to look at it, and I didn't even notice your sample was missing the lineGroup tag.  Whenever I'm doing any AXL work, I test everything in SoapUI first, which populates the tags from the WSDL, so it's unlikely I'll construct the call wrong (although it does happen).  I find SoapUI to be an indispensable tool for debugging my AXL and developer's AXL problems.