Since there some code in CXF for hacking the Qname for endpointName and
serviceName, I don't think you can use the spring placeholder there.
How about set the endpointName and serviceName within the
<cxf:properties> like this

<cxf:cxfEndpoint id="soapMessageEndpointProvider"               
serviceClass="com.orange.ose.smc.core.web.SmcCxfProvider"
wsdlURL="file:///${conf.from.ws.wsdl.location}">
  <cxf:properties>
     <entry key="dataFormat" value="MESSAGE"></entry>
     <entry key="endpointLocalName" value="${conffrom.ws.soapport}></entry>
     <entry key="endpointNamespace"
value="http://com.mycompany/MyPort";></entry>          <entry
key="serviceLocalName" value="${conffrom.ws.soapserver}"></entry>
     <entry key="serviceNamespace"
value="http://com.mycompany/MyService";></entry>
  </cxf:properties>
<cxf:cxfEndpoint/>

I think I can add this feature before end of this year :)

Willem


GLD wrote:
> Hi, 
> 
> I 'm using Camel 1.5.0, CXF 2.1.3
> I'm delivering an EAR so I use CxfServlet.
> 
> 1- I want to process incoming SOAP messages form a CXF point in a generic
> manner 
>    ==> I want to configure WSDL info in an property file outside the EAR.
> ==> So, I tried to write
> 
>     <cxf:cxfEndpoint id="soapMessageEndpointProvider"
>             serviceClass="com.orange.ose.smc.core.web.SmcCxfProvider"
>             address="${conffrom.relative.url}"
>             wsdlURL="file:///${conf.from.ws.wsdl.location}"
>             endpointName="s:ServiceSOAP"
>             serviceName="s:PortName"
>             xmlns:s="http://com.mycompany/MyService";>
>         <cxf:properties>
>          <entry key="dataFormat" value="MESSAGE"></entry>
>         </cxf:properties>
>     </cxf:cxfEndpoint>            
> 
> It works but in fact, I would like to use spring placeholder in attributes
> endpointName, serviceName and xmlns but it fails.
> 
>  - For "endpointName, serviceName" : At XML validation time : 
>      cvc-attribute.3: The value 's:${conffrom.ws.soapservice}' of attribute
> 'serviceName' on 
>             element 'cxf:cxfEndpoint' is not valid with respect to its type,
> 'QName'.
> 
>  - for xmlns : At run time : the placeholder is not substituted!
> 
> Any idea?
> 

Reply via email to