Casting to StubExr leads to ClassCastException
gressho Jul 23, 2008 8:42 AMHello,
I'm trying to add WS-Security to my web services which are running fine
without. I generated the client code with Netbeans 6.1 and built the
following class to use it. I added all jars from wsrunclient to the classpath
of my project and tried to run it. The result was
java.lang.ClassCastException: $Proxy31 cannot be cast to org.jboss.ws.core.StubExt
at javaapplication1.Main.main(Main.java:33)
My code:
/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package javaapplication1; import de.wwu.services.mailservice.Charset; import de.wwu.services.mailservice.Recipient; import de.wwu.services.mailservice.RecipientType; import java.io.File; import java.net.URL; import org.jboss.ws.core.StubExt; /** * * @author gressho */ public class Main { /** * @param args the command line arguments */ public static void main(String[] args) { try { // Call Web Service Operation de.wwu.services.mailservice.NotificationService service = new de.wwu.services.mailservice.NotificationService(); de.wwu.services.mailservice.NotificationEndpoint port = service.getNotificationEndpointPort(); URL securityURL = new File("META-INF/jboss-wsse-client.xml").toURI().toURL(); URL securityConfig= new File("META-INF/standard-jaxws-client-config.xml").toURI().toURL(); ((StubExt)port).setSecurityConfig(securityConfig.toExternalForm()); ((StubExt)port).setConfigName("Standard WSSecurity Client"); // TODO initialize WS operation arguments here de.wwu.services.mailservice.Message message = new de.wwu.services.mailservice.Message(); message.setCharset(Charset.UTF_8); Recipient firstRecipient = new Recipient(); firstRecipient.setRecipientType(RecipientType.TO); firstRecipient.setRecipientAddress("gressho@uni-muenster.de"); message.getRecipients().add(firstRecipient); message.setSender("gressho@uni-muenster.de"); message.setSubject("Clustertest"); message.setContent("Diese Mail ist ein Test... Also gleich wegschmeißen!"); port.NotifyRecipients(message); } catch (Exception ex) { ex.printStackTrace(); // TODO handle custom exceptions here } // TODO code application logic here } }
Every help is appreciated
Werner