4 Replies Latest reply on Oct 3, 2008 9:23 AM by miketech

    Webservice Hosting and MalformedURLException

    miketech

      Hi,

      we want to use JBoss to host Webservices (Pojos). Can you tell me what is the best configuration for this easy job? We don't want to use Axis or Tomcat only, since we want to learn more about JBoss here.

      Another point: I've tried to deploy a webservice in my JBoss installation. I get this exception:

      java.lang.ExceptionInInitializerError: java.net.MalformedURLException: unknown protocol: c

      The JBoss runs on "C:\Dokumente und Einstellungen\user\Eigene Dateien\Software\jboss-5.0.0.CR2"

      Could this be the problem?


      Here is the error log:



      16:14:16,968 ERROR [AbstractKernelController] Error installing to Instantiated: name=TransactionManager state=Described
      java.lang.ExceptionInInitializerError: java.net.MalformedURLException: unknown protocol: c
      at com.arjuna.ats.arjuna.common.arjPropertyManager.<clinit>(arjPropertyManager.java:70)
      at com.arjuna.ats.jbossatx.jta.TransactionManagerService.<clinit>(TransactionManagerService.java:103)
      at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
      at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
      at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
      at java.lang.reflect.Constructor.newInstance(Unknown Source)
      at org.jboss.reflect.plugins.introspection.ReflectionUtils.newInstance(ReflectionUtils.java:149)
      at org.jboss.reflect.plugins.introspection.ReflectConstructorInfoImpl.newInstance(ReflectConstructorInfoImpl.java:106)
      at org.jboss.joinpoint.plugins.BasicConstructorJoinPoint.dispatch(BasicConstructorJoinPoint.java:80)
      at org.jboss.aop.microcontainer.integration.AOPConstructorJoinpoint.createTarget(AOPConstructorJoinpoint.java:276)
      at org.jboss.aop.microcontainer.integration.AOPConstructorJoinpoint.dispatch(AOPConstructorJoinpoint.java:97)
      at org.jboss.kernel.plugins.dependency.KernelControllerContextAction$JoinpointDispatchWrapper.execute(KernelControllerContextAction.java:241)
      at org.jboss.kernel.plugins.dependency.ExecutionWrapper.execute(ExecutionWrapper.java:47)
      at org.jboss.kernel.plugins.dependency.KernelControllerContextAction.dispatchExecutionWrapper(KernelControllerContextAction.java:109)
      at org.jboss.kernel.plugins.dependency.KernelControllerContextAction.dispatchJoinPoint(KernelControllerContextAction.java:70)
      at org.jboss.kernel.plugins.dependency.InstantiateAction.installActionInternal(InstantiateAction.java:66)
      at org.jboss.kernel.plugins.dependency.InstallsAwareAction.installAction(InstallsAwareAction.java:54)
      at org.jboss.kernel.plugins.dependency.InstallsAwareAction.installAction(InstallsAwareAction.java:42)
      at org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleInstallAction(SimpleControllerContextAction.java:62)
      at org.jboss.dependency.plugins.action.AccessControllerContextAction.install(AccessControllerContextAction.java:71)
      at org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51)
      at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
      at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1598)
      at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)
      at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1062)
      at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)
      at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:774)
      at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:540)
      at org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataDeployer.deploy(BeanMetaDataDeployer.java:124)
      at org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataDeployer.deploy(BeanMetaDataDeployer.java:51)
      at org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer.internalDeploy(AbstractSimpleRealDeployer.java:62)
      at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:50)
      at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:169)
      at org.jboss.deployers.plugins.deployers.DeployersImpl.doDeploy(DeployersImpl.java:1285)
      at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1003)
      at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1024)
      at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:944)
      at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
      at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1598)
      at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)
      at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1062)
      at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)
      at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822)
      at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
      at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:627)
      at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:541)
      at org.jboss.system.server.profileservice.ProfileServiceBootstrap.loadProfile(ProfileServiceBootstrap.java:265)
      at org.jboss.system.server.profileservice.ProfileServiceBootstrap.start(ProfileServiceBootstrap.java:143)
      at org.jboss.bootstrap.AbstractServerImpl.start(AbstractServerImpl.java:409)
      at org.jboss.Main.boot(Main.java:209)
      at org.jboss.Main$1.run(Main.java:544)
      at java.lang.Thread.run(Unknown Source)
      16:14:18,741 ERROR [ProfileServiceBootstrap] Failed to load profile: Summary of incomplete deployments (SEE PREVIOUS ERRORS FOR DETAILS):

      *** CONTEXTS MISSING DEPENDENCIES: Name -> Dependency{Required State:Actual State}

      jboss.admin:service=PluginManager
      -> jboss.jmx:name=Invoker,protocol=jrmp,service=proxyFactory,type=adaptor{Create:Configured}

      jboss.ejb:persistencePolicy=database,service=EJBTimerService
      -> jboss.jca:name=DefaultDS,service=DataSourceBinding{Create:Configured}

      jboss.ejb:service=EJB3TimerService
      -> jboss:service=TransactionManager{Create:** NOT FOUND Depends on 'jboss:service=TransactionManager' **}
      -> jboss.jca:name=DefaultDS,service=DataSourceBinding{Create:Configured}

      jboss.ejb:service=EJBTimerService
      -> jboss.ejb:persistencePolicy=database,service=EJBTimerService{Create:Configured}
      -> jboss:service=TransactionManager{Create:** NOT FOUND Depends on 'jboss:service=TransactionManager' **}

      jboss.jca:name='jboss-local-jdbc.rar',service=RARDeployment
      -> jboss:service=TransactionManager{Configured:** NOT FOUND Depends on 'jboss:service=TransactionManager' **}

      jboss.jca:name='jboss-xa-jdbc.rar',service=RARDeployment
      -> jboss:service=TransactionManager{Configured:** NOT FOUND Depends on 'jboss:service=TransactionManager' **}

      jboss.jca:name='jms-ra.rar',service=RARDeployment
      -> jboss:service=TransactionManager{Configured:** NOT FOUND Depends on 'jboss:service=TransactionManager' **}

      jboss.jca:name='mail-ra.rar',service=RARDeployment
      -> jboss:service=TransactionManager{Configured:** NOT FOUND Depends on 'jboss:service=TransactionManager' **}

      jboss.jca:name='quartz-ra.rar',service=RARDeployment
      -> jboss:service=TransactionManager{Configured:** NOT FOUND Depends on 'jboss:service=TransactionManager' **}

      jboss.jca:name=DefaultDS,service=DataSourceBinding
      -> jboss.jca:name=DefaultDS,service=LocalTxCM{Create:Configured}

      jboss.jca:name=DefaultDS,service=LocalTxCM
      -> jboss.jca:service=CachedConnectionManager{Create:Configured}
      -> jboss.jca:name=DefaultDS,service=ManagedConnectionPool{Create:Configured}
      -> jboss:service=TransactionManager{Create:** NOT FOUND Depends on 'jboss:service=TransactionManager' **}

      jboss.jca:name=DefaultDS,service=ManagedConnectionFactory
      -> jboss.jca:name='jboss-local-jdbc.rar',service=RARDeployment{Create:Instantiated}

      jboss.jca:name=DefaultDS,service=ManagedConnectionPool
      -> jboss.jca:name=DefaultDS,service=ManagedConnectionFactory{Create:Configured}

      jboss.jca:name=JmsXA,service=ConnectionFactoryBinding
      -> jboss.jca:name=JmsXA,service=TxCM{Create:Configured}

      jboss.jca:name=JmsXA,service=ManagedConnectionFactory
      -> jboss.messaging:service=ServerPeer{Create:Configured}
      -> jboss.jca:name='jms-ra.rar',service=RARDeployment{Create:Instantiated}

      jboss.jca:name=JmsXA,service=ManagedConnectionPool
      -> jboss.jca:name=JmsXA,service=ManagedConnectionFactory{Create:Configured}

      jboss.jca:name=JmsXA,service=TxCM
      -> jboss:service=TransactionManager{Create:** NOT FOUND Depends on 'jboss:service=TransactionManager' **}
      -> jboss.jca:service=CachedConnectionManager{Create:Configured}
      -> jboss.jca:name=JmsXA,service=ManagedConnectionPool{Create:Configured}

      jboss.jca:service=CachedConnectionManager
      -> jboss:service=TransactionManager{Create:** NOT FOUND Depends on 'jboss:service=TransactionManager' **}

      jboss.jca:service=WorkManager
      -> jboss:service=TransactionManager{Create:** NOT FOUND Depends on 'jboss:service=TransactionManager' **}

      jboss.jmx:name=Invoker,protocol=jrmp,service=proxyFactory,type=adaptor
      -> jboss:service=invoker,type=jrmp{Create:Configured}

      jboss.jmx:name=MBeanProxyRemote,protocol=jrmp,type=adaptor
      -> jboss.jmx:name=Invoker,protocol=jrmp,service=proxyFactory,type=adaptor{Create:Configured}

      jboss.messaging.connectionfactory:service=ClusterPullConnectionFactory
      -> jboss.messaging:service=PostOffice{Create:Configured}
      -> jboss.messaging:service=ServerPeer{Create:Configured}

      jboss.messaging.connectionfactory:service=ClusteredConnectionFactory
      -> jboss.messaging:service=PostOffice{Create:Configured}
      -> jboss.messaging:service=ServerPeer{Create:Configured}

      jboss.messaging.connectionfactory:service=ConnectionFactory
      -> jboss.messaging:service=ServerPeer{Create:Configured}
      -> jboss.messaging:service=PostOffice{Create:Configured}

      jboss.messaging.destination:name=DLQ,service=Queue
      -> jboss.messaging:service=ServerPeer{Create:Configured}
      -> jboss.messaging:service=PostOffice{Create:Configured}

      jboss.messaging.destination:name=ExpiryQueue,service=Queue
      -> jboss.messaging:service=ServerPeer{Create:Configured}
      -> jboss.messaging:service=PostOffice{Create:Configured}

      jboss.messaging:service=JMSUserManager
      -> jboss.jca:name=DefaultDS,service=DataSourceBinding{Create:Configured}
      -> jboss:service=TransactionManager{Create:** NOT FOUND Depends on 'jboss:service=TransactionManager' **}

      jboss.messaging:service=PersistenceManager
      -> jboss.jca:name=DefaultDS,service=DataSourceBinding{Create:Configured}
      -> jboss:service=TransactionManager{Create:** NOT FOUND Depends on 'jboss:service=TransactionManager' **}

      jboss.messaging:service=PostOffice
      -> jboss.jca:name=DefaultDS,service=DataSourceBinding{Create:Configured}
      -> jboss.messaging:service=ServerPeer{Create:Configured}
      -> jboss:service=TransactionManager{Create:** NOT FOUND Depends on 'jboss:service=TransactionManager' **}

      jboss.messaging:service=ServerPeer
      -> jboss.messaging:service=PersistenceManager{Create:Configured}
      -> jboss.messaging:service=JMSUserManager{Create:Configured}

      jboss.mq:service=DestinationManager
      -> jboss.messaging:service=ServerPeer{Create:Configured}

      jboss.web.deployment:war=/ROOT
      -> jboss.web:service=WebServer{Create:Configured}

      jboss.web.deployment:war=/WebServiceProject
      -> jboss.web:service=WebServer{Create:Configured}

      jboss.web.deployment:war=/invoker
      -> jboss.web:service=WebServer{Create:Configured}

      jboss.web.deployment:war=/jbossws
      -> jboss.web:service=WebServer{Create:Configured}

      jboss.web.deployment:war=/jmx-console
      -> jboss.web:service=WebServer{Create:Configured}

      jboss.web.deployment:war=/web-console
      -> jboss.admin:service=PluginManager{Create:Configured}
      -> jboss.web:service=WebServer{Create:Configured}

      jboss.web:service=WebServer
      -> jboss.jca:service=CachedConnectionManager{Create:Configured}
      -> jboss:service=TransactionManager{Create:** NOT FOUND Depends on 'jboss:service=TransactionManager' **}

      jboss:service=ClientUserTransaction
      -> jboss:service=proxyFactory,target=ClientUserTransaction{Create:Configured}
      -> jboss:service=proxyFactory,target=ClientUserTransactionFactory{Create:Configured}

      jboss:service=KeyGeneratorFactory,type=HiLo
      -> jboss:service=TransactionManager{Create:** NOT FOUND Depends on 'jboss:service=TransactionManager' **}
      -> jboss.jca:name=DefaultDS,service=DataSourceBinding{Create:Configured}

      jboss:service=invoker,type=jrmp
      -> jboss:service=TransactionManager{Create:** NOT FOUND Depends on 'jboss:service=TransactionManager' **}

      jboss:service=invoker,type=local
      -> jboss:service=TransactionManager{Create:** NOT FOUND Depends on 'jboss:service=TransactionManager' **}

      jboss:service=invoker,type=pooled
      -> jboss:service=TransactionManager{Create:** NOT FOUND Depends on 'jboss:service=TransactionManager' **}

      jboss:service=invoker,type=unified
      -> jboss:service=TransactionManager{Create:** NOT FOUND Depends on 'jboss:service=TransactionManager' **}

      jboss:service=proxyFactory,target=ClientUserTransaction
      -> jboss:service=invoker,type=unified{Create:Configured}

      jboss:service=proxyFactory,target=ClientUserTransactionFactory
      -> jboss:service=invoker,type=unified{Create:Configured}


      *** CONTEXTS IN ERROR: Name -> Error

      TransactionManager -> java.lang.ExceptionInInitializerError: java.net.MalformedURLException: unknown protocol: c

      jboss:service=TransactionManager -> ** NOT FOUND Depends on 'jboss:service=TransactionManager' **


      16:14:18,741 INFO [ServerImpl] JBoss (Microcontainer) [5.0.0.CR2 (build: SVNTag=JBoss_5_0_0_CR2 date=200809171139)] Started in 1m:2s:561ms



      Greetings

      Mike

        • 1. Re: Webservice Hosting and MalformedURLException
          peterj

          The "unknown protocol: c" error means that somewhere in your WSDL, where a URL is expected, you have "c:/Dokumente und Einstellungen/...: instead of "file://c:/Dokumente und Einstellungen/..."

          The JBossWS documentation should be enough to get you started writing POJO web services. And here are some forum discussion that appear to have complete examples:

          http://www.jboss.com/index.html?module=bb&op=viewtopic&t=104843

          http://www.jboss.com/index.html?module=bb&op=viewtopic&t=127824

          Also, I have another resource but it is not free. I can provide a URL is you like.

          • 2. Re: Webservice Hosting and MalformedURLException
            miketech

            Hi,

            thanks for your anwer. But I don't have c:/Dokumente.... in my WSDL File.

            Now I found out, that also if I don't deploy this WS this errors appears.

            What I wanted to know: Is there a better JBoss configuration for Web services instead of using JBoss AS? Maybe JBoss Microcontainer + JBoss WS?

            Or isn't this recommend?

            Greetings

            Mike

            • 3. Re: Webservice Hosting and MalformedURLException
              peterj

              OK, I now understand your question better. As far as I know, JBossWS also has to run within JBoss AS. There used to be a way of running JBossWS on Tomcat but that feature was dropped due to lack of interest.

              For the exception, I assume that it was due to wsdl parsing because you mentioned web services. I did not look closely enough at the the stack trace, and having now done so it appears that there is something amiss in the JBoss Transaction configuration. If you have made no changes to JBoss AS, then yes you should get it out of Dokumente und Einstellungen because having spaces in paths can cause issues with various Java libraries. I have mine at d:\opt\jboss\jboss-5.0.0.CR2

              • 4. Re: Webservice Hosting and MalformedURLException
                miketech

                Hi,

                yup sorry, that was my mistake :) But thanks, now it works.

                Greetings

                Mike