웹 서비스가 axis2로 작성되었습니다. 또한, 빌드 할 때 내 클래스 (배치 된 서비스 아님)에서 WSDL을 생성하기 위해 axis2에서 제공하는 Java2WSDL 유틸리티를 사용했습니다.Axis2 배치 된 웹 서비스와 생성 된 서비스 WSDL의 차이점
그런 다음 Java EE Application Server의 배포 된 웹 서비스와 생성 된 WSDL 파일 모두에 대해 wsimport를 통해 클라이언트를 생성했습니다. 문제는 생성 된 코드가 패키지 및 mamespaces 측면에서 다르다는 것이고 WSDL 파일에서 생성 된 클라이언트가 네임 스페이스 불일치에 대해 불평 할 때 작동하지 않는다는 것입니다.
13:46:04,524 ERROR [RPCMessageReceiver] Exception occurred while trying to invoke service method getLanguage
org.apache.axis2.AxisFault: namespace mismatch require http://CustomerServiceWs found http://customer.webservices.temenos.com
at org.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass(RPCUtil.java:177)
at org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic(RPCMessageReceiver.java:102)
at org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java:40)
at org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:114)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:173)
at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:173)
at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:144)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
클래스 파일에서 내 WSDL 파일을 생성하려면 다음 명령을 사용했습니다.
java2wsdl.bat -o C:\Temp -tn http://CustomerServiceWs -cn com.temenos.webservices.customer.CustomerServiceWS
이 문제를 해결하거나 더 나은 방법으로이 문제를 해결할 수 있도록 도와주십시오.
감사합니다,
-
Sjunejo
나는 네임 스페이스 문제를 안다. 나는 생성 된 코드에서 그것을 볼 수 있지만 어떻게 고칠 수 있는가? – SJunejo