You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@servicemix.apache.org by "Christian Connert (JIRA)" <ji...@apache.org> on 2009/09/28 10:17:52 UTC

[jira] Created: (SM-1900) servicemix-cxf-bc componet can't locate services

servicemix-cxf-bc componet can't locate services
------------------------------------------------

                 Key: SM-1900
                 URL: https://issues.apache.org/activemq/browse/SM-1900
             Project: ServiceMix
          Issue Type: Bug
          Components: servicemix-cxf-bc
    Affects Versions: 3.3.1
         Environment: OS: Linux chriNB 2.6.24-24-generic #1 SMP Fri Jul 24 22:46:06 UTC 2009 i686 GNU/Linux

JAVA:
java version "1.6.0_14"
Java(TM) SE Runtime Environment (build 1.6.0_14-b08)
Java HotSpot(TM) Server VM (build 14.0-b16, mixed mode)

Server:
apache-tomcat-6.0.14

            Reporter: Christian Connert
         Attachments: cxf.xml, TomcatDestinationFactory.java

The servicemix-cxf-bc doesn't work inside a Tomcat server.

The problem is that the service destinations aren't found by the destination factory.
I think this problem isn't Tomcat specific. It should occur if servicemix is deployed as a war inside some application server.
I would suggest the following fix:

1.) Implement a ServletTransportFactory (see attachment 1)
2.) Register this ServletTransportFactory in the default cxf.xml (classpath root, see attachment 2)

It's important to note that one needs to configure the CXF default bus with org.apache.servicemix.web.cxf.CXFManagedServlet.
If one uses the spring based CXF configuration method, the servicemix-cxf-bc and the servlet will have different application contexts and thus it won't work.

Kind regrades

Christian

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


[jira] Assigned: (SM-1900) servicemix-cxf-bc componet can't locate services

Posted by "Freeman Fang (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/activemq/browse/SM-1900?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Freeman Fang reassigned SM-1900:
--------------------------------

    Assignee: Freeman Fang

> servicemix-cxf-bc componet can't locate services
> ------------------------------------------------
>
>                 Key: SM-1900
>                 URL: https://issues.apache.org/activemq/browse/SM-1900
>             Project: ServiceMix
>          Issue Type: Bug
>          Components: servicemix-cxf-bc
>    Affects Versions: 3.3.1
>         Environment: OS: Linux chriNB 2.6.24-24-generic #1 SMP Fri Jul 24 22:46:06 UTC 2009 i686 GNU/Linux
> JAVA:
> java version "1.6.0_14"
> Java(TM) SE Runtime Environment (build 1.6.0_14-b08)
> Java HotSpot(TM) Server VM (build 14.0-b16, mixed mode)
> Server:
> apache-tomcat-6.0.14
>            Reporter: Christian Connert
>            Assignee: Freeman Fang
>         Attachments: cxf.xml, TomcatDestinationFactory.java
>
>
> The servicemix-cxf-bc doesn't work inside a Tomcat server.
> The problem is that the service destinations aren't found by the destination factory.
> I think this problem isn't Tomcat specific. It should occur if servicemix is deployed as a war inside some application server.
> I would suggest the following fix:
> 1.) Implement a ServletTransportFactory (see attachment 1)
> 2.) Register this ServletTransportFactory in the default cxf.xml (classpath root, see attachment 2)
> It's important to note that one needs to configure the CXF default bus with org.apache.servicemix.web.cxf.CXFManagedServlet.
> If one uses the spring based CXF configuration method, the servicemix-cxf-bc and the servlet will have different application contexts and thus it won't work.
> Kind regrades
> Christian

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


[jira] Commented: (SM-1900) servicemix-cxf-bc componet can't locate services

Posted by "Freeman Fang (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/activemq/browse/SM-1900?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=54546#action_54546 ] 

Freeman Fang commented on SM-1900:
----------------------------------

Hi Christian,

Thanks for the patch
But I believe SM-1756 already fix this issue, the org.apache.servicemix.web.cxf.CXFManagedServlet will always grap bus used in cxf-bc and do the servlet transport replace and register there.

Do you see any problem when you work with 3.3.1? 

Freeman

