Do you have an idea what the issue might be?

Thanks
Oli




________________________________
From: Oliver Wulff [[email protected]]
Sent: 01 September 2013 23:07
To: [email protected]
Subject: RE: Configure authenticator for jetty in karaf

Hi Achim

I had some time to look into this issue again. I've deployed my WAR which has 
got the following web.xml definition (it works fine within a jetty container):
...
    <login-config>
        <auth-method>WSFED</auth-method>
        <realm-name>WSFED</realm-name>
    </login-config>

and the configuration of jetty.xml:
...
<Get name="handler">
 <Call name="addHandler">
  <Arg>
   <New class="org.eclipse.jetty.servlet.ServletContextHandler">
    <Set name="contextPath">/fedizhelloworld</Set>
    <Call name="addServlet">
     <Arg>org.eclipse.jetty.servlet.DefaultServlet</Arg>
     <Arg>/</Arg>
    </Call>
    <Set name="loginService">
      <New class="org.apache.cxf.fediz.jetty.FederationLoginService">
          <Set name="name">WSFED</Set>
        </New>
    </Set>
    <Set name="authenticator">
      <New class="org.apache.cxf.fediz.jetty.FederationAuthenticator">
        <Set name="configFile"><SystemProperty name="jetty.home" 
default="."/>/etc/fediz_config.xml</Set>
      </New>
    </Set>
   </New>
  </Arg>
 </Call>
</Get>

The bundles for fediz-core and fediz-jetty are deployed as well:
[ 260] [Active     ] [            ] [       ] [   80] Apache Fediz Plugin Core 
(1.1.0.SNAPSHOT)
[ 261] [Active     ] [            ] [       ] [   80] Apache Fediz Plugin Jetty 
(1.1.0.SNAPSHOT)

But when I deploy the WAR into the deploy folder, I get the following exception:

22:54:42,796 | WARN  | Executor: 3      | util.component.AbstractLifeCycle  204 
| 58 - org.eclipse.jetty.util - 7.6.8.v20121106 | FAILED 
org.eclipse.jetty.security.ConstraintSecurityHandler@3db60ec4: 
java.lang.IllegalStateException: No LoginService for 
org.eclipse.jetty.security.authentication.BasicAuthenticator@7f664b8a in 
org.eclipse.jetty.security.ConstraintSecurityHandler@3db60ec4
java.lang.IllegalStateException: No LoginService for 
org.eclipse.jetty.security.authentication.BasicAuthenticator@7f664b8a in 
org.eclipse.jetty.security.ConstraintSecurityHandler@3db60ec4
    at 
org.eclipse.jetty.security.authentication.LoginAuthenticator.setConfiguration(LoginAuthenticator.java:44)[65:org.eclipse.jetty.security:7.6.8.v20121106]
    at 
org.eclipse.jetty.security.SecurityHandler.doStart(SecurityHandler.java:376)[65:org.eclipse.jetty.security:7.6.8.v20121106]
    at 
org.eclipse.jetty.security.ConstraintSecurityHandler.doStart(ConstraintSecurityHandler.java:233)[65:org.eclipse.jetty.security:7.6.8.v20121106]
    at 
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)[58:org.eclipse.jetty.util:7.6.8.v20121106]
    at 
org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:95)[64:org.eclipse.jetty.server:7.6.8.v20121106]
    at 
org.eclipse.jetty.server.handler.ScopedHandler.doStart(ScopedHandler.java:115)[64:org.eclipse.jetty.server:7.6.8.v20121106]
    at 
org.eclipse.jetty.server.session.SessionHandler.doStart(SessionHandler.java:120)[64:org.eclipse.jetty.server:7.6.8.v20121106]
    at 
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)[58:org.eclipse.jetty.util:7.6.8.v20121106]
    at 
org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:95)[64:org.eclipse.jetty.server:7.6.8.v20121106]
    at 
