이건 윈도우에서 Endeca를 설치 했을 때의 얘기다.

Available Services:

  • FileListService [wsdl]
  • FileTransferService [wsdl]
  • IDelegateServer [wsdl]

  • Generated by XFire ( http://xfire.codehaus.org )

Endeca HTTP Server 띄우고 난 후 위 3개의 서비스가 정상적으로 로드되는지 반드시 확인해주어야 한다.

그런데 가끔 IDelegateServer 라는 이 서비스가 올라오지 않을 때가 있다.

뭐가 문제인가 싶어서 서버의 로그들을 뒤지기 시작했다.

그러다가 ENDECA_CONF/logs/catalina.2010-07-02.log 파일에 아래와 같은 에러가 보였다.


심각: StandardWrapper.Throwable
java.lang.UnsatisfiedLinkError: C:\Endeca\MDEXEngine\5.1.4\bin\eprocess.dll: 지정된 프로시저를 찾을 수 없습니다
    at java.lang.ClassLoader$NativeLibrary.load(Native Method)
    at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1751)
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1676)
    at java.lang.Runtime.loadLibrary0(Runtime.java:822)
    at java.lang.System.loadLibrary(System.java:993)
    at com.endeca.process.ProcessControlImpl.<clinit>(ProcessControlImpl.java:13)
    at com.endeca.process.ProcessControlFactory.<clinit>(ProcessControlFactory.java:5)
    at com.endeca.esf.delegate.procctrl.ProcessControlImpl.<init>(ProcessControlImpl.java:35)
    at com.endeca.esf.delegate.DelegateServerLifecycleManager.initialize(DelegateServerLifecycleManager.java:37)
    at com.endeca.esf.shared.ServletContextListener.contextInitialized(ServletContextListener.java:62)
    at com.endeca.esf.delegate.BootstrapServlet.init(BootstrapServlet.java:17)
    at javax.servlet.GenericServlet.init(GenericServlet.java:211)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1105)
    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:932)
    at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3917)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4197)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:759)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)
    at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:608)
    at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:535)
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:470)
    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1112)
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:310)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1021)
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1013)
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)
    at org.apache.catalina.core.StandardService.start(StandardService.java:450)
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:709)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:551)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:275)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)

즉, eprocess.dll 이 파일을 못 찾는다는 소리다. 왜그러나 싶어서 eDen을 뒤졌다.

그러다가 'lenovo ... ' 어쩌고 저쩌고 하는 글을 보았다. 또 다른 글 ...

내용인즉슨 lenovo 관련 어떤 util들이 설치되면서 시스템 path에 잡히는데 이게 endeca의 path보다 앞에 위치하면서 저런 dll들을 다른 엉뚱한데서 찾거나 하나보다. --_-;


해결방법:

- 다행히도 해결책이 있고 방법은 매우 쉽다. 시스템 path에 설정되어 있는 Endeca와 관련된 path정보들을 가능하면 맨 앞으로 위치시키면 된다. ㅋㅋ

1. 변경 전 시스템 path
 - %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Lenovo;C:\Program Files\ThinkPad\ConnectUtilities;%ENDECA_ROOT%\perl;%ENDECA_ROOT%\perl\5.8.3\bin;%ENDECA_ROOT%\lib\com;%ENDECA_ROOT%\bin;%ENDECA_ROOT%\utilities

2. 변경 후 시스템 path
 - %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%ENDECA_ROOT%\perl;%ENDECA_ROOT%\perl\5.8.3\bin;%ENDECA_ROOT%\lib\com;%ENDECA_ROOT%\bin;%ENDECA_ROOT%\utilities;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Lenovo;C:\Program Files\ThinkPad\ConnectUtilities

요렇게 적용 해주고 Endeca HTTP Server 재기동 ... ㅎㅎ


이번에 poc 장비로 lenovo를 회사에서 구입했는데 이런 생각치도 못한 lenovo만의 문제가 있을 줄이야.. --_-;

여튼 아프로 또 이런 유사한 문제가 생기면 역시 로그를... ㅋㅋ


+ Recent posts