> servicemix-cxf-bc componet can't locate services
> ------------------------------------------------
>
>                 Key: SM-1900
>                 URL: https://issues.apache.org/activemq/browse/SM-1900
>             Project: ServiceMix
>          Issue Type: Bug
>          Components: servicemix-cxf-bc
>    Affects Versions: 3.3.1
>         Environment: OS: Linux chriNB 2.6.24-24-generic #1 SMP Fri Jul 24 22:46:06 UTC 2009 i686 GNU/Linux
> JAVA:
> java version "1.6.0_14"
> Java(TM) SE Runtime Environment (build 1.6.0_14-b08)
> Java HotSpot(TM) Server VM (build 14.0-b16, mixed mode)
> Server:
> apache-tomcat-6.0.14
>            Reporter: Christian Connert
>            Assignee: Freeman Fang
>         Attachments: cxf.xml, TomcatDestinationFactory.java
>
>
> The servicemix-cxf-bc doesn't work inside a Tomcat server.
> The problem is that the service destinations aren't found by the destination factory.
> I think this problem isn't Tomcat specific. It should occur if servicemix is deployed as a war inside some application server.
> I would suggest the following fix:
> 1.) Implement a ServletTransportFactory (see attachment 1)
> 2.) Register this ServletTransportFactory in the default cxf.xml (classpath root, see attachment 2)
> It's important to note that one needs to configure the CXF default bus with org.apache.servicemix.web.cxf.CXFManagedServlet.
> If one uses the spring based CXF configuration method, the servicemix-cxf-bc and the servlet will have different application contexts and thus it won't work.
> Kind regrades
> Christian

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


[jira] Updated: (SM-1900) servicemix-cxf-bc componet can't locate services

Posted by "Christian Connert (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/activemq/browse/SM-1900?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Christian Connert updated SM-1900:
----------------------------------

    Comment: was deleted

(was: Hi Freeman,

Sorry for the late reply but i was rather busy.

I'm and was working 3.3.1. I think that the problem isn't related to SM-1756 because it uses the servlet transport but the static method getTrimmedPath (which only removes http(s)://localhost/ prefixes) of CXF ServletTransportFacotry doesn't respects deployment inside web application. It's indirectly called by the ServletController (getDestinationForPath) with the (HttpServlertRequest) request.getPathInfo() which is only the additional request path (e.g.: /someService), without any web app prefix. But the getDestination(EndpointInfo endpointInfo) use the soap address of the wsdl e.g.(http://localhost:8080/SomeApp/services/someService).

I hope this helps.

Christian


)

> servicemix-cxf-bc componet can't locate services
> ------------------------------------------------
>
>                 Key: SM-1900
>                 URL: https://issues.apache.org/activemq/browse/SM-1900
>             Project: ServiceMix
>          Issue Type: Bug
>          Components: servicemix-cxf-bc
>    Affects Versions: 3.3.1
>         Environment: OS: Linux chriNB 2.6.24-24-generic #1 SMP Fri Jul 24 22:46:06 UTC 2009 i686 GNU/Linux
> JAVA:
> java version "1.6.0_14"
> Java(TM) SE Runtime Environment (build 1.6.0_14-b08)
> Java HotSpot(TM) Server VM (build 14.0-b16, mixed mode)
> Server:
> apache-tomcat-6.0.14
>            Reporter: Christian Connert
>            Assignee: Freeman Fang
>         Attachments: cxf.xml, TomcatDestinationFactory.java
>
>
> The servicemix-cxf-bc doesn't work inside a Tomcat server.
> The problem is that the service destinations aren't found by the destination factory.
> I think this problem isn't Tomcat specific. It should occur if servicemix is deployed as a war inside some application server.
> I would suggest the following fix:
> 1.) Implement a ServletTransportFactory (see attachment 1)
> 2.) Register this ServletTransportFactory in the default cxf.xml (classpath root, see attachment 2)
> It's important to note that one needs to configure the CXF default bus with org.apache.servicemix.web.cxf.CXFManagedServlet.
> If one uses the spring based CXF configuration method, the servicemix-cxf-bc and the servlet will have different application contexts and thus it won't work.
> Kind regrades
> Christian

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


[jira] Reopened: (SM-1900) servicemix-cxf-bc componet can't locate services

Posted by "Christian Connert (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/activemq/browse/SM-1900?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Christian Connert reopened SM-1900:
-----------------------------------


Hi Freeman,

