Rao!!!
Hoje estava criando um cliente para um WebService. Baixei o JBoss IDE (Que por sinal é uma ótima ferramenta! Na verdade é o eclipse com ferramentas a mais!)
Usei o gerador de Cliente Web service do Jboss e apartir do endereço do WSDL o plugin gera todas as classes!
Depois de gerar as classes me debati com o seguinte erro ao executar o cliente!
java.lang.SecurityException: Prohibited package name: java.lang at java.lang.ClassLoader.preDefineClass(Unknown Source)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at MediaSearchBeanServiceLocator.getMediaSearchBeanPort( MediaSearchBeanServiceLocator.java:55)
at MediaSearchBeanServiceLocator.getMediaSearchBeanPort( MediaSearchBeanServiceLocator.java:50)
at MediaSearchBeanProxy._initMediaSearchBeanProxy( MediaSearchBeanProxy.java:13)
at MediaSearchBeanProxy.<init>(MediaSearchBeanProxy.java:8)
Então! o problema é que o gerador cliente também gerou as classes de Excessões do próprio java!
No meu caso, o web Service poderia levantar uma “java.lang.Exception”, mas “java.lang” é um pacote do java, e como este pacote estava sendo referenciado no WSDL, o gerador acabou criando as classe e o pacote.
Para resolver o problema apenas renomeie o pacote para outro nome.
No Eclipse, basta clicar com o botão direito no pacote e clicar em:
Refactor -> Rename
E o eclipse já altera no projeto inteiro todas as classes que tenham referência a classe!

Add to del.icio.us