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
-- 
View this message in context: 
http://old.nabble.com/juddiv3-%283.0.4%29-%22juddi.authenticator%22-%28XMLDocAuthenticator%29-problems-with-saving-deleting-Publishers-tp31259207p31267635.html
Sent from the jUDDI - User mailing list archive at Nabble.com.

Reply via email to