Hey Kurt, Here is the log from Catalina: http://codepaste.net/abrvqa
2011/3/29 Kurt T Stam <[email protected]> > Hi Martin, > > Can you check the juddi.log on the server side for stacktraces? > You are doing something very similar to what we do in the unittests (and it > works fine there), so I'm not sure what's going on. > > It should never deal with anything org.apache.juddi.model.* on the client > side. And I can't tell where it is trying a cast either.. > > Thx, > > --Kurt > > > On 3/29/11 9:17 AM, chainerlt wrote: > >> >> Kurt wrote: >> >>> Hi Martin, >>> >>> Your code fragments don't really tell the whole story, can you attach >>> all code and the >>> full stack trace? >>> >>> --Kurt >>> >>> Hi again, >> >> well I'm not gonna post whole project, since it is just too big, but I'm >> gonna show the classes which gets involved in this problem. >> >> so Here are 2 important classes which does work around with juddiv3. >> Tools class which operates with juddiv3 directly: >> Tools - http://codepaste.net/dijvwq >> and QueryBuilder which builds queries in a static way: >> QueryBuilder - http://codepaste.net/radvpa >> Some classes you might be interested in: >> FindQualifiersAbbreviations - http://codepaste.net/bw4oye >> SwingWorkerCompletionWaiter - http://codepaste.net/wwygis >> >> Let me remind I already set up XMLDocAuthenticator in >> ~\webapps\juddiv3\WEB-INF\classes\juddiv3.properties : >> >> >> juddi.authenticator = org.apache.juddi.v3.auth.XMLDocAuthenticator >>> juddi.usersfile = juddi-users.xml >>> >>> Have ~\webapps\juddiv3\WEB-INF\classes\juddi-users.xml which is: >> >> >> <?xml version="1.0" encoding="UTF-8" standalone="yes"?> >>> <juddi-users> >>> <user userid="anou_mana" password="password" /> >>> <user userid="bozo" password="clown" /> >>> <user userid="sviens" password="password" /> >>> <user userid="admin" password="secret" /> >>> </juddi-users> >>> >>> So everything seems to be working: I can get AuthToken using >> credentials. >> Also authorized users can save/delete business/services and etc. But >> problems appears in working with Publishers. I can view them, but cannot >> save/delete (throws exception). >> The main idea of the architecture: You build queries with QueryBuilder and >> pass them to Tools so it will return feedback depending on what query you >> gave to it. >> For instance let me show simplified code example of how I view all >> publishers: >> >> >> //Let's imagine we have a valid auth token with admin rights. >>> AuthToken authToken = ?; >>> //Build query (GetAllPublisherDetail) >>> Object query = QueryBuilder.GetAllPublisherDetail(authToken); >>> //Pass to the tools object so it can manage it and give me the >>> feedback >>> Object feedback = tools.submitQuery(null, query); >>> //the feedback should be PublisherDetail object or null. >>> //(I'm not adding exception handling here, so code could be more >>> easy to >>> read) >>> //Lets say it gives me PublisherDetail which I know contains all >>> publishers, >>> //and .getPublisher() will give me non-empty List<Publisher>. >>> //Lets take first Publisher from here: >>> Publisher p = ((PublisherDetail)feedback).getPublisher().get(0); >>> //Okay, lets imagine we edited this publisher a bit and now we >>> wanna save >>> it: >>> //Build query (SavePublisher) >>> query = QueryBuilder.GetSavePublisher(p ,authToken); >>> //Pass it to the tools, and expect PublisherDetail object as a >>> feedback >>> feedback = tools.submitQuery(null, query); //but here I get the exception >>> >>> The exception: >> >> >> javax.xml.ws.soap.SOAPFaultException: >>> org.apache.juddi.model.UddiEntityPublisher cannot be cast to >>> org.apache.juddi.model.Publisher >>> at >>> >>> com.sun.xml.internal.ws.fault.SOAP11Fault.getProtocolException(SOAP11Fault.java:178) >>> at >>> >>> com.sun.xml.internal.ws.fault.SOAPFaultBuilder.createException(SOAPFaultBuilder.java:111) >>> at >>> >>> com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:108) >>> at >>> >>> com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:78) >>> at >>> com.sun.xml.internal.ws.client.sei.SEIStub.invoke(SEIStub.java:107) >>> at $Proxy40.savePublisher(Unknown Source) >>> at >>> juddiv3admin.juddiv3.Tools$PublisherWorker.savePublisher(Tools.java:200) >>> at juddiv3admin.juddiv3.Tools$1.doInBackground(Tools.java:170) >>> at javax.swing.SwingWorker$1.call(SwingWorker.java:277) >>> at >>> java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) >>> at java.util.concurrent.FutureTask.run(FutureTask.java:138) >>> at javax.swing.SwingWorker.run(SwingWorker.java:316) >>> at >>> >>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) >>> at >>> >>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) >>> at java.lang.Thread.run(Thread.java:662) >>> >>> Appears in this Tools class here: >> >> >> public PublisherDetail savePublisher(SavePublisher savePublisher) throws >>> Exception >>> { >>> return juddiApi.savePublisher(savePublisher); >>> } >>> >>> Looking for answer, thank you. >> --Martin >> > >