Sorry for the late reply but i was rather busy.

I'm and was working 3.3.1. I think that the problem isn't related to SM-1756 because it uses the servlet transport but the static method getTrimmedPath (which only removes http(s)://localhost/ prefixes) of CXF ServletTransportFacotry doesn't respects deployment inside web application. It's indirectly called by the ServletController (getDestinationForPath) with the (HttpServlertRequest) request.getPathInfo() which is only the additional request path (e.g.: /someService), without any web app prefix. But the getDestination(EndpointInfo endpointInfo) use the soap address of the wsdl e.g.(http://localhost:8080/SomeApp/services/someService).

I hope this helps.

Christian


> servicemix-cxf-bc componet can't locate services
> ------------------------------------------------
>
>                 Key: SM-1900
>                 URL: https://issues.apache.org/activemq/browse/SM-1900
>             Project: ServiceMix
>          Issue Type: Bug
>          Components: servicemix-cxf-bc
>    Affects Versions: 3.3.1
>         Environment: OS: Linux chriNB 2.6.24-24-generic #1 SMP Fri Jul 24 22:46:06 UTC 2009 i686 GNU/Linux
> JAVA:
> java version "1.6.0_14"
> Java(TM) SE Runtime Environment (build 1.6.0_14-b08)
> Java HotSpot(TM) Server VM (build 14.0-b16, mixed mode)
> Server:
> apache-tomcat-6.0.14
>            Reporter: Christian Connert
>            Assignee: Freeman Fang
>         Attachments: cxf.xml, TomcatDestinationFactory.java
>
>
> The servicemix-cxf-bc doesn't work inside a Tomcat server.
> The problem is that the service destinations aren't found by the destination factory.
> I think this problem isn't Tomcat specific. It should occur if servicemix is deployed as a war inside some application server.
> I would suggest the following fix:
> 1.) Implement a ServletTransportFactory (see attachment 1)
> 2.) Register this ServletTransportFactory in the default cxf.xml (classpath root, see attachment 2)
> It's important to note that one needs to configure the CXF default bus with org.apache.servicemix.web.cxf.CXFManagedServlet.
> If one uses the spring based CXF configuration method, the servicemix-cxf-bc and the servlet will have different application contexts and thus it won't work.
> Kind regrades
> Christian

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


[jira] Resolved: (SM-1900) servicemix-cxf-bc componet can't locate services

Posted by "Freeman Fang (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/activemq/browse/SM-1900?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Freeman Fang resolved SM-1900.
------------------------------

    Resolution: Duplicate

> servicemix-cxf-bc componet can't locate services
> ------------------------------------------------
>
>                 Key: SM-1900
>                 URL: https://issues.apache.org/activemq/browse/SM-1900
>             Project: ServiceMix
>          Issue Type: Bug
>          Components: servicemix-cxf-bc
>    Affects Versions: 3.3.1
>         Environment: OS: Linux chriNB 2.6.24-24-generic #1 SMP Fri Jul 24 22:46:06 UTC 2009 i686 GNU/Linux
> JAVA:
> java version "1.6.0_14"
> Java(TM) SE Runtime Environment (build 1.6.0_14-b08)
> Java HotSpot(TM) Server VM (build 14.0-b16, mixed mode)
> Server:
> apache-tomcat-6.0.14
>            Reporter: Christian Connert
>            Assignee: Freeman Fang
>         Attachments: cxf.xml, TomcatDestinationFactory.java
>
>
> The servicemix-cxf-bc doesn't work inside a Tomcat server.
> The problem is that the service destinations aren't found by the destination factory.
> I think this problem isn't Tomcat specific. It should occur if servicemix is deployed as a war inside some application server.
> I would suggest the following fix:
> 1.) Implement a ServletTransportFactory (see attachment 1)
> 2.) Register this ServletTransportFactory in the default cxf.xml (classpath root, see attachment 2)
> It's important to note that one needs to configure the CXF default bus with org.apache.servicemix.web.cxf.CXFManagedServlet.
> If one uses the spring based CXF configuration method, the servicemix-cxf-bc and the servlet will have different application contexts and thus it won't work.
> Kind regrades
> Christian

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


[jira] Updated: (SM-1900) servicemix-cxf-bc componet can't locate services

