저는 ColdFusion 9 인스턴스와 .NET DLL을 가지고 있습니다. .NET DLL은 CF에서보다 쉽게 작업을 수행 할 수 있도록 매우 간단한 문자열 파싱입니다. 문자열과 함께 클라이언트 특정 작업을 수행하려는 각 클라이언트에 대해 하나의 DLL이 있지만 원본 소스에서 해당 항목을 가져 오는 핵심은 클라이언트에서 클라이언트로 변경되지 않습니다. 이 경우 ColdFusion : cfobject 태그에서 .NET DLL을 참조 할 때 NoClassDefFoundError 가져 오기
, 나는처럼 보이는 물체가 :public class clsNotification : BaseClass
{
public string GetSimpleString()
{
return "I was here";
}
public string GetNotificationsXml(int ProjectID)
{
return MybaseClass.getXML(ProjectID);
}
}
알림 클래스는 기본 DLL입니다 및 BaseClass로 별도의 DLL입니다.
업데이트 : 테스트 용으로 하나의 DLL에 모든 것을 넣었지만 여전히 동일한 오류가 발생합니다. 수신 오류 :
coldfusion.xml.rpc.CFCInvocationException: [java.lang.NoClassDefFoundError :
System/Xml/XmlQualifiedName][java.lang.ClassNotFoundException :
System.Xml.XmlQualifiedName]
불행히도 로그 폴더에 액세스 할 수 없습니다. 보안 위험이나 무언가라고 생각합니다. System.Xml.dll을 폴더에 넣었지만 여전히 .NET Integration Service에 의해 선택되지 않은 것으로 보입니다.
새로운 의견이 있으십니까? 왜 XmlQualifiedName을 찾을 수 없습니까?
업데이트 2 : ColdFusion 코드는 매우 간단합니다. I 클래스가 인스턴스화 것이지만 예외 이러한 오류를 초래할 것 인 문제를 갖는 유지
<cffunction name="GetNotificationsXml" access="remote" returntype="string" output="false">
<cfargument name="ProjectID" type="numeric" required="yes">
<cfobject name="myObj" type=".NET"
assembly="#ExpandPath("./")#Published .NET DLLs/Notifications.dll"
class="#Namespace#.clsNotifications">
<cfset str=myObj.GetNotificationsXml(ProjectID) />
<cfreturn str>
</cffunction>
전체 스택 추적 (및'{cfroot} \ jnbridge' 로그의 오류)을 게시 할 수 있습니까 – Leigh
Cold fusion에서 작성한 내용 – Ravia
예외 스 니펫은 약간 모호합니다. 'NoClassDefFoundError'는 클래스가 빠져 있거나 CF가 필요한 프록시 클래스를 생성하지 못했음을 의미 할 수 있지만 일반적인 초기화 문제를 나타낼 수도 있습니다. System.xml dll을'assembly'리스트에 추가하십시오. 어떤 변화? – Leigh