2012-06-21 2 views
0

웹 서비스가 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

답변

0

스키마의 네임 스페이스가 충분히 솔직한 때문에, WSDL의 네임 스페이스와 일치하는지 확인 내가조차 때문에 Axis2를 사용의 생각처럼 할 이렇게 많은 문제가 있습니다 .. 어쨌든 xsd의 네임 스페이스를 wsdl의 네임 스페이스와 일치시켜보고 요청과 응답의 모든 이름이 유사한 지 확인하십시오.

+0

나는 네임 스페이스 문제를 안다. 나는 생성 된 코드에서 그것을 볼 수 있지만 어떻게 고칠 수 있는가? – SJunejo

관련 문제