cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
846
Views
5
Helpful
4
Replies

Error when adding a phone using Postman

mike.wilcox
Level 1
Level 1

I know I am missing something basic here, but I am beating my head on the desk.

 

I am attempting to add a phone with an existing line on a 12.5 cluster with the following XML:

 

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.cisco.com/AXL/API/12.5">
<soapenv:Header/>
<soapenv:Body>
<ns:AddPhone sequence="?">
<phone ctiid="?">
<name>SEP000082568775</name>
<description>SEP000082568775</description>
<product>Cisco 7911</product>
<class>Phone</class>
<protocol>SIP</protocol>
<protocolSide>User</protocolSide>
<callingSearchSpaceName uuid="?">cr-dev-css</callingSearchSpaceName>
<devicePoolName uuid="?">cr-hphone01</devicePoolName>
<commonPhoneConfigName>Standard Common Phone Profile</commonPhoneConfigName>
<locationName uuid="?">AMR</locationName>
<useTrustedRelayPoint>Default</useTrustedRelayPoint>
<phoneTemplateName uuid="?">Standard 7911 SIP</phoneTemplateName>
<primaryPhoneName></primaryPhoneName>
<builtInBridgeStatus>Default</builtInBridgeStatus>
<packetCaptureMode>None</packetCaptureMode>
<certificateOperation>No Pending Operation</certificateOperation>
<deviceMobilityMode>Default</deviceMobilityMode>
<securityProfileName uuid="?">Cisco 7911 - Standard SIP Non-Secure Profile</securityProfileName>
<sipProfileName uuid="?">Standard SIP Profile</sipProfileName>
<lines>
<line>
<index>1</index>
<display>Line1</display>
<dirn>
<pattern>82568775</pattern>
<routePartitionName uuid="?">AMR-L1-PT</routePartitionName>
</dirn>
<recordingMediaSource>Gateway Preferred</recordingMediaSource>
</line>
</lines>
</phone>
</ns:AddPhone>
</soapenv:Body>
</soapenv:Envelope>

 

I am getting back a 500 error with the below log entries. Any ideas?

 

Thanks,

 

Mike

 

2022-03-24 14:16:21,800 INFO [http-bio-1025-exec-30] servletRouters.AXLAlpha - Executing api: addPhone in axis
2022-03-24 14:16:21,806 ERROR [http-bio-1025-exec-30] servletRouters.AXLAlpha - An error has occurred processing the request
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.substring(String.java:1911)
at org.apache.axis2.builder.XFormURLEncodedBuilder.extractParametersFromRequest(XFormURLEncodedBuilder.java:174)
at org.apache.axis2.builder.XFormURLEncodedBuilder.processDocument(XFormURLEncodedBuilder.java:112)
at org.apache.axis2.transport.TransportUtils.createDocumentElement(TransportUtils.java:164)
at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:112)
at org.apache.axis2.transport.http.util.RESTUtil.processXMLRequest(RESTUtil.java:61)
at org.apache.axis2.transport.http.AxisServlet$RestRequestProcessor.processXMLRequest(AxisServlet.java:813)
at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:204)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
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:742)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:484)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:409)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:337)
at com.cisco.www.servletRouters.AXLAlpha.forwardToAxis(AXLAlpha.java:301)
at com.cisco.www.servletRouters.AXLAlpha.doPost(AXLAlpha.java:96)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
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.AuthenticationFilter.doFilter(AuthenticationFilter.java:107)
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.TimingFilter.doFilter(TimingFilter.java:43)
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:219)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:604)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:165)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:1025)
at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:321)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:755)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:452)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1195)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:654)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:319)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:622)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)
2022-03-24 14:16:21,807 INFO [http-bio-1025-exec-30] filters.TimingFilter - Request 1634722775926 received from ccmadministrator at ip 10.212.21.74 was processed in 38ms

1 Accepted Solution

Accepted Solutions

I just noticed this typo in your request:

<phoneTemplateName">

You need to remove the double-quote.

Also, it's addPhone, not AddPhone.

You might want to check for other typos - those are just the ones I caught.

View solution in original post

4 Replies 4

