Axis2를 사용하여 웹 서비스 클라이언트 연결을 만들려고합니다. UserameToken을 설정하려면 PasswordCallBack을 사용해야합니다. 여기 ClassNotFoundException Axis2 구성 파일을 읽는 중
ConfigurationContext ctx = ConfigurationContextFactory.createConfigurationContextFromFileSystem("src/main/resources/axis", "src/main/resources/axis/conf/axis2.xml");
TransactionProcessorStub stub = new TransactionProcessorStub(ctx, SERVER_URL);
ServiceClient client = stub._getServiceClient();
Options clientOptions = client.getOptions();
clientOptions.setProperty(WSHandlerConstants.USER, request.getMerchantID());
내 conf의 구조입니다 : 여기
내 클라이언트 코드와 axis2.xml 내에서 내가
javaranch
에서 샘플을 사용하여 내 비밀번호 콜백을 설정
다음은 코드 스 니펫입니다.<phaseOrder type="InFlow">
<!-- System pre-defined phases -->
<phase name="Transport">
<handler name="RequestURIBasedDispatcher"
class="org.apache.axis2.engine.RequestURIBasedDispatcher">
<order phase="Transport"/>
</handler>
<handler name="SOAPActionBasedDispatcher"
class="org.apache.axis2.engine.SOAPActionBasedDispatcher">
<order phase="Transport"/>
</handler>
</phase>
<phase name="Security"/>
<phase name="PreDispatch"/>
<phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
<handler name="AddressingBasedDispatcher"
class="org.apache.axis2.engine.AddressingBasedDispatcher">
<order phase="Dispatch"/>
</handler>
<handler name="SOAPMessageBodyBasedDispatcher"
class="org.apache.axis2.engine.SOAPMessageBodyBasedDispatcher">
<order phase="Dispatch"/>
</handler>
<handler name="InstanceDispatcher"
class="org.apache.axis2.engine.InstanceDispatcher">
<order phase="Dispatch"/>
</handler>
</phase>
<!-- System pre defined phases -->
<!-- After Postdispatch phase module author or or service author can add any phase he want -->
<phase name="OperationInPhase"/>
</phaseOrder>
나는 Maven을 사용하여 클라이언트 코드를 생성하는데 모든 것이 잘 진행되고있다.
ConfigurationContextFactory.createConfigurationContextFromFileSystem ("SRC/메인/자원/축", "SRC/메인/자원/축/conf의/axis2.xml : 응용 프로그램이 줄 ConfigurationContext을 만들려고 할 때
문제는 ");
나는 다음과 같이 ClassNotFoundException가 얻을 :
org.apache.axis2.deployment.DeploymentException : org.apache.axis2.deployment.util.Utils에서 org.apache.axis2.engine.RequestURIBasedDispatcher. org.apache.axis2.deployment.AxisConfigBuilder.processPhaseOrders (AxisConfigBuilder.java:606) 에서 loadHandler org.apache.axis2.deployment.AxisConfigBuilder.processPhaseList (AxisConfigBuilder.java:575)에서 (Utils.java:147) at org.apache.axis2.deployment.AxisConfigBuilder.populateConfig (AxisConfig org.apache.axis2.deployment.DeploymentEngine.populateAxisConfiguration org.apache.axis2.deployment.FileSystemConfigurator.getAxisConfiguration (FileSystemConfigurator.java:116에서 (DeploymentEngine.java:629) ) 에서의 Builder.java:149) au.com.jaycar.gateway에서 org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContext org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContextFromFileSystem (ConfigurationContextFactory.java:210)에서 (ConfigurationContextFactory.java:64) .cybersourceClient.Sample.main (Sample.java:96) 발생 원인 : java.lang.ClassNotFoundException : org.apache.ax sun.misc.Launcher $ AppClassLoader.loadClass에서 java.lang.ClassLoader.loadClass (ClassLoader.java:424)에서 java.net.URLClassLoader.findClass (URLClassLoader.java:381)에서 is2.engine.RequestURIBasedDispatcher (실행기 .java : 335) at 에있는 java.lang.ClassLoader.loadClass (ClassLoader.java:357) 의 java.lang.Class.forName0 (기본 메소드) java.lang.Class.forName (Class.java:264) org.apache.axis2.util.Loader.loadClass (Loader.java:261) org.apache.axis2.util.Loader.loadClass (Loader.java:229)에서 org.apache.axis2.deployment. util.Utils.loadHandler (Utils.java:114) ...8 이상
라이브러리 또는 구성이 누락 된 것일 수 있습니다. 필자는 그것이 필자의 maven 의존성에있는 axis2-kernel에 있다고 확신하기 때문에, 그렇지 않으면 소스 코드는 컴파일되지 않을 것이다.
구성 또는 클래스 경로에 문제가 있습니까?