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

CUCM ondemand CDR API return 500 error

DennisWei328
Level 1
Level 1

Hi everyone,

We are using postman to connect ondemand CDR API 

It returns 500 Internal Server error. 

<faultstring>The endpoint reference (EPR) for the Operation not found is /CDRonDemandService2/services/CDRonDemandService and the WSA Action = null</faultstring>
 
Could anyone please advise? Thanks
4 Replies 4

dstaudt
Cisco Employee
Cisco Employee

From what I can tell, there appears to be a problem in the CDRonDemandService2 WSDL for (at least) CUCM 12.5 and 14, where the bind location URL is missing 'Service' on the end.

 

v11.5:

 <wsdl:service name="CDRonDemandService">
    <wsdl:port name="CDRonDemand" binding="tns:CDRonDemandSoapBinding">
        <wsdlsoap:address location="https://10.194.104.83:80/CDRonDemandService2/services/CDRonDemandService"/>
    </wsdl:port>
</wsdl:service>

v14:

<wsdl:service name="CDRonDemandService">
    <wsdl:port name="CDRonDemand" binding="tns:CDRonDemandSoapBinding">
        <soap:address location="https://localhost:8443/CDRonDemandService2/services/CDRonDemand"/>
    </wsdl:port>
</wsdl:service>

(Note the v14 WSDL also replaces the specific IP of the CUCM host with a generic 'localhost' which you'll need to override, though it does provide the correct port 8443 whereas the 11.5 WSDL provides the incorrect 80)

 

Workarounds could be a) edit the WSDL to correct the location URL and recompile any autogenerated code stubs if necessary b) make sure to specify the corrected URL when making the request and/or overriding the location.  E.g. in Python-Zeep:

service = client.create_service(
    '{http://schemas.cisco.com/ast/soap}CDRonDemandSoapBinding',
    f'https://{ os.getenv( "CUCM_ADDRESS" ) }:8443//CDRonDemandService2/services/CDRonDemandService' 
    )

I've opened a defect to track the issue against CUCM 12.5/14: CSCwa71902

Thanks dstaudt. Our CM is 11.5 and i tried both URLs (with or without 'service') with 8443 or 80 port however still get 500 internal error. Tried restart ondemandCDR service but not work. 

Perhaps can you post the full raw HTTP request?

I suspect this may be some issue on the CUCM side - might suggest opening a DevNet Developer Support ticket: https://developer.cisco.com/site/support/

AMB14
Cisco Employee
Cisco Employee

Hi Team,
We had the same issue. 
Simple change of Content-Type header from application/xml to text/xml helped us resolve it.
Attaching screenshots below : 
1. When Content-Type header is application/xml

AMB14_0-1679580106563.png

2. with the exact same payload and Content-type as text/xml - works like a charm

AMB14_1-1679581902342.png