npetrele
Cisco Employee
Cisco Employee

I generally take out all the instances of sequence="?", uuid="?", etc. Sometimes it causes marshalling errors.

Also, did you create the line before doing the addPhone?  You can't add the line with the addPhone, you need to do that separately before you add the phone. 

The line does exist, just checked that. I removed all the uuid="?" and what not and am still getting the same error. Would be helpful if it said which string was causing an issue. XML and log are below:

 

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.cisco.com/AXL/API/12.5">
<soapenv:Header/>
<soapenv:Body>
<ns:AddPhone>
<phone>
<name>SEP000082568775</name>
<description>SEP000082568775</description>
<product>Cisco 7911</product>
<class>Phone</class>
<protocol>SIP</protocol>
<protocolSide>User</protocolSide>
<callingSearchSpaceName>cr-dev-css</callingSearchSpaceName>
<devicePoolName>cr-hphone01</devicePoolName>
<commonPhoneConfigName>Standard Common Phone Profile</commonPhoneConfigName>
<locationName>AMR</locationName>
<useTrustedRelayPoint>Default</useTrustedRelayPoint>
<phoneTemplateName">Standard 7911 SIP</phoneTemplateName>
<primaryPhoneName></primaryPhoneName>
<builtInBridgeStatus>Default</builtInBridgeStatus>
<packetCaptureMode>None</packetCaptureMode>
<certificateOperation>No Pending Operation</certificateOperation>
<deviceMobilityMode>Default</deviceMobilityMode>
<securityProfileName>Cisco 7911 - Standard SIP Non-Secure Profile</securityProfileName>
<sipProfileName>Standard SIP Profile</sipProfileName>
<lines>
<line>
<index>1</index>
<display>Line1</display>
<dirn>
<pattern>82568775</pattern>
<routePartitionName>AMR-L1-PT</routePartitionName>
</dirn>
<recordingMediaSource>Gateway Preferred</recordingMediaSource>
</line>
</lines>
</phone>
</ns:AddPhone>
</soapenv:Body>
</soapenv:Envelope>

 

2022-03-24 15:06:52,047 INFO [http-bio-1027-exec-26] servletRouters.AXLAlpha - Executing api: addPhone in axis
2022-03-24 15:06:52,054 ERROR [http-bio-1027-exec-26] servletRouters.AXLAlpha - An error has occurred processing the request
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.substring(String.java:1911)
at org.apache.axis2.builder.XFormURLEncodedBuilder.extractParametersFromRequest(XFormURLEncodedBuilder.java:174)
at org.apache.axis2.builder.XFormURLEncodedBuilder.processDocument(XFormURLEncodedBuilder.java:112)
at org.apache.axis2.transport.TransportUtils.createDocumentElement(TransportUtils.java:164)
at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:112)
at org.apache.axis2.transport.http.util.RESTUtil.processXMLRequest(RESTUtil.java:61)
at org.apache.axis2.transport.http.AxisServlet$RestRequestProcessor.processXMLRequest(AxisServlet.java:813)
at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:204)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
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:742)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:484)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:409)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:337)
at com.cisco.www.servletRouters.AXLAlpha.forwardToAxis(AXLAlpha.java:301)
at com.cisco.www.servletRouters.AXLAlpha.doPost(AXLAlpha.java:96)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
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.AuthenticationFilter.doFilter(AuthenticationFilter.java:107)
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.TimingFilter.doFilter(TimingFilter.java:43)
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:219)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:604)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:165)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:1025)
at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:321)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:755)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:452)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1195)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:654)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:317)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:622)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)
2022-03-24 15:06:52,055 INFO [http-bio-1027-exec-26] filters.TimingFilter - Request 1634722775938 received from ccmadministrator at ip 10.212.21.74 was processed in 40ms

I just noticed this typo in your request:

<phoneTemplateName">

You need to remove the double-quote.

Also, it's addPhone, not AddPhone.

You might want to check for other typos - those are just the ones I caught.

Thank You!!

I knew it was something basic. The superfluous " was part of the uuid="?" that I had in for testing. The AddPhone vs addPhone was the key to making it work. This envelope was written by a colleague and I glanced right over that.