org.eclipse.jetty.server.handler.ScopedHandler.doStart(ScopedHandler.java:115)[64:org.eclipse.jetty.server:7.6.8.v20121106]
    at 
org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:729)[64:org.eclipse.jetty.server:7.6.8.v20121106]
    at 
org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:238)[66:org.eclipse.jetty.servlet:7.6.8.v20121106]
    at 
org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:683)[64:org.eclipse.jetty.server:7.6.8.v20121106]
    at 
org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doStart(HttpServiceContext.java:100)[76:org.ops4j.pax.web.pax-web-jetty:1.1.12]
    at 
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)[58:org.eclipse.jetty.util:7.6.8.v20121106]
    at 
org.ops4j.pax.web.service.jetty.internal.JettyServerImpl$1.start(JettyServerImpl.java:165)[76:org.ops4j.pax.web.pax-web-jetty:1.1.12]
    at 
org.ops4j.pax.web.service.internal.HttpServiceStarted.end(HttpServiceStarted.java:758)[75:org.ops4j.pax.web.pax-web-runtime:1.1.12]
    at 
org.ops4j.pax.web.service.internal.HttpServiceProxy.end(HttpServiceProxy.java:281)[75:org.ops4j.pax.web.pax-web-runtime:1.1.12]
    at 
org.ops4j.pax.web.extender.war.internal.RegisterWebAppVisitorWC.end(RegisterWebAppVisitorWC.java:348)[218:org.ops4j.pax.web.pax-web-extender-war:1.1.12]
    at 
org.ops4j.pax.web.extender.war.internal.model.WebApp.accept(WebApp.java:629)[218:org.ops4j.pax.web.pax-web-extender-war:1.1.12]
    at 
org.ops4j.pax.web.extender.war.internal.WebAppPublisher$HttpServiceListener.register(WebAppPublisher.java:170)[218:org.ops4j.pax.web.pax-web-extender-war:1.1.12]
    at 
org.ops4j.pax.web.extender.war.internal.WebAppPublisher$HttpServiceListener.serviceChanged(WebAppPublisher.java:155)[218:org.ops4j.pax.web.pax-web-extender-war:1.1.12]
    at 
org.ops4j.pax.web.extender.war.internal.WebAppPublisher$HttpServiceListener.serviceChanged(WebAppPublisher.java:119)[218:org.ops4j.pax.web.pax-web-extender-war:1.1.12]
    at 
org.ops4j.pax.swissbox.tracker.ReplaceableService.setService(ReplaceableService.java:114)[218:org.ops4j.pax.web.pax-web-extender-war:1.1.12]
    at 
org.ops4j.pax.swissbox.tracker.ReplaceableService.access$100(ReplaceableService.java:28)[218:org.ops4j.pax.web.pax-web-extender-war:1.1.12]
    at 
org.ops4j.pax.swissbox.tracker.ReplaceableService$CollectionListener.serviceAdded(ReplaceableService.java:183)[218:org.ops4j.pax.web.pax-web-extender-war:1.1.12]
    at 
org.ops4j.pax.swissbox.tracker.ServiceCollection$Tracker.addingService(ServiceCollection.java:181)[218:org.ops4j.pax.web.pax-web-extender-war:1.1.12]
    at 
org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:932)[karaf.jar:2.3.1]
    at 
org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:1)[karaf.jar:2.3.1]
    at 
org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256)[karaf.jar:2.3.1]
    at 
org.osgi.util.tracker.AbstractTracked.trackInitial(AbstractTracked.java:183)[karaf.jar:2.3.1]
    at 
org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:317)[karaf.jar:2.3.1]
    at 
org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:261)[karaf.jar:2.3.1]
    at 
org.ops4j.pax.swissbox.tracker.ServiceCollection.onStart(ServiceCollection.java:139)[218:org.ops4j.pax.web.pax-web-extender-war:1.1.12]
    at 
