Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Thread safe problem during wsdl generation [SWS-200] #352

Closed
gregturn opened this issue Sep 25, 2007 · 3 comments
Closed

Thread safe problem during wsdl generation [SWS-200] #352

gregturn opened this issue Sep 25, 2007 · 3 comments
Assignees
Milestone

Comments

@gregturn
Copy link
Contributor

Rune Hamnvik opened SWS-200 and commented

We are using JMeter to stress test our application and sometimes we are getting an error when retrieving wsdl. Our url is http://<server>:9090/tbstat.wsdl and we are running 10 threads requesting the wsdl 100 times each, each thread waiting 5 seconds between each request. After a while a request fails with the stack trace below. The request following the failed request may very well succeed.

<body><h2>HTTP ERROR: 500</h2><pre>INTERNAL_SERVER_ERROR</pre>
<p>RequestURI=/tbstat.wsdl</p><h3>Caused by:</h3><pre>java.lang.NullPointerException
at org.apache.xerces.dom.ParentNode.nodeListItem(Unknown Source)
at org.apache.xerces.dom.ParentNode.item(Unknown Source)
at com.ibm.wsdl.util.xml.DOM2Writer.print(Unknown Source)
at com.ibm.wsdl.util.xml.DOM2Writer.print(Unknown Source)
at com.ibm.wsdl.util.xml.DOM2Writer.print(Unknown Source)
at com.ibm.wsdl.util.xml.DOM2Writer.print(Unknown Source)
at com.ibm.wsdl.util.xml.DOM2Writer.serializeAsXML(Unknown Source)
at com.ibm.wsdl.extensions.schema.SchemaSerializer.marshall(Unknown Source)
at com.ibm.wsdl.xml.WSDLWriterImpl.printExtensibilityElements(Unknown Source)
at com.ibm.wsdl.xml.WSDLWriterImpl.printTypes(Unknown Source)
at com.ibm.wsdl.xml.WSDLWriterImpl.printDefinition(Unknown Source)
at com.ibm.wsdl.xml.WSDLWriterImpl.writeWSDL(Unknown Source)
at com.ibm.wsdl.xml.WSDLWriterImpl.getDocument(Unknown Source)
at org.springframework.ws.wsdl.wsdl11.Wsdl4jDefinition.getSource(Wsdl4jDefinition.java:75)
at org.springframework.ws.wsdl.wsdl11.DynamicWsdl11Definition.getSource(DynamicWsdl11Definition.java:82)
at org.springframework.ws.transport.http.WsdlDefinitionHandlerAdapter.handle(WsdlDefinitionHandlerAdapter.java:125)
at org.springframework.ws.transport.http.MessageDispatcherServlet.doService(MessageDispatcherServlet.java:155)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:475)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:430)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
at org.mortbay.jetty.Server.handle(Server.java:313)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:506)
at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:830)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381)
at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:227)
at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442)

Our spring configuration is as follows:

<bean id="tbstat"
	class="org.springframework.ws.wsdl.wsdl11.DynamicWsdl11Definition">
	<property name="builder">
		<bean
			class="org.springframework.ws.wsdl.wsdl11.builder.XsdBasedSoap11Wsdl4jDefinitionBuilder">
			<property name="schema"
				value="classpath:no/netcom/ipl/version2_0/WOStatistics.xsd" />
			<property name="portTypeName" value="TBStatisticsPort" />
			<property name="locationUri"
				value="http://localhost:8087/tbstatisticsservice/" />
			<property name="targetNamespace"
				value="http://ipl.webservice.netcom.no/customer/wostat/" />
		</bean>
	</property>
</bean>

Affects: 1.0.1

Referenced from: commits 6cc8b2c

@gregturn
Copy link
Contributor Author

gregturn commented Oct 1, 2007

Arjen Poutsma commented

Apparently, the problem still occurs on Tomcat.

@gregturn
Copy link
Contributor Author

Arjen Poutsma commented

Cannot reproduce this problem under Tomcat.

@gregturn
Copy link
Contributor Author

gregturn commented Nov 8, 2007

Arjen Poutsma commented

Closing 1.0.2 issues.

@gregturn gregturn closed this as completed Nov 8, 2007
@gregturn gregturn added this to the 1.0.2 milestone Sep 22, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants