ColdFusion: Obținerea NoClassDefFoundError când se face referire la un DLL .NET într-o etichetă cfobject

Am o instanță ColdFusion 9 și un .NET DLL. DLL-ul .NET este o parsing foarte simplă a șirurilor pentru a face mai ușoară unele sarcini în CF. Există un DLL pentru fiecare client care dorește să facă anumite sarcini specifice clientului cu șiruri de caractere, dar nucleul tragerii acelor elemente din sursa originală nu se schimbă de la client la client.

În acest caz, am un obiect care arată ca:

public class clsNotification : BaseClass
{
    public string GetSimpleString()
    {
        return "I was here";
    }


    public string GetNotificationsXml(int ProjectID)
    {
       return MybaseClass.getXML(ProjectID);
    }
}

Clasa de notificare este DLL-ul principal, iar BaseClass se află într-un DLL separat.

UPDATE: I put everything in one DLL for testing purposes, and it is still giving me the same error. The error I am receiving is:

coldfusion.xml.rpc.CFCInvocationException: [java.lang.NoClassDefFoundError :
System/Xml/XmlQualifiedName][java.lang.ClassNotFoundException :
System.Xml.XmlQualifiedName]

Din păcate, nu am acces la dosarul jurnalelor. Cred că consideră că există un risc de securitate sau ceva de genul ăsta. Am pus System.Xml.dll în folder, dar încă nu pare să fi fost preluat de serviciul .NET Integration Service.

Orice gânduri noi? De ce nu a fost găsit XmlQualifiedName?

UPDATE 2: The ColdFusion code is very simple. It is a cfcomponent with a function as described here:


    

    

    

    

0
Poți posta următoarea stivă (și orice eroare din jurnalele {cfroot} \ jnbridge )
adăugat autor Leigh, sursa
Fragmentul de excepție este puțin ambiguu. NoClassDefFoundError poate adesea să însemne că o clasă lipsește (sau CF nu a reușit să genereze clasa proxy necesară), dar poate indica și probleme de inițializare generală. Încercați să adăugați dllul System.xml în lista assembly . Vreo schimbare?
adăugat autor Leigh, sursa
Ce ai scris în fuziunea rece?
adăugat autor Ravia, sursa

1 răspunsuri

I kept having this issue where a class would instantiate but an exception would result in this error. What I figured out, through tinkering, is that even with the assembly list containing the proper dll it still fails since I presume the JNB Proxy doesn't include that class in the proxy generation.

Ceea ce fac este instantierea clasei direct astfel:

 

Deci, când/dacă apare excepția, există un proxy generat pentru clasă și eroarea nu va apărea.

0
adăugat