Posted by "Christian Connert (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/activemq/browse/SM-1900?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Christian Connert updated SM-1900:
----------------------------------

    Attachment: TomcatDestinationFactory.java
                cxf.xml

> servicemix-cxf-bc componet can't locate services
> ------------------------------------------------
>
>                 Key: SM-1900
>                 URL: https://issues.apache.org/activemq/browse/SM-1900
>             Project: ServiceMix
>          Issue Type: Bug
>          Components: servicemix-cxf-bc
>    Affects Versions: 3.3.1
>         Environment: OS: Linux chriNB 2.6.24-24-generic #1 SMP Fri Jul 24 22:46:06 UTC 2009 i686 GNU/Linux
> JAVA:
> java version "1.6.0_14"
> Java(TM) SE Runtime Environment (build 1.6.0_14-b08)
> Java HotSpot(TM) Server VM (build 14.0-b16, mixed mode)
> Server:
> apache-tomcat-6.0.14
>            Reporter: Christian Connert
>         Attachments: cxf.xml, TomcatDestinationFactory.java
>
>
> The servicemix-cxf-bc doesn't work inside a Tomcat server.
> The problem is that the service destinations aren't found by the destination factory.
> I think this problem isn't Tomcat specific. It should occur if servicemix is deployed as a war inside some application server.
> I would suggest the following fix:
> 1.) Implement a ServletTransportFactory (see attachment 1)
> 2.) Register this ServletTransportFactory in the default cxf.xml (classpath root, see attachment 2)
> It's important to note that one needs to configure the CXF default bus with org.apache.servicemix.web.cxf.CXFManagedServlet.
> If one uses the spring based CXF configuration method, the servicemix-cxf-bc and the servlet will have different application contexts and thus it won't work.
> Kind regrades
> Christian

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


[jira] Commented: (SM-1900) servicemix-cxf-bc componet can't locate services

Posted by "Christian Connert (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/activemq/browse/SM-1900?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=54847#action_54847 ] 

Christian Connert commented on SM-1900:
---------------------------------------

Hi Freeman,

Sorry for the late reply but i was rather busy.

I'm and was working 3.3.1. I think that the problem isn't related to SM-1756 because it uses the servlet transport but the static method getTrimmedPath (which only removes http(s)://localhost/ prefixes) of CXF ServletTransportFacotry doesn't respects deployment inside web application. It's indirectly called by the ServletController (getDestinationForPath) with the (HttpServlertRequest) request.getPathInfo() which is only the additional request path (e.g.: /someService), without any web app prefix. But the getDestination(EndpointInfo endpointInfo) use the soap address of the wsdl e.g.(http://localhost:8080/SomeApp/services/someService).

I hope this helps.

Christian




> servicemix-cxf-bc componet can't locate services
> ------------------------------------------------
>
>                 Key: SM-1900
>                 URL: https://issues.apache.org/activemq/browse/SM-1900
>             Project: ServiceMix
>          Issue Type: Bug
>          Components: servicemix-cxf-bc
>    Affects Versions: 3.3.1
>         Environment: OS: Linux chriNB 2.6.24-24-generic #1 SMP Fri Jul 24 22:46:06 UTC 2009 i686 GNU/Linux
> JAVA:
> java version "1.6.0_14"
> Java(TM) SE Runtime Environment (build 1.6.0_14-b08)
> Java HotSpot(TM) Server VM (build 14.0-b16, mixed mode)
> Server:
> apache-tomcat-6.0.14
>            Reporter: Christian Connert
>            Assignee: Freeman Fang
>         Attachments: cxf.xml, TomcatDestinationFactory.java
>
>
> The servicemix-cxf-bc doesn't work inside a Tomcat server.
> The problem is that the service destinations aren't found by the destination factory.
> I think this problem isn't Tomcat specific. It should occur if servicemix is deployed as a war inside some application server.
> I would suggest the following fix:
> 1.) Implement a ServletTransportFactory (see attachment 1)
> 2.) Register this ServletTransportFactory in the default cxf.xml (classpath root, see attachment 2)
> It's important to note that one needs to configure the CXF default bus with org.apache.servicemix.web.cxf.CXFManagedServlet.
> If one uses the spring based CXF configuration method, the servicemix-cxf-bc and the servlet will have different application contexts and thus it won't work.
> Kind regrades
> Christian

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