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/03/24 18:56:51 UTC

[jira] Assigned: (CXF-2117) method AnnotationHandlerChainBuilder.patternMatches() causes CXF portability issues with other JAX-WS stacks

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

Daniel Kulp reassigned CXF-2117:
--------------------------------

    Assignee: Daniel Kulp

> method AnnotationHandlerChainBuilder.patternMatches() causes CXF portability issues with other JAX-WS stacks
> ------------------------------------------------------------------------------------------------------------
>
>                 Key: CXF-2117
>                 URL: https://issues.apache.org/jira/browse/CXF-2117
>             Project: CXF
>          Issue Type: Bug
>    Affects Versions: 2.1.4
>            Reporter: Richard Opalka
>            Assignee: Daniel Kulp
>             Fix For: 2.1.5, 2.2.1
>
>
> If I have config like this:
> <handler-chains xmlns="http://java.sun.com/xml/ns/javaee"
>   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>   xmlns:ns1="http://org.jboss.ws/jaxws/samples/logicalhandler"
>   xsi:schemaLocation="http://java.sun.com/xml/ns/javaee javaee_web_services_1_2.xsd">
>   <handler-chain>
>     <port-name-pattern>ns1:SOAPEndpoint*</port-name-pattern>
> 		<handler>
> 			<handler-name> PortClientHandler </handler-name>
> 			<handler-class> org.jboss.test.ws.jaxws.samples.logicalhandler.PortHandler </handler-class>
> 		</handler>
>     </handler-chain>
>   
> </handler-chains>
> the port-name-pattern matches e.g. SOAPEndpointDocPort on JBoss, Glassfish, Websphere but not on Geronimo.
> The relevant piece of code is:
>  private boolean patternMatches(Element el, QName comp) {
>    ...
>         if (localPart.contains("*")) {
>             //wildcard pattern matching
>             return Pattern.matches(localPart, comp.getLocalPart()); // PROBLEMATIC PART HERE
>         } else if (!localPart.equals(comp.getLocalPart())) {
>             return false;
>         }
>         return true;
>     }
> The problem is:
> Pattern.matches("SOAPEndpoint*", "SOAPEndpointDocPort") returns false // CXF expects. SOAPEndpoint.* as wildcard which is not portable cross different APP servers
> Consider fix that will match it, please.

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