Results 1 to 3 of 3

Thread: OutOfMemoryError on WebSphere Application Server 7 with encryption

  1. #1
    Join Date
    May 2010
    Posts
    1

    Default OutOfMemoryError on WebSphere Application Server 7 with encryption

    Hi.

    I wrote an webservice on the tomcat with wssa4j. Every with works fine. Now my customer want to use a "WebSphere Application Server 7.0". I can install the application without an error.

    When I test an encrypted call I get an "OutOfMemoryError".

    Can anybody help me?

    The service uses following config:

    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
    
    	<bean id="logging"
    		class="org.springframework.ws.server.endpoint.interceptor.PayloadLoggingInterceptor" />
    
    	<bean id="security"
    		class="org.springframework.ws.soap.security.wss4j.Wss4jSecurityInterceptor">
    		<property name="validationActions" value="UsernameToken Encrypt" />
    		<property name="validationDecryptionCrypto">
    			<bean
    				class="org.springframework.ws.soap.security.wss4j.support.CryptoFactoryBean">
    				<property name="keyStorePassword" value="password" />
    				<property name="keyStoreLocation" value="classpath:/key.jks" />
    			</bean>
    		</property>
    		<property name="validationCallbackHandlers">
    			<list>
    				<ref local="uservalidator" />
    				<ref local="keystoreCallbackHandler" />
    			</list>
    		</property>
    		<property name="securementActions" value="" />
    		<property name="securementUsername" value="service" />
    		<property name="securementPassword" value="password" />
    		<property name="securementSignatureCrypto">
    			<bean
    				class="org.springframework.ws.soap.security.wss4j.support.CryptoFactoryBean">
    				<property name="keyStorePassword" value="password" />
    				<property name="keyStoreLocation" value="classpath:/key.jks" />
    			</bean>
    		</property>
    		<property name="securementSignatureParts" value="{}{Null}return" />
    	</bean>
    
    	<bean id="uservalidator"
    		class="org.springframework.ws.soap.security.wss4j.callback.SimplePasswordValidationCallbackHandler">
    		<property name="users">
    			<props>
    				<prop key="user1">user1</prop>
    				<prop key="user2">user2</prop>
    			</props>
    		</property>
    	</bean>
    
    	<bean id="keystoreCallbackHandler"
    		class="org.springframework.ws.soap.security.wss4j.callback.KeyStoreCallbackHandler">
    		<property name="privateKeyPassword" value="password" />
    	</bean>
    
    	<bean id="marshaller" class="org.springframework.oxm.jaxb.Jaxb2Marshaller">
    		<property name="contextPath" value="--contextpath--" />
    		<property name="schema" value="classpath:/--service--.xsd" />
    	</bean>
    
    	<bean id="endpoint" class="--package--.ServiceEndpoint">
    		<constructor-arg ref="marshaller" />
    	</bean>
    
    	<bean
    		class="org.springframework.ws.server.endpoint.mapping.PayloadRootQNameEndpointMapping">
    		<property name="mappings">
    			<props>
    				<prop key="{http://xxx.xxx.xxx/xxx}serviceRequest">endpoint</prop>
    			</props>
    		</property>
    		<property name="interceptors">
    			<list>
    				<ref bean="logging" />
    				<ref bean="security" />
    			</list>
    		</property>
    	</bean>
    
    	<bean id="servicewsdl"
    		class="org.springframework.ws.wsdl.wsdl11.DefaultWsdl11Definition">
    		<property name="schema" ref="schema" />
    		<property name="portTypeName" value="service" />
    		<property name="locationUri" value="http://localhost:8080/xxx/xxx/" />
    		<property name="targetNamespace" value="http://xxx.xxx.xxx/xxx" />
    	</bean>
    
    	<bean id="schema" class="org.springframework.xml.xsd.SimpleXsdSchema">
    		<property name="xsd" value="classpath:/--service--.xsd" />
    	</bean>
    
    </beans>
    Error:

    Code:
    [17.05.10 16:01:22:812 CEST] 00000061 SystemErr     R Exception in thread "LT=2:P=504231:O=0:port=9404" java.lang.OutOfMemoryError
    [17.05.10 16:01:22:812 CEST] 00000061 SystemErr     R 	at com.ibm.jsse2.sc.a(sc.java:3)
    [17.05.10 16:01:22:812 CEST] 00000061 SystemErr     R 	at com.ibm.jsse2.sc.<init>(sc.java:293)
    [17.05.10 16:01:22:812 CEST] 00000061 SystemErr     R 	at com.ibm.jsse2.qc.accept(qc.java:74)
    [17.05.10 16:01:22:812 CEST] 00000061 SystemErr     R 	at com.ibm.rmi.transport.ListenerThread.run(ListenerThread.java:174)
    [17.05.10 16:01:22:827 CEST] 00000060 SystemErr     R java.lang.OutOfMemoryError
    [17.05.10 16:01:22:827 CEST] 00000060 SystemErr     R 	at sun.nio.cs.MS1252.newEncoder(MS1252.java:55)
    [17.05.10 16:01:22:827 CEST] 00000060 SystemErr     R 	at sun.nio.cs.StreamEncoder$CharsetSE.<init>(StreamEncoder.java:297)
    [17.05.10 16:01:22:827 CEST] 00000060 SystemErr     R 	at sun.nio.cs.StreamEncoder$CharsetSE.<init>(StreamEncoder.java:281)
    [17.05.10 16:01:22:827 CEST] 00000060 SystemErr     R 	at sun.nio.cs.StreamEncoder.forOutputStreamWriter(StreamEncoder.java:80)
    [17.05.10 16:01:22:827 CEST] 00000060 SystemErr     R 	at java.io.OutputStreamWriter.<init>(OutputStreamWriter.java:102)
    [17.05.10 16:01:22:827 CEST] 00000060 SystemErr     R 	at java.io.PrintStream.<init>(PrintStream.java:113)
    [17.05.10 16:01:22:827 CEST] 00000060 SystemErr     R 	at java.io.PrintStream.<init>(PrintStream.java:75)
    [17.05.10 16:01:22:827 CEST] 00000060 SystemErr     R 	at com.ibm.ejs.ras.StreamEvent6.writeSelfToStream(StreamEvent6.java:137)
    [17.05.10 16:01:22:827 CEST] 00000060 SystemErr     R 	at com.ibm.ejs.ras.SystemStream.doPrint(SystemStream.java:763)
    [17.05.10 16:01:22:827 CEST] 00000060 SystemErr     R 	at com.ibm.ejs.ras.SystemStream.print(SystemStream.java:515)
    [17.05.10 16:01:22:827 CEST] 00000060 SystemErr     R 	at com.ibm.ejs.ras.SystemErrStream.print(SystemErrStream.java:64)
    [17.05.10 16:01:22:827 CEST] 00000060 SystemErr     R 	at java.io.PrintStream.append(PrintStream.java:1028)
    [17.05.10 16:01:22:827 CEST] 00000060 SystemErr     R 	at java.io.PrintStream.append(PrintStream.java:40)
    [17.05.10 16:01:22:827 CEST] 00000060 SystemErr     R 	at java.lang.StackTraceElement.appendTo(StackTraceElement.java:180)
    [17.05.10 16:01:22:827 CEST] 00000060 SystemErr     R 	at java.lang.Throwable.appendTo(Throwable.java:305)
    [17.05.10 16:01:22:827 CEST] 00000060 SystemErr     R 	at java.lang.Throwable.printStackTrace(Throwable.java:374)
    [17.05.10 16:01:22:843 CEST] 00000060 SystemErr     R 	at java.lang.Throwable.printStackTrace(Throwable.java:212)
    [17.05.10 16:01:22:843 CEST] 00000060 SystemErr     R 	at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:773)
    [17.05.10 16:01:22:843 CEST] 00000060 SystemErr     R 	at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:766)
    [17.05.10 16:01:22:843 CEST] 00000060 SystemErr     R 	at java.lang.Thread.uncaughtException(Thread.java:1213)

  2. #2
    Join Date
    May 2010
    Posts
    2

    Default Server issue, I think

    It looks like your "OutOfMemoryError" is related to the server configuration...
    I deem there is should be settings for memory size of your Application pool. Check the config, or contact your admin and ask to check it and increase the size of your memory.

    Regards,
    Lex C.
    SWF Protector

  3. #3
    Join Date
    May 2010
    Posts
    2

    Default WAS JVM initial memory size

    Try to increase initial memory size - should help. Typically, I set initial memory size to 512Mb and maximum to 1Gb.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •