[ Web Services, Apache AXIS 1.3] java.lang.NoClassDefFoundError: com/sun/xml/rpc/client/BasicService

Discussion in 'Java' started by rhimbo, Mar 16, 2006.

  1. rhimbo

    rhimbo Guest

    Hi all,

    Tomcat 5.5.15, Apache AXIS 1.3, Linux fedora core4 ... JDK 1.5.0_06

    I have a web service deployed. From the browser all looks good. Hitting
    the following URLs show my web service as expected:
    http://localhost:8080/axis/servlet/AxisServlet
    http://localhost:8080/axis/services

    Clicking on the "wsdl" link for my web service displays the wsdl
    contents.

    I wrote a simple stand-alone Java app to test the web service. Running
    it gives these errors:
    $ java FamilyClient
    java.lang.NoClassDefFoundError: com/sun/xml/rpc/client/BasicService;
    nested exception is:
    java.lang.NoClassDefFoundError:
    com/sun/xml/rpc/client/BasicService
    $
    $

    The only imports in my FamilyClient.java file are:

    import java.net.InetAddress;
    import java.net.UnknownHostException;
    import java.rmi.RemoteException;
    import java.util.Date;
    import java.util.GregorianCalendar;

    import javax.xml.rpc.ServiceException;

    import disney.dis.family.Family;
    import disney.dis.family.FamilyService;
    import disney.dis.family.FamilyServiceLocator;

    I don't know why it needs any of the com/sun/... classes. I do have
    Sun JWSDP installed, but it's NOT in my CLASSPATH. I did a "jar tvf "
    on every jar file in my tomcat/axis installation... in
    /opt/tomcat/webapps/axis/WEB-INF/lib

    My CLASSPATH lists the AXIS libs before the JDK libs.

    CLASSPATH=".:$FAMILY_HOME/classes"
    CLASSPATH="$CLASSPATH:$ANT_HOME/lib"
    CLASSPATH="$CLASSPATH:$AXIS_CLASSPATH:$LOG4J_LIB_PATH"
    CLASSPATH="$CLASSPATH:$JAVA_HOME/lib"
    CLASSPATH="$CLASSPATH:$FAMILY_LIBS"
    CLASSPATH="$CLASSPATH:$NAUTILUS_LIBS"

    No BasicService symbol in any of these jars. So where is the reference
    made? I don't believe I need this because AXIS has its own
    implementation of the JAX-RPC classes.

    I suspect that's it's the server side requesting this class. The reason
    I suspect is that my colleague is hitting the service from Python and
    he's getting the same exception error.

    We had this working before with NO changes to installed software. That
    is, I have never used the JWSDP. I have it installed in /opt/jwsdp but
    not referenced anywhere that I can find.

    Can anyone help?

    Many thanks,
     
    rhimbo, Mar 16, 2006
    #1
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.

Share This Page