Welcome to the Panopto Community

Error calling GetFoldersList SOAP API - What am I doing wrong. Thx

I call the GetFoldersList Service SOAP API but always get a response as follows: <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><s:Fault><faultcode>s:Client</faultcode><faultstring xml:lang="en-US">Value cannot be null.&#13;

Parameter name: request</faultstring></s:Fault></s:Body></s:Envelope>

My request is as follows: curl --location --request POST 'https://abc.hosted.panopto.com/Panopto/PublicAPI/4.2/SessionManagement.svc' \

--header 'Content-Type: text/xml' \

--header 'SOAPAction: http://tempuri.org/ISessionManagement/GetFoldersList' \

--data-raw '<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Header/><SOAP-ENV:Body><ns2:GetFoldersList xmlns:ns2="http://tempuri.org/" xmlns:ns3="http://schemas.datacontract.org/2004/07/Panopto.Server.Services.PublicAPI.V42.Soap" xmlns:ns4="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns:ns5="http://schemas.datacontract.org/2004/07/Panopto.Server.Services.PublicAPI.V40"><ns5:AuthenticationInfo><ns5:Password>abc123</ns5:Password><ns5:UserKey>aaa.bbb@wgu.edu</ns5:UserKey></ns5:AuthenticationInfo><ns5:ListFoldersRequest><ns5:Pagination><ns5:MaxNumberResults>5</ns5:MaxNumberResults><ns5:PageNumber>0</ns5:PageNumber></ns5:Pagination><ns5:ParentFolderId>00000000-0000-0000-0000-000000000000</ns5:ParentFolderId><ns5:PublicOnly>false</ns5:PublicOnly><ns5:SortBy>Name</ns5:SortBy><ns5:SortIncreasing>true</ns5:SortIncreasing><ns5:UnmappedOnly>false</ns5:UnmappedOnly></ns5:ListFoldersRequest><ns2:searchQuery/></ns2:GetFoldersList></SOAP-ENV:Body></SOAP-ENV:Envelope>'

Tagged:

Answers

  • Hiroshi OhnoHiroshi Ohno Panopto Employee

    Brendan,

    Thank you for posting this question. I cannot tell how SOAP request should be made with curl.

    I may give you an example traffic log that actually works. You may try replicating this request with curl -or- switch to use actual development that supports SOAP.


  • edited May 2022
    Thx Hiroshi. I tried your request using postman and it works. I am not sure how to generate a SOAP request 
    like yours. I am using SpringBoot and Java 11. 
    In my code I use a org.springframework.oxm.jaxb.Jaxb2Marshaller and set context path to org.tempuri
    Are there any Spring Java examples that I can look at? 
    Another question: You require SOAP 1.2 with content-type text/xml. However SOAP 1.2 has content-type set to
     application/soap+xml. Not sure how to do this. Thx
    


  • Hiroshi OhnoHiroshi Ohno Panopto Employee

    Hi Brendan,

    We have a Blackboard plug-in written for Java and we generate SOAP library code by Apache Axis 2.

    You may find the generated SAOP sutbs here : https://github.com/Panopto/Blackboard-9.1-Plugin-for-Panopto/tree/master/src/main/com/panopto/services

    Unfortunately, I cannot tell you whether this works under your specific condition or not.

    I hope this helps.

  • edited May 2022

    Hi Hiroshi, I looked at the SOAP stubs you mentioned in Blackboard-9.1-Plugin-for-Panopto. Do you know if this code works or if anyone is currently using it to access your SOAP services. Thx

  • Hiroshi OhnoHiroshi Ohno Panopto Employee

    Hi Brendan,

    This code is a part of Panopto's Blackboard building block and several customers are using it.

  • edited May 2022

    Thx so much Hiroshi for your responses. I was able to get it to work using the Blackboard example you mentioned earlier. Have a wonderful day!

Sign In or Register to comment.