0 Replies Latest reply on Apr 21, 2005 4:31 PM by yogesh Seth

    webservice not getting started, wsdl loading fails

    yogesh Seth Newbie

      Hi,
      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