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