org.ops4j.pax.swissbox.lifecycle.AbstractLifecycle$Stopped.start(AbstractLifecycle.java:121)[218:org.ops4j.pax.web.pax-web-extender-war:1.1.12]
    at 
org.ops4j.pax.swissbox.lifecycle.AbstractLifecycle.start(AbstractLifecycle.java:49)[218:org.ops4j.pax.web.pax-web-extender-war:1.1.12]
    at 
org.ops4j.pax.swissbox.tracker.ReplaceableService.onStart(ReplaceableService.java:146)[218:org.ops4j.pax.web.pax-web-extender-war:1.1.12]
    at 
org.ops4j.pax.swissbox.lifecycle.AbstractLifecycle$Stopped.start(AbstractLifecycle.java:121)[218:org.ops4j.pax.web.pax-web-extender-war:1.1.12]
    at 
org.ops4j.pax.swissbox.lifecycle.AbstractLifecycle.start(AbstractLifecycle.java:49)[218:org.ops4j.pax.web.pax-web-extender-war:1.1.12]
    at 
org.ops4j.pax.web.extender.war.internal.WebAppPublisher.publish(WebAppPublisher.java:81)[218:org.ops4j.pax.web.pax-web-extender-war:1.1.12]
    at 
org.ops4j.pax.web.extender.war.internal.WebXmlObserver.deploy(WebXmlObserver.java:204)[218:org.ops4j.pax.web.pax-web-extender-war:1.1.12]
    at 
org.ops4j.pax.web.extender.war.internal.WebXmlObserver.addingEntries(WebXmlObserver.java:162)[218:org.ops4j.pax.web.pax-web-extender-war:1.1.12]
    at 
org.ops4j.pax.swissbox.extender.BundleWatcher$3.run(BundleWatcher.java:224)[218:org.ops4j.pax.web.pax-web-extender-war:1.1.12]

...

22:54:42,802 | DEBUG | tenerExecutor: 2 | ?                                   ? 
| 75 - org.ops4j.pax.web.pax-web-runtime - 1.1.12 | 
org/osgi/service/web/UNDEPLOYED
22:54:42,803 | ERROR | Executor: 3      | nder.war.internal.WebXmlObserver  171 
| 218 - org.ops4j.pax.web.pax-web-extender-war - 1.1.12 | Could not parse 
web.xml
java.lang.IllegalStateException: No LoginService for 
org.eclipse.jetty.security.authentication.BasicAuthenticator@7f664b8a in 
org.eclipse.jetty.security.ConstraintSecurityHandler@3db60ec4
    at 
org.eclipse.jetty.security.authentication.LoginAuthenticator.setConfiguration(LoginAuthenticator.java:44)[65:org.eclipse.jetty.security:7.6.8.v20121106]
    at 
org.eclipse.jetty.security.SecurityHandler.doStart(SecurityHandler.java:376)[65:org.eclipse.jetty.security:7.6.8.v20121106]


I'd appreciate a hint.


Thanks

Oli


------

Oliver Wulff

Blog: http://owulff.blogspot.com<http://owulff.blogspot.com/>
Solution Architect
http://coders.talend.com

<http://coders.talend.com>Talend Application Integration Division 
http://www.talend.com

________________________________
From: Achim Nierbeck [[email protected]]
Sent: 27 January 2013 21:21
To: [email protected]
Subject: Re: Configure authenticator for jetty in karaf

Hi Oliver,

I'm not sure I follow. The servlet context / Web-ApplicationContext configured 
in the Manifest is not connected to the jetty.xml. Those are different things. 
With the jetty.xml you are able to do a finer grained configuration compared to 
the configuration available through the config-admin service.
So for example if you need to add another ServletContext Handler you need to 
"get" the list of Handlers from the jetty server first, the sample of my blog 
post is just about adding a DefaultServlet publishing static content.

regards, Achim


2013/1/27 Oliver Wulff <[email protected]<mailto:[email protected]>>
Hi Achim

