You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cxf.apache.org by William Tam <em...@gmail.com> on 2008/10/15 20:02:08 UTC
configure endpoint created by JaxWsServerFactoryBean
Hi,
If I create a server with JaxWsServerFactoryBean, is it possible to
configure my endpoint using Spring? It does not work when I am doing
the following.
JaxWsServerFactoryBean factory = new JaxWsServerFactoryBean();
// populate my factory with setXXX() methods.
...
factory.setStart(false);
Server server = factory.create();
configurer.configureBean(server.getEndpoint());
server.start();
I notice that the object returned by server.getEndpoint() is of type
org.apache.cxf.jaxws.support.JaxWsEndpointImpl and bean name is
<PORT_NAME>.endpoint. In a "working case" in EndpointImpl.java, the
bean instance that gets passed to configureBean is a EndpointImpl and
the bean name is <PORT_NAME>.jaxws-endpoint.
My jaxws endpoint config looks something like this:
<jaxws:endpoint name="{http://apache.org/hello_world_soap_http}SoapPort"
wsdlLocation="wsdl/hello_world.wsdl" createdFromAPI="true">
<jaxws:properties>
<entry key="schema-validation-enabled" value="true" />
</jaxws:properties>
<!-- Endorser is needed in order to allow WS-Security
Credentials sent over unsecure HTTP -->
<jaxws:features>
<security:WSSUsernameTokenAuthServerConfig
enableAuthorization="false" acquireISFToken="false"
credentialEndorser="com.iona.cxf.security.rt.NoOpCredentialEndorser"
/>
</jaxws:features>
<jaxws:inInterceptors>
<ref bean="WSS4JInInterceptor"/>
<bean class="org.apache.cxf.binding.soap.saaj.SAAJInInterceptor"/>
</jaxws:inInterceptors>
</jaxws:endpoint>
Thanks,
William
Re: configure endpoint created by JaxWsServerFactoryBean
Posted by William Tam <em...@gmail.com>.
I guess my answer is likely to be "no".
org.apache.cxf.jaxws.spring.EndpointDefinitionParser calls
setBeanClass to org.apache.cxf.jaxws.EndpointImpl.class. That class
is not inherited by org.apache.cxf.jaxws.support.JaxWsEndpointImpl.
public EndpointDefinitionParser() {
super();
setBeanClass(org.apache.cxf.jaxws.EndpointImpl.class);
}
On Wed, Oct 15, 2008 at 2:02 PM, William Tam <em...@gmail.com> wrote:
> Hi,
>
> If I create a server with JaxWsServerFactoryBean, is it possible to
> configure my endpoint using Spring? It does not work when I am doing
> the following.
>
> JaxWsServerFactoryBean factory = new JaxWsServerFactoryBean();
> // populate my factory with setXXX() methods.
> ...
> factory.setStart(false);
> Server server = factory.create();
> configurer.configureBean(server.getEndpoint());
> server.start();
>
> I notice that the object returned by server.getEndpoint() is of type
> org.apache.cxf.jaxws.support.JaxWsEndpointImpl and bean name is
> <PORT_NAME>.endpoint. In a "working case" in EndpointImpl.java, the
> bean instance that gets passed to configureBean is a EndpointImpl and
> the bean name is <PORT_NAME>.jaxws-endpoint.
>
> My jaxws endpoint config looks something like this:
>
> <jaxws:endpoint name="{http://apache.org/hello_world_soap_http}SoapPort"
> wsdlLocation="wsdl/hello_world.wsdl" createdFromAPI="true">
> <jaxws:properties>
> <entry key="schema-validation-enabled" value="true" />
> </jaxws:properties>
>
> <!-- Endorser is needed in order to allow WS-Security
> Credentials sent over unsecure HTTP -->
> <jaxws:features>
> <security:WSSUsernameTokenAuthServerConfig
> enableAuthorization="false" acquireISFToken="false"
> credentialEndorser="com.iona.cxf.security.rt.NoOpCredentialEndorser"
> />
> </jaxws:features>
>
> <jaxws:inInterceptors>
> <ref bean="WSS4JInInterceptor"/>
> <bean class="org.apache.cxf.binding.soap.saaj.SAAJInInterceptor"/>
> </jaxws:inInterceptors>
> </jaxws:endpoint>
>
>
> Thanks,
> William
>