[ 
https://issues.apache.org/jira/browse/CAMEL-4405?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13095721#comment-13095721
 ] 

Hadrian Zbarcea commented on CAMEL-4405:
----------------------------------------

@Willem, as per the [wsdl spec|http://www.w3.org/TR/wsdl#_ports], the port 
@name is an 'nmtoken' not a 'qname'. Being part of a service it shares its 
namespace. Does CXF interpret this differently?

Even if that were the case, we'd define two parameters then, something like 
serviceNamespace, and endpointNamespace, as you suggest, so it's not a biggie.

I agree we need to support the current way, flawed as it is until 3.0 and I 
agree with the suggestion to fix and deprecate. I will not comment on the 
reason why we didn't catch it until now, I am as guilty as anyone.

We can expect URIs to be UTF-8 encoded. Supporting other encodings would be a 
feature we could consider for the future, but I am not too worried about that 
now. If a URI not properly encoded is passed now, it's a toss up. After looking 
into the details of the code I can give examples that are invalid, yet work, 
and I can give examples that fail miserably (without even an clear explanation 
of what went wrong). It's fixable though in a few ways and I think I have a 
solution.


> Invalid URIs used by camel-cxf
> ------------------------------
>
>                 Key: CAMEL-4405
>                 URL: https://issues.apache.org/jira/browse/CAMEL-4405
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-cxf
>    Affects Versions: 2.8.0
>            Reporter: Hadrian Zbarcea
>            Assignee: Hadrian Zbarcea
>            Priority: Critical
>             Fix For: 2.9.0
>
>
> This is a nasty one.
> We currently support URIs of the following form in camel-cxf:
> {code}
> "cxf://http://localhost:9000/CxfEndpointTest/helloworld?wsdlURL=classpath:person.wsdl&serviceName={http://camel.apache.org/wsdl-first}PersonService&portName={http://camel.apache.org/wsdl-first}soap";
> {code}
> As curly brackets are not valid, URIs like above are invalid. Unfortunately I 
> suspect there are too many users who use this format now to just fix it so we 
> need to deprecate this format, find a workaround and a solution.
> The solution I am proposing is to use another parameter: targetNamespace to 
> replace the value between the curlies for the serviceName. The portName 
> should not be a QName actually either. As such, the example above would 
> become:
> {code}
> "cxf://http://localhost:9000/CxfEndpointTest/helloworld?wsdlURL=classpath:person.wsdl&targetNamespace=http://camel.apache.org/wsdl-first&serviceName=PersonService&portName=soap";
> {code}
> I will look for a workaround too, to not break existing code too much.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to