What about the reference to the resource:
<Set name="resourceBase">/path/to/your/share</Set>

Is this really required in karaf? I've configured the servlet context in the 
manifest file thus the link between karaf jetty.xml and the war bundle could be 
created.

Thanks
Oli




________________________________
From: Achim Nierbeck [[email protected]<mailto:[email protected]>]
Sent: 26 January 2013 18:32

To: [email protected]<mailto:[email protected]>
Subject: Re: Configure authenticator for jetty in karaf


Hi, I already wrote a little blog about it.
You can find it at [1]

Regards, Achim

[1] - 
http://notizblog.nierbeck.de/2011/05/adding-additional-servletcontext-in-pax-web/

sent from mobile device

Am 26.01.2013 03:31 schrieb "Jean-Baptiste Onofré" 
<[email protected]<mailto:[email protected]>>:
Hi Oli,

In fact, in etc/org.ops4j.pax.web.cfg, you can reference a etc/jetty.xml.

In this jetty.xml, you can define your different connectors, and in your webapp 
(WAB) you can define which connector you want to use.

I gonna blog about that (it's on my TODO ;)).

Regards
JB

On 01/25/2013 10:28 PM, Oliver Wulff wrote:
Hi JB

I could configure something like this in jetty.xml I assume:

<Configure class="org.eclipse.jetty.webapp.WebAppContext">
   <Set name="contextPath">/fedizhelloworld</Set>
   <Get name="securityHandler">
     <Set name="loginService">
       <New class="org.apache.cxf.fediz.jetty.FederationLoginService">
           <Set name="name">WSFED</Set>
         </New>
     </Set>
     <Set name="authenticator">
       <New class="org.apache.cxf.fediz.jetty.FederationAuthenticator">
         <Set name="configFile"><SystemProperty name="jetty.home" 
default="."/>/etc/fediz_config.xml</Set>
       </New>
     </Set>
     <Set name="checkWelcomeFiles">true</Set>
   </Get>
</Configure>

But isn't it possible to configure the context related configs similar to the 
native jetty distribution (<jetty-home>/contexts) without having to update the 
core jetty.xml configuration?

Thanks
Oli


------

Oliver Wulff

Blog: http://owulff.blogspot.com
Solution Architect
http://coders.talend.com

Talend Application Integration Division http://www.talend.com

________________________________________
From: Jean-Baptiste Onofré [[email protected]<mailto:[email protected]>]
Sent: 26 November 2012 20:52
To: [email protected]<mailto:[email protected]>
Subject: Re: Configure authenticator for jetty in karaf

Hi Oli,

when installing the http feature, you have access to etc/jetty.xml where
you can create your custom configuration.

Regards
JB

On 11/26/2012 08:48 PM, Oliver Wulff wrote:
Hi there

I've built a custom authenticator for jetty thus web applications can
also support WS-Federation SSO in Karaf for authentication. The snapshot
version of the jetty module works but I'm wondering where I can
configure the jetty authenticator, loginservice etc in Karaf.

Thanks
Oli

------

Oliver Wulff

Blog: http://owulff.blogspot.com <http://owulff.blogspot.com/>
Solution Architect
http://coders.talend.com

<http://coders.talend.com>Talend Application Integration Division
http://www.talend.com


--
Jean-Baptiste Onofré
[email protected]<mailto:[email protected]>
http://blog.nanthrax.net
Talend - http://www.talend.com


--
Jean-Baptiste Onofré
[email protected]<mailto:[email protected]>
http://blog.nanthrax.net
Talend - http://www.talend.com



--

Apache Karaf <http://karaf.apache.org/> Committer & PMC
OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/> Committer & 
Project Lead
OPS4J Pax for Vaadin <http://team.ops4j.org/wiki/display/PAXVAADIN/Home> 
Commiter & Project Lead
blog <http://notizblog.nierbeck.de/>

Reply via email to