Please note: These WebEx forums have replaced the earlier site forums. All the previous threads and posts have been replicated here, and if you subscribed to the previous forums, please re-subscribe. Thank you.
« Back to Usage Reporting

RE: Java ClassNotFoundException when trying to fetch meeting usage history

Combination View Flat View Tree View
Threads [ Previous | Next ]
Hi,
 
When I send a message to fetch meeting usage history, I get an error, code 999999, that says "validation: unable to instantiate com.webex.xmlapi.service.binding.LstmeetingusageHistory; java.lang.ClassNotFoundException: com.webex.xmlapi.service.binding.LstmeetingusageHistory". Has anyone else seen this, or is there even someone with a solution?
 
My request message (security context headers replaced for confidentiality reasons):
 
<ser:message xmlns:ser="http://www.webex.com/schemas/2002/06/service" xmlns:com="http://www.webex.com/schemas/2002/06/common" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <ser:header>
       <ser:securityContext>
           <com:webExID>...</com:webExID>
           <com:password>...</com:password>
           <com:siteName>...</com:siteName>
       </ser:securityContext>
   </ser:header>
   <ser:body>
       <ser:bodyContent xmlns:his="http://www.webex.com/schemas/2002/06/service/history" xsi:type="his:lstmeetingusageHistory">
           <his:listControl>
               <ser:startFrom>0</ser:startFrom>
               <ser:maximumNum>20</ser:maximumNum>
           </his:listControl>
           <his:startTimeScope>
               <his:sessionStartTimeStart>05/01/2009 12:00:00</his:sessionStartTimeStart>
               <his:sessionStartTimeEnd>05/02/2009 12:00:00</his:sessionStartTimeEnd>
           </his:startTimeScope>
       </ser:bodyContent>
   </ser:body>
</ser:message>
 
The response from WebEx Meeting Service:
 
<?xml version="1.0"?>
<serv:message xmlns:serv="http://www.webex.com/schemas/2002/06/service" xmlns:com="http://www.webex.com/schemas/2002/06/common">
  <serv:header>
    <serv:response>
      <serv:result>FAILURE</serv:result>
      <serv:reason>validation: unable to instantiate com.webex.xmlapi.service.binding.LstmeetingusageHistory; java.lang.ClassNotFoundException: com.webex.xmlapi.service.binding.LstmeetingusageHistory</serv:reason>
      <serv:gsbStatus>PRIMARY</serv:gsbStatus>
      <serv:exceptionID>999999</serv:exceptionID>
    </serv:response>
  </serv:header>
  <serv:body>
    <serv:bodyContent/>
  </serv:body>
</serv:message>
 
Other requests, such as CreateUser, DelUser, GetUser and GetAPIVersion can be sent fine, with the expected responses returned.

Hi Ingemar,
 
In your bodyContent tag try changing the "L" in LstmeetingusageHistory to an uppercase letter.  If that doens't help then try additn the full XSI type to
<bodyContent xsi:type="java:com.webex.service.binding.history.LstmeetingusageHistory">
 
Thank you,

Thanks, but that's not really going to work. I do not write the XML myself, that is done by classes generated from the WebEx XML schemas by Apache XMLBeans. I have verified that the request messages validate against the XML schemas published by WebEx, and sure, the requests validate just fine.
 
If I understand correctly, your solution implies that the XML schemas published here are wrong, and do not match the messages expected by the WebEx XML API.
 
In addition, I just tried validating your suggested modifications against the WebEx XML schemas published here, and they won't validate.
 

Hi Ingemar,
 
The only supported xsi:type is the full path of
xsi:type="java:com.webex.service.binding.history.LstmeetingusageHistory"
 
or a shortened path of
xsi:type="history.LstmeetingusageHistory"
 
If your XML Code generator cannot be modified to support this then you may have to manually modify this in the generated code it provides.
 
As for the schema - You are correct, it is wrong for the list meeting usage command.  I'll have the engineering team fix it in the next release.
 
 
The below XML will work successfully
 
<?xml version="1.0" encoding="UTF-8"?>
<serv:message xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns:serv="http://www.webex.com/schemas/2002/06/service"
         xsi:schemaLocation="http://www.webex.com/schemas/2002/06/service
         http://www.webex.com/schemas/2002/06/service/service.xsd">

        <header>
           <securityContext>
           <webExID>...</webExID>
           ...
           <siteName>...</siteName>
           </securityContext>
        </header>

        <body>
              <bodyContent xsi:type="history.LstmeetingusageHistory">
               <listControl>
                 <startFrom>0</startFrom>
                 <maximumNum>20</maximumNum>
               </listControl>
               <startTimeScope>
                 <sessionStartTimeStart>05/15/2009 12:00:00</sessionStartTimeStart>
                 <sessionStartTimeEnd>06/02/2009 12:00:00</sessionStartTimeEnd>
               </startTimeScope>
              </bodyContent>
        </body>
</serv:message>
 
Thank you,

As for the schema - You are correct, it is wrong for the list meeting usage command.  I'll have the engineering team fix it in the next release.


I have the same problem with lstmeetingusageHistory operation.
But I have no time for wait the new release, therefore I want manually edit my XSD file.
 
Could you tell me what wrong with history.xsd scheme?
 
Thank you.

Hi Yuriy,
 
In the schema change lstmeetingusageHistory to LstmeetingusageHistory, but leave the response lower case.
 
Thank you,
-Kingsley Lewis

I have changed only one line, but the scheme become not compilable:
    original line:
    <xsd:complexType name="lstmeetingusageHistory">
    modified line:
    <xsd:complexType name="LstmeetingusageHistory">
 
 
Than I changed one more line:
    original line:
    <xsd:extension base="history:lstmeetingusageHistory">
    modified line:
    <xsd:extension base="history:LstmeetingusageHistory">
 
Than I have compiled my scheme with the 2 changed lines, buut the problem is live - unable to instantiate com.webex.xmlapi.service.binding.LstmeetingusageHistory.

Hi Yuriy,
 
It looks like the command is missing the history part.  The correct xsi:type should be
 
<bodyContent xsi:type="java:com.webex.service.binding.history.LstmeetingusageHistory">
 
You may have to manually add this to the code if you are using some code generation tools.
 
Thank you,
-Kingsley Lewis

Hi, Kingsley!
 
I have replaced my uncorrect line
<bodyContent xsi:type="his:LstmeetingusageHistory" xmlns:his="http://www.webex.com/schemas/2002/06/service/history">
to new line
<bodyContent xsi:type="java:com.webex.service.binding.history.LstmeetingusageHistory">
and received SUCCESS response.
 
Thank you very much!
 
Could you tell me when this bug will be fixed and a new version of the scheme will be created?

Create a Cisco account today and gain access across all Cisco Collaboration Developer sites.

 

Follow the WebEx Developer program on Twitter for the latest industry and WebEx Meetings related information.