Welcome to Cisco-WebEx Meeting Service Forums

These forums are available to all to read.  However, if you want to fully participate, post, etc., you'll need to sign into the site with Cisco CCO credentials.  If you do not already have these, go to the "Sign In" link in the upper right of the main page, and follow the self-service registration process.  This will not only allow you participate in these forum categories, but also new interactive features coming soon, and many other aspects of the Cisco developer networks set of web sites.

Look into the Getting Started category for more information on how you can leverage these forums, search, get RSS feeds, and more.

Message Boards Message Boards
Combination View Flat View Tree View
Threads [ Previous | Next ]
RE: Java ClassNotFoundException when trying to fetch meeting usage history
toggle
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.
Flag Flag
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,
Flag Flag
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.
 
Flag Flag
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,
Flag Flag
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.
Flag Flag
Hi Yuriy,
 
In the schema change lstmeetingusageHistory to LstmeetingusageHistory, but leave the response lower case.
 
Thank you,
-Kingsley Lewis
Flag Flag
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.
Flag Flag
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
Flag Flag