cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Yaytay (JIRA)" <j...@apache.org>
Subject [jira] Commented: (CXF-2770) There is no way to specify autoRewriteSoapAddress from a spring context file.
Date Sat, 12 Jun 2010 19:38:15 GMT

    [ https://issues.apache.org/jira/browse/CXF-2770?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12878305#action_12878305
] 

Yaytay commented on CXF-2770:
-----------------------------

I'm hoping to get the time to create a patch for this in the next couple of weeks, but I could
do with a pointer as to the best approach.
I think I could:
1. Apply all properties to both Endpoint and EndpointInfo.
2, Have a list of named properties that go on the EndpointInfo.
3. Have a separate element (a twin to jaxws:properties) for the EndpointInfo properties.
4. Have the check for autoRewriteSoapAddress look at the Endpoint (not sure there is an Endpoint
at the right time, so this may not be feasible)
Give me a pointer for the preferred approach and I'll knock it up.
Thanks.

> 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
>
> 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.


Mime
View raw message