You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Sergey Beryozkin (JIRA)" <ji...@apache.org> on 2009/03/03 12:00:57 UTC

[jira] Resolved: (CXF-1949) Interface order requires javax.jws before javax.ws.rs

     [ https://issues.apache.org/jira/browse/CXF-1949?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sergey Beryozkin resolved CXF-1949.
-----------------------------------

       Resolution: Fixed
    Fix Version/s: 2.1.4
                   2.2

I believe it's been fixed but please reopen the issue in case you find that the order of interfaces still makes the difference.

> Interface order requires javax.jws before javax.ws.rs
> -----------------------------------------------------
>
>                 Key: CXF-1949
>                 URL: https://issues.apache.org/jira/browse/CXF-1949
>             Project: CXF
>          Issue Type: Bug
>          Components: JAX-WS Runtime, REST, Soap Binding
>    Affects Versions: 2.1.3
>         Environment: Windows XP Pro, sp3; Sun JDK 1.5.0_16
>            Reporter: morgan rachell
>            Priority: Minor
>             Fix For: 2.2, 2.1.4
>
>
> I created a class that implements two interfaces - one exposes RESTful services, and another exposes web services. If the web service interface is listed first, then the RESTful operations fail with the error below. If the REST interface is listed first, then there is no problem.
> For example, if I have two interfaces: first a REST, then a web service:
> // RESTful service interface
> @ProduceMime("application/json")
> @ConsumeMime("application/json")
> @Path("/myRestService")
> public interface MyRESTService {
> 	  @GET
> 	  public MyResponse getAll();
> }
> // WebService interface
> @WebService(targetNamespace = "a.b.c.d")
> public interface MySOAPService {
> 	@WebMethod
> 	public MyResponse getAll();
> }
> Then I have a simple class that implements both interfaces showing the web service interface listed first. This class def causes the error below.
> public class MyClass implements MySOAPService, MyRESTService{
> 	public MyResponse getAll(){ ... }
> }
> If you change the class def to the following, then there is no error.
> public class MyClass implements MyRESTService, MySOAPService{
> 	public MyResponse getAll(){ ... }
> }
> 11:07:07,453 ERROR [STDERR] Dec 18, 2008 11:07:07 AM org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor processRequest
> SEVERE: .No operation matching request path /activityTypeService/ is found, ContentType : */*, Accept : application/json
> , text/javascript, */*.
> 11:07:07,468 ERROR [STDERR] Dec 18, 2008 11:07:07 AM org.apache.cxf.phase.PhaseInterceptorChain doIntercept
> INFO: Interceptor has thrown exception, unwinding now
> org.apache.cxf.interceptor.Fault: .No operation matching request path /activityTypeService/ is found, ContentType : */*,
>  Accept : application/json, text/javascript, */*.
>         at org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.processRequest(JAXRSInInterceptor.java:195)
>         at org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.handleMessage(JAXRSInInterceptor.java:65)
>         at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:220)
>         at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:78)
>         at org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestination.java:92)
>         at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:285)
>         at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:131)
>         at org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServlet.java:175)
>         at org.apache.cxf.transport.servlet.AbstractCXFServlet.doGet(AbstractCXFServlet.java:157)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>         at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:359)
>         at org.springframework.security.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:10
> 9)
>         at org.springframework.security.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:
> 83)
>         at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371)
>         at org.springframework.security.ui.ExceptionTranslationFilter.doFilterHttp(ExceptionTranslationFilter.java:101)
>         at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
>         at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371)
>         at org.springframework.security.wrapper.SecurityContextHolderAwareRequestFilter.doFilterHttp(SecurityContextHold
> erAwareRequestFilter.java:91)
>         at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
>         at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371)
>         at org.springframework.security.ui.AbstractProcessingFilter.doFilterHttp(AbstractProcessingFilter.java:268)
>         at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
>         at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371)
>         at org.springframework.security.ui.logout.LogoutFilter.doFilterHttp(LogoutFilter.java:87)
>         at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
>         at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371)
>         at org.springframework.security.ui.SessionFixationProtectionFilter.doFilterHttp(SessionFixationProtectionFilter.
> java:61)
>         at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
>         at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371)
>         at org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextInteg
> rationFilter.java:235)
>         at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
>         at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371)
>         at org.springframework.security.concurrent.ConcurrentSessionFilter.doFilterHttp(ConcurrentSessionFilter.java:97)
>         at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
>         at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371)
>         at org.springframework.security.util.FilterChainProxy.doFilter(FilterChainProxy.java:174)
>         at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:236)
>         at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>         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:230)
>         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
>         at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
>         at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
>         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:157)
>         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
>         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
>         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
>         at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
>         at java.lang.Thread.run(Thread.java:595)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.