I resolved this problem - partially.

I switched the UserId to :

                try {
                        String clazz = 
UDDIClientContainer.getUDDIClerkManager(null).
                                        
getClientConfig().getUDDINode("default").getProxyTransport();
                        Class transportClass = ClassUtil.forName(clazz, 
Transport.class);
                        if (transportClass!=null) {
                                Transport transport = (Transport)
transportClass.getConstructor(String.class).newInstance("default");
                                UDDISecurityPortType security = 
transport.getUDDISecurityService();
                                
                                
                                GetAuthToken getAuthToken = new GetAuthToken();
                                getAuthToken.setUserID("CN=LDAP 
SEARCH,CN=Managed Service
Accounts,DC=mydomain,DC=net");
                                getAuthToken.setCred("mysecret");
                                AuthToken authToken = 
security.getAuthToken(getAuthToken);
                                System.out.println("User token " 
+authToken.getAuthInfo());
                                assertTrue(authToken.getAuthInfo() != null);

                        }
                }
                catch (Exception e) {
                        e.printStackTrace();
                }



Then I noticed that the -- the user was being authenticated by tailing
the juddi.log

But I noticed that the isLdapUser is set to false at the beginning of
authenticate but is never set to true at the end of the try block.

Thus, it always throws an the UnknownUserException with errors.auth.NoPublisher



On Tue, Sep 27, 2011 at 9:58 AM, S K <[email protected]> wrote:
> Hi Kurt,
>
> I am not familiar with Soap-UI -- but I am using another simplier
> approach to testing juddi connection with my LDAP.
>
> I built a simple junit test function that -- if using the default
> authenticator -- would authenticate successfully..
>
> But if I changed the juddiv3.properties to point to my LDAP server (as
> described the initiail email in the thread) -- I get the same error.
>
> I have attached a tgz containing the simple junit (maven based) test
> function to obtain the authToken.
>
> -------------------------------------------------------
> log4j:WARN No appenders could be found for logger 
> (org.apache.juddi.v3.client.co
> nfig.UDDIClientContainer).
> log4j:WARN Please initialize the log4j system properly.
>  T E S T S
> -------------------------------------------------------
> log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more 
> in
> fo.
> Running com.sk92129.SimpleUserAuthenticationTest
> javax.xml.ws.soap.SOAPFaultException: The user provided does not have a 
> publishi
> ng account:  root
>        at 
> com.sun.xml.internal.ws.fault.SOAP11Fault.getProtocolException(SOAP11
> Fault.java:178)
>        at 
> com.sun.xml.internal.ws.fault.SOAPFaultBuilder.createException(SOAPFa
> ultBuilder.java:119)
>        at 
> com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMetho
> dHandler.java:108)
>        at 
> com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMetho
> dHandler.java:78)
>        at com.sun.xml.internal.ws.client.sei.SEIStub.invoke(SEIStub.java:107)
>        at $Proxy43.getAuthToken(Unknown Source)
>        at 
> com.sk92129.SimpleUserAuthenticationTest.testSimpleAuthentication(Sim
> pleUserAuthenticationTest.java:49)
>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>        at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
> java:39)
>        at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
> sorImpl.java:25)
>        at java.lang.reflect.Method.invoke(Method.java:597)
>        at 
> org.junit.internal.runners.TestMethodRunner.executeMethodBody(TestMet
> hodRunner.java:99)
>        at 
> org.junit.internal.runners.TestMethodRunner.runUnprotected(TestMethod
> Runner.java:81)
>        at 
> org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAn
> dAfterRunner.java:34)
>        at 
> org.junit.internal.runners.TestMethodRunner.runMethod(TestMethodRunne
> r.java:75)
>        at 
> org.junit.internal.runners.TestMethodRunner.run(TestMethodRunner.java
> :45)
>        at 
> org.junit.internal.runners.TestClassMethodsRunner.invokeTestMethod(Te
> stClassMethodsRunner.java:71)
>        at 
> org.junit.internal.runners.TestClassMethodsRunner.run(TestClassMethod
> sRunner.java:35)
>        at 
> org.junit.internal.runners.TestClassRunner$1.runUnprotected(TestClass
> Runner.java:42)
>        at 
> org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAn
> dAfterRunner.java:34)
>        at 
> org.junit.internal.runners.TestClassRunner.run(TestClassRunner.java:5
> 2)
>        at 
> org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.
> java:35)
>        at 
> org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4
> Provider.java:115)
>        at 
> org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider
> .java:97)
>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>        at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
> java:39)
>        at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
> sorImpl.java:25)
>        at java.lang.reflect.Method.invoke(Method.java:597)
>        at 
> org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.inv
> oke(ProviderFactory.java:103)
>        at $Proxy0.invoke(Unknown Source)
>        at 
> org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(Suref
> ireStarter.java:150)
>        at 
> org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(S
> urefireStarter.java:91)
>        at 
> org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:
> 69)
> Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.763 sec
>
> Results :
>
> Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
>
>
> On Tue, Sep 27, 2011 at 5:37 AM, Kurt T Stam <[email protected]> wrote:
>> Hi SK,
>>
>> 1. I would first try to just get the juddi-server to work with the LDAP and
>> send some
>> requests in using SOAP-UI, to see if you can get a security token. See also
>> http://juddi.apache.org/docs/3.x/userguide/html/chap-Authentication.html#sect-LDAP_Authentication
>>
>> 2. That said it looks like you are using the 'uddi' user. This is a
>> restricted publisher
>> who owns all the uddi tmodels. You should not be using this user, but rather
>> create your own. Or use the 'root' user until then.
>>
>> 3. Once you get that to work we can make sure the portal works too. The
>> trick there is
>> that the login credentials need to be passed on from the portal to the UDDI
>> logon, so there
>> may be some additional gotchas to overcome there. So start with (1) first.
>>
>> Cheers,
>>
>> --Kurt
>>
>> On 9/26/11 8:12 PM, S K wrote:
>>>
>>> Hi,
>>>
>>> I am attempting to configure the juddi 3.1.0 pluto portal to use the
>>> LDAP v3 interface that is accessible with MS Active Directory.
>>>
>>> I changed the juddiv3.properties in the
>>> <juddi-portal>/webapps/juddiv3/WEB-INF/classes and in
>>> <juddi-portal>/webapps/uddi-portlets/WEB-INF/classes
>>>
>>> # jUDDI Authentication module to use
>>> #juddi.authenticator = org.apache.juddi.v3.auth.JUDDIAuthenticator
>>> juddi.authenticator=org.apache.juddi.v3.auth.LdapSimpleAuthenticator
>>> juddi.authenticator.url=ldap://myldapserver.net:389
>>>
>>>
>>> I am able to use JXplorer to browse that same LDAP server (using the
>>> same port, LDAP v3, User+Password, a password, and a User DN
>>> containing DC=something,DC=net
>>>
>>> When I log into the juddi pluto portal, I can get authenticated at the
>>> front.
>>> But when I click on any of the portlet links, for example, the jUDDI,
>>> jUDDI Subscriptions, jUDDI Admin, the browser reports an error related
>>> this juddi.log entry (below)
>>>
>>> If I use uddi/uddi as userid and password, I get this error.   If I
>>> use an actual user entry, I cannot log into the main juddi pluto
>>> portal -- reports that the user cannot be authenticated.
>>>
>>>
>>> Can someone point to me some additional LDAP configuration required for
>>> JUDDI ?
>>>
>>> I saw this jira related items but they are either too old, incomplete,
>>> or related to the novell LDAP.
>>>
>>> https://issues.apache.org/jira/browse/JUDDI-405
>>> https://issues.apache.org/jira/browse/JUDDI-399
>>> https://issues.apache.org/jira/browse/JUDDI-16
>>> https://issues.apache.org/jira/browse/JUDDI-15
>>> https://issues.apache.org/jira/browse/JUDDI-317
>>>
>>>
>>> 2011-09-26 15:12:20,758 INFO
>>> [org.apache.juddi.v3.auth.LdapSimpleAuthenticator] - uddi is
>>> authenticated
>>> 2011-09-26 15:12:20,789 ERROR
>>> [org.apache.juddi.portlets.server.service.SecurityServiceImpl] - Could
>>> not obtain token. The user provided does not have a publishing
>>> account:  uddi
>>> javax.xml.ws.soap.SOAPFaultException: The user provided does not have
>>> a publishing account:  uddi
>>>        at
>>> com.sun.xml.ws.fault.SOAP11Fault.getProtocolException(SOAP11Fault.java:188)
>>>        at
>>> com.sun.xml.ws.fault.SOAPFaultBuilder.createException(SOAPFaultBuilder.java:130)
>>>        at
>>> com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:119)
>>>        at
>>> com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:89)
>>>        at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:118)
>>>        at $Proxy95.getAuthToken(Unknown Source)
>>>        at
>>> org.apache.juddi.portlets.server.service.SecurityServiceImpl.login(SecurityServiceImpl.java:130)
>>>        at
>>> org.apache.juddi.portlets.server.service.SecurityServiceImpl.get(SecurityServiceImpl.java:81)
>>>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>        at
>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>>        at
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>>        at java.lang.reflect.Method.invoke(Method.java:597)
>>>        at
>>> com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:527)
>>>        at
>>> com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:164)
>>>        at
>>> com.google.gwt.user.server.rpc.RemoteServiceServlet.doPost(RemoteServiceServlet.java:86)
>>>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
>>>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>>>        at
>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>>>        at
>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>>>        at
>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
>>>        at
>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
>>>        at
>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
>>>        at
>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>>>        at
>>> org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:421)
>>>        at
>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>>>        at
>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
>>>        at
>>> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
>>>        at
>>> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
>>>        at
>>> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
>>>        at java.lang.Thread.run(Thread.java:662)
>>
>>
>

Reply via email to