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

Yaytay updated CXF-2770:
------------------------

    Attachment: SpringConfigureAutoRewriteSoapAddress.diff

Attaching a file that (at long last) the fix sent to the mailing list at the 
end of September with a couple of tests.
I'm not at all sure that the tests work the best way for a CXF test, but the do 
test the behaviour correctly.

> There is no way to specify autoRewriteSoapAddress from a spring context file.
> -----------------------------------------------------------------------------
>
>                 Key: CXF-2770
>                 URL: https://issues.apache.org/jira/browse/CXF-2770
>             Project: CXF
>          Issue Type: Bug
>    Affects Versions: 2.2.7
>            Reporter: Yaytay
>            Priority: Minor
>         Attachments: SpringConfigureAutoRewriteSoapAddress.diff
>
>
> I need to be able to use the autoRewriteSoapAddress facility in conjunction 
> with CXF.
> This: 
>     <jaxws:endpoint id="wsServer" implementor="#server" 
> address="http://0.0.0.0:8080/Maths"; depends-on="jetty-factory" >
>         <jaxws:properties> 
>             <entry key="autoRewriteSoapAddress" value="true"/> 
>         </jaxws:properties> 
>     </jaxws:endpoint>
> Queried as this: http://localhost:8080/Maths?wsdl 
> Produces this: <soap:address location="*http://0.0.0.0:8080/Maths*"; /> 
> It seems that the properties are only set on the endpoint 
> (AbstractWSDLBasedEndpointFactory:176), but autoRewriteSoapAddress is looked 
> for on the EndpointInfo (WSDLQueryHandler:278).
> It's not at all clear to me what the correct fix is - somehow we need to be 
> able to specify properties on the EndpointInfo.
> This is a relatively minor problem for code that makes use of just CXF 
> (because one can write code to iterate the endpoints, get the infos and set 
> the property), but for projects that use CXF within something else it's a 
> bigger problem - for example I want to use CXF with Camel, configured 
> entirely with a spring context file.
> The code I use to walk the endpoints and set the property is, roughly:
>             String[] serverRegistryNames = beanFactory.getBeanNamesForType( 
> ServerRegistry.class );
>             for ( String serverRegistryName : serverRegistryNames )
>             {
>                 ServerRegistry serverRegistry = ( ServerRegistry ) 
> beanFactory.getBean( serverRegistryName );
>                 List<Server> servers = serverRegistry.getServers();
>                 for ( Server server : servers )
>                 {
>                     server.getEndpoint().getEndpointInfo().setProperty( 
> "autoRewriteSoapAddress", true );
>                 }
>             }

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

Reply via email to