2013-02-08 2 views
0

사용자 정의 전자 메일 알림을 추가하려면이 link에 나열된 예제를 따르고 있습니다. 내 받는다는 프로젝트 '에는 RegistryService'에서WSO2 거버넌스 레지스트리 - 서비스 알림 추가

: 나는 EmailTransformHandler를 생성하고 에는 RegistryService-0.1.jar를 만들 받는다는을 사용했다. 또한 핸들러 추가하여 GREG_HOME/repository/conf/axis2/axis2.xml 수정 :

<handler name="EmailTransformHandler" 
       class="com.registration.example.service.EmailTransformHandler"/> 

GREG_HOME/repository/components/dropins

package com.registration.example.service; 

import java.util.ArrayList; 

import org.apache.axiom.om.OMElement; 
import org.apache.axiom.om.xpath.AXIOMXPath; 
import org.apache.axiom.soap.SOAPEnvelope; 
import org.apache.axis2.AxisFault; 
import org.apache.axis2.context.MessageContext; 
import org.apache.axis2.engine.Handler; 
import org.apache.axis2.handlers.AbstractHandler; 

public class EmailTransformHandler extends AbstractHandler implements Handler { 

    private String name; 

    public String getName() { 
     return name; 
    } 

    @Override 
    public InvocationResponse invoke(MessageContext msgContext) throws AxisFault { 
     if (msgContext.getTo() != null && msgContext.getTo().getAddress().startsWith("mailto:")) { 
      try { 
       SOAPEnvelope env = msgContext.getEnvelope(); 
       AXIOMXPath xPath = new AXIOMXPath("//ns:text"); 
       xPath.addNamespace("ns", "registry_example"); 
       OMElement element = (OMElement) ((ArrayList) xPath.evaluate(env)).get(0); 
       element.setText(element.getText().replace("--", "This message intercepted by Terminator")); 

      } catch (Exception e) { 
       e.printStackTrace(); 
      } 
     } 
     return InvocationResponse.CONTINUE; 
    } 

} 

나는 GREG_HOME/빈에 가서 내가 예외를 다음받을 서버를 시작으로하여 RegistryService-0.1.jar 하락 : 내가 놓친 게 무엇 구성

2013-02-08 12:05:00,952] FATAL {org.wso2.carbon.core.init.CarbonServerManager} - WSO2 Carbon initialization Failed 
org.apache.axis2.AxisFault: Exception occured while loading the Axis configuration from GREG_HOME/wso2/wso2greg-4.5.3/repository/conf/axis2/axis2.xml 
    at org.wso2.carbon.core.CarbonAxisConfigurator.getAxisConfiguration(CarbonAxisConfigurator.java:190) 
    at org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContext(ConfigurationContextFactory.java:64) 
    at org.wso2.carbon.core.CarbonConfigurationContextFactory.createNewConfigurationContext(CarbonConfigurationContextFactory.java:65) 
    at org.wso2.carbon.core.init.CarbonServerManager.initializeCarbon(CarbonServerManager.java:398) 
    at org.wso2.carbon.core.init.CarbonServerManager.removePendingItem(CarbonServerManager.java:290) 
    at org.wso2.carbon.core.init.PreAxis2ConfigItemListener.bundleChanged(PreAxis2ConfigItemListener.java:118) 
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:847) 
    at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) 
    at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340) 
Caused by: org.apache.axis2.deployment.DeploymentException: com.registration.example.service.EmailTransformHandler 
    at org.apache.axis2.deployment.util.Utils.loadHandler(Utils.java:149) 
    at org.apache.axis2.deployment.AxisConfigBuilder.processPhaseList(AxisConfigBuilder.java:549) 
    at org.apache.axis2.deployment.AxisConfigBuilder.processPhaseOrders(AxisConfigBuilder.java:584) 
    at org.apache.axis2.deployment.AxisConfigBuilder.populateConfig(AxisConfigBuilder.java:150) 
    at org.wso2.carbon.core.CarbonAxisConfigurator.populateAxisConfiguration(CarbonAxisConfigurator.java:308) 
    at org.wso2.carbon.core.CarbonAxisConfigurator.getAxisConfiguration(CarbonAxisConfigurator.java:188) 
    ... 8 more 
Caused by: java.lang.ClassNotFoundException: com.registration.example.service.EmailTransformHandler 
    at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:513) 
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:429) 
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:417) 
    at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247) 
    at java.lang.Class.forName0(Native Method) 
    at java.lang.Class.forName(Class.java:169) 
    at org.apache.axis2.util.Loader.loadClass(Loader.java:261) 
    at org.apache.axis2.util.Loader.loadClass(Loader.java:229) 
    at org.apache.axis2.deployment.util.Utils.loadHandler(Utils.java:116) 
    ... 13 more 

? 이 오류에 대한 인터넷 검색은 관련된 결과를 산출하지 않습니다 (러시아 포럼 중 일부는 제외). 확장으로 WSO2 관리 콘솔을 통해 항아리를 추가하려고 시도했지만, 여전히이 예외가 발생합니다.

답변

0

오류에 따르면 RegistryService-0.1.jar이 클래스 경로에 올바르게 설정되어 있지 않습니다. jar 파일이 OSGI 번들이 아니고 jar 파일이 "GREG_HOME/repository/components/lib"디렉토리에 있어야합니다.

-ajith

관련 문제