I am getting the following error shown below upon spring context configuration file initialization, any help would be appreciated.
ServletWrappe E SRVE0100E: Did not realize init() exception thrown by servlet abc-ws: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'efgWebServiceTemplate' defined in ServletContext resource [/WEB-INF/efgSpringContext.xml]: Error setting property values; nested exception is org.springframework.beans.NotWritablePropertyException: Invalid property 'interceptors' of bean class [org.springframework.ws.client.core.WebServiceTemplate]: Bean property 'interceptors' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter?
I created a new web service that get called from within an exising web service.
The exisitng web service interceptor is configured as in the following:
<bean id="abcSecurityTokenInterceptor" class="com.pnc.ecommerce.util.spring.ws.security.SecurityTokenInterceptor">
<property name="verifySecurityHandler" ref="abcVerifySecurityHandler" />
<property name="timestampTokenHandler" ref="abcTimestampTokenHandler" />
</bean>
<bean class="org.springframework.ws.server.endpoint.mapping.PayloadRootQNameEndpointMapping">
<property name="mappings">
<props>
……………….
……………….
………………
</props>
</property>
<property name="interceptors">
<list>
<ref bean="abcSecurityTokenInterceptor"/>
</list>
</property>
</bean>
The new web service (which is called from within the existing web service) has an interceptor that is configured as in the following:
<bean id="efgSecurityInterceptor"
class="org.springframework.ws.soap.security.wss4j.Wss4jSecurityInterceptor">
<property name="securementActions" value="UsernameToken"/>
<property name="securementPasswordType" value="PasswordText"/>
</bean>
<bean id="efgWebServiceTemplate"
class="org.springframework.ws.client.core.WebServiceTemplate">
<property name="messageFactory">
<bean
class="org.springframework.ws.soap.saaj.SaajSoapMessageFactory" />
</property>
<property name="marshaller" ref="efgMarshaller"/>
<property name="unmarshaller" ref="efgMarshaller"/>
<property name="interceptors">
<list>
<ref local="efgSecurityInterceptor" />
</list>
</property>
</bean>
Web.xml has the following:
<display-name>
ABCWebApp
</display-name>
<servlet>
<servlet-name>abc-ws</servlet-name>
<servlet-class>
org.springframework.ws.transport.http.MessageDispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:abc-ws-servlet.xml
/WEB-INF/efgSpringContext.xml
</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
Thanks
Jeff
<!-- Seurity Interceptor -->
<bean id="efgSecurityInterceptor
class="org.springframework
<property name="securementActions" value="UsernameToken"/>
<property name="securementPasswordTy
</bean>
<!-- WebServiceTemplate -->
<bean id="efgWebServiceTemplate"
class="org.springframework
<property name="messageFactory">
<bean
class="org.springframework
</property>
<property name="marshaller" ref="queryCustomerStatusMa
<property name="unmarshaller" ref="queryCustomerStatusMa
<!--<property name="interceptors">
<list>
<ref local="efgSecurityIntercep
</list>
</property> -->
</bean>