troubleshooting Question

Spring context config initialization error

Avatar of jeffreyjseaman
jeffreyjseaman asked on
JavaJSPJava App Servers
4 Comments1 Solution1174 ViewsLast Modified:
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
ASKER CERTIFIED SOLUTION
jeffreyjseaman

Our community of experts have been thoroughly vetted for their expertise and industry experience.

Join our community to see this answer!
Unlock 1 Answer and 4 Comments.
Start Free Trial
Learn from the best

Network and collaborate with thousands of CTOs, CISOs, and IT Pros rooting for you and your success.

Andrew Hancock - VMware vExpert
See if this solution works for you by signing up for a 7 day free trial.
Unlock 1 Answer and 4 Comments.
Try for 7 days

”The time we save is the biggest benefit of E-E to our team. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange.

-Mike Kapnisakis, Warner Bros