CyberGarage warning :FileNotFoundException

  • Anonymous - 2012-05-25

    I am trying to create a control point using cyberlink api.
    Whenever the samsung tv is discovered by control point, there is a FileNotFoundException being thrown.
    Stack trace looks like this:
    CyberGarage warning : \ConnectionManager1.xml (The system cannot find the file specified)
    org.cybergarage.xml.ParserException: \ConnectionManager1.xml (The system cannot find the file specified)
    at org.cybergarage.xml.Parser.parse(
    at org.cybergarage.upnp.Service.getSCPDNode(
    at org.cybergarage.upnp.Service.getSCPDNode(
    at org.cybergarage.upnp.Service.getActionList(
    at DlnaTest.handleRenderer(
    at DlnaTest.browseMediaRenderers(
    at DlnaTest.deviceAdded(
    at org.cybergarage.upnp.ControlPoint.performAddDeviceListener(
    at org.cybergarage.upnp.ControlPoint.addDevice(
    at org.cybergarage.upnp.ControlPoint.notifyReceived(
    at Source)
    Caused by: \ConnectionManager1.xml (The system cannot find the file specified)
    at Method)
    at<init>(Unknown Source)
    at org.cybergarage.xml.Parser.parse(
    … 11 more

    I suspect its due to the backslash in device description xml :


    Please help,

  • Anonymous - 2012-05-25

    The line that is causing this exception looks harmless. Its just a call to getServiceType()

    private void handleRenderer(Device device)
            String devName = device.getFriendlyName(); 
            System.out.println("==============> " + devName+"  device type"+device.getDeviceType());
            ServiceList serviceList = device.getServiceList();
            for(int i=0; i< serviceList.size(); i++)
                Service service = serviceList.getService(i);
                System.out.println("\n service type :  "+service.getServiceType());
                ActionList actionList = service.getActionList();
                for(int j =0 ; j< actionList.size(); j++)
                    Action action = actionList.getAction(j);
                    /*ArgumentList outputList =  action.getOutputArgumentList();
                    int argLen = outputList.size();
                    for(int k =0; k< argLen; k++)
                        Argument argument = outputList.getArgument(k);
                        System.out.println("\t \t argument name:"+argument.getName()+"\t argument value:  "+argument.getValue());
  • Anonymous - 2012-05-25

    The exception is actually being caused by :

    ActionList actionList = service.getActionList();

    sorry for the mistake in previous post.

  • Satoshi Konno

    Satoshi Konno - 2012-05-25


    Thanks for your report.  I will check your problem this weekend. :-)

    Best Regards,

    Satoshi Konno

  • Anonymous - 2012-05-25

    hi satoshi,
    thanks for your prompt attention.
    I am unable to attach full device description xml file. Please let me know, just in case it may help.

  • Anonymous - 2012-06-05

    I've checked out source from repository.
    I made some changes to 441

    String newScpdURLStr = rootDev.getDescriptionFilePath() + HTTP.toRelativeURL(scpdURLStr);

    to see if description file + relative url actually result in a string that can be used to access the file. getDescriptionFilePath()  is returning an empty string.
    any clue?

  • Anonymous - 2013-03-04

    Any updates about this thread??

    I am using CyberLinkForjava on Android, and when I try to getAction(), it gives the same error

    CyberGarage warning : /x_wfawlanconfig.xml: open failed: ENOENT (No such file or directory)

    I am wondering why this xml file is put in the root directory, which will be denied by Android.

    Is there any suggestion how I can change it to be a relative path (somewhere in /sdcard)


  • Anonymous - 2013-03-05

    I think I figured out the reason.

    In, URLBASE_NAME="URLBase", but in the device I am testing (Cisco E2500 Router), its xml file does not have this field. So rootDevice.getURLBase is always NULL


Log in to post a comment.