You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Daniel Kulp (JIRA)" <ji...@apache.org> on 2009/10/06 23:32:31 UTC

[jira] Resolved: (CXF-2301) If a service is published with escaped address, it cannot be accessed from the service location in the WSDL.

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

Daniel Kulp resolved CXF-2301.
------------------------------

       Resolution: Fixed
    Fix Version/s: 2.2.4
                   2.1.7
         Assignee: Daniel Kulp

> If a service is published with escaped address, it cannot be accessed from the service location in the WSDL.
> ------------------------------------------------------------------------------------------------------------
>
>                 Key: CXF-2301
>                 URL: https://issues.apache.org/jira/browse/CXF-2301
>             Project: CXF
>          Issue Type: Bug
>          Components: Transports
>    Affects Versions: 2.1.3
>         Environment: Windows XP SP3, JDK 1.5.0_06
>            Reporter: Tong Wang
>            Assignee: Daniel Kulp
>             Fix For: 2.1.7, 2.2.4
>
>
> I publish web services to Tomcat following the guide at
> http://cwiki.apache.org/CXF20DOC/servlet-transport.html.
> There is an example,
> Endpoint.publish("/Greeter", new GreeterImpl());
> If the address contains invalid characters, it need to be escaped.
> For example,
> Endpoint.publish("/Greet%20er", new GreeterImpl());
> And in the WSDL, the service location should be
> <soap:address location="http://localhost:9090/context/Greet%20er" />
> I test it with CXF 2.1.3 and the result is as follows.
> 1. When we publish a service, a destination (org.apache.cxf.transport.servlet.ServletDestination) is registered with the address as a key.
> For example, Endpoint.publish("/Greet%20er", new GreeterImpl());
> The key will be "/Greet%20er".
> 2. The service location in the WSDL is the same as the address when we publish the service.
> For example, Endpoint.publish("/Greet%20er", new GreeterImpl());
> The service location in the WSDL will be <soap:address location="http://localhost:9090/context/Greet%20er" />
> 3. When we invoke the service, we will get the destination by the key, which is request.getPathInfo().
> For example, if we open url "http://localhost:9090/context/Greet%20er"
> The key will be "/Greet er". So we cannot get the correct destination which was registered with key "/Greet%20er".
> 1 and 2 are correct and 3 is the problem.

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