webservice not getting started, wsdl loading fails
quickie_me Apr 21, 2005 4:31 PMHi,
I have three webservices in a war to be deployed pm JBoss-4.0.1.
i m facing a very wierd problem.
sometimes the webservice deployment fails. the error on the console is
############################
java.lang.IllegalStateException: Cannot obtain WSDL definition, cause: WSDLException: faultCode=PARSER_ERROR: Problem parsing '- WSDL Document -'.: can't declare any more prefixes in this context: java.lang.IllegalStateException: can't declare any more prefixes in this context
#############################
the biggest problem with the porblem is that it isnt consistent :( :)
after diggin a bit n going thru the server logs i found the following (hopefully a significant clue):
###################################
DEBUG [org.jboss.webservice.WSDLDefinitionFactory] getBaseInputSource [wsdlUrl=file:/home/nitin/jboss-4.0.1sp1/server/default/tmp/deploy/tmp39016bn.ear-contents/bnweb.war/WEB-INF/wsdl/myws.wsdl]
DEBUG [com.ibm.wsdl.xml.WSDLReaderImpl] Retrieving document at 'file:/home/nitin/jboss-4.0.1sp1/server/default/tmp/deploy/tmp39016bn.ear-contents/bnweb.war/WEB-INF/wsdl/myws.wsdl'.
ERROR [org.jboss.webservice.ServiceDeployer] Cannot startup webservice for: bnweb.war
#####################################
note that here the wsdl is being accessed from bnweb.war.
following are the logs when the deployment is successful:
#####################################
DEBUG [org.jboss.webservice.WSDLDefinitionFactory] getBaseInputSource [wsdlUrl=file:/C:/programs/jboss-4.0.1/server/default/tmp/deploy/tmp63636bn.ear-contents/bnweb-exp.war/WEB-INF/wsdl/myws.wsdl]
DEBUG [com.ibm.wsdl.xml.WSDLReaderImpl] Retrieving document at 'file:/C:/programs/jboss-4.0.1/server/default/tmp/deploy/tmp63636bn.ear-contents/bnweb-exp.war/WEB-INF/wsdl/myws.wsdl'.
######################################
note that here the wsdl is being accessed from exploded bnweb (which is not a war file but a directory)
it seems that at times bnweb is not getting exploded properly (which happens when the server is starting and the location is: server\default\tmp\deploy\) and in that case server attempts to load the wsdl from war file.
an additional piece of information:
during the application deployment i am overwriting server\default\conf\jboss-service.xml, which happens to be the first file getting coiped in the server\default\tmp\deploy folder. two changes done to the file are:
1) value of the attribute "SecurityManagerClassName" changed from "org.jboss.security.plugins.JaasSecurityManager" to "org.jboss.security.plugins.JaasSecurityDomain".
2) following ssl configuration added:
<mbean code="org.jboss.security.plugins.JaasSecurityDomain" name="Security:service=JaasSecurityDomain,domain=TomcatSSL"> <depends>jboss.security:service=JaasSecurityManager</depends> <constructor> <arg type="java.lang.String" value="TomcatSSL" /> </constructor> <attribute name="KeyStoreURL">${jboss.server.home.dir}/conf/.keystore</attribute> <attribute name="KeyStorePass">mypwd</attribute> </mbean>
any ideas ??
thanks a lot for taking pains of reading this long post :)
yogesh