Reputation: 568
I'm getting the following error when trying to build my very simple webservice project. I've given the build.xml, my java file and path values
The class file is getting generated, but service is not getting generated.
Please help... It's bugging for a looooong time..
Thanks! :)
CLASSPATH=C:\bea\weblogic81\server\lib\weblogic.jar;C:\bea\weblogic81\server\lib \webservices.jar;C:\bea\weblogic81\server\lib\ojdbc14.jar;C:\j2sdk1.4.2_18\jre\l ib\rt.jar;c:\ant\apache-ant-1.5.4\lib\ant.jar;c:\ant\apache-ant-1.5.4\lib\option al.jar;
Path=C:\Program Files\Reflection;C:\oracle\ora92\bin;C:\Program Files\Oracle\jre \1.3.1\bin;C:\Program Files\Oracle\jre\1.1.8\bin;C:\WINDOWS\system32;C:\WINDOWS; C:\WINDOWS\System32\Wbem;C:\Program Files\Intel\DMIX;C:\Program Files\Windows Im aging\;C:\j2sdk1.4.2_18\bin;c:\j2sdk1.4.2_18\bin;c:\ant\apache-ant-1.5.4\bin; PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
import java.sql.*;
import java.util.*;
public class UserModel
{
Connection con=null;
Statement st=null;
Statement st1=null;
ResultSet rs=null;
String nm,age,course,address,mob,IdNum1;
int IdNum,id;
int x;
int check=0;
ArrayList list=new ArrayList();
ArrayList eptylist=new ArrayList();
UserModel()
{
}
public int insert(String name,String age,String course,String address,int Mob) throws SQLException, ClassNotFoundException
{
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con=DriverManager.getConnection("jdbc:oracle:thin:@192.168.142.22:40401:MKTMRM9","mrm2","Marms*123.");
st=con.createStatement();
x= st.executeUpdate("insert into student values(seqno.nextval,'"+name+"','"+age+"','"+course+"','"+address+"','"+Mob+"')");
if(x==1)
{
st1=con.createStatement();
rs=st.executeQuery("select seqno.currval from student");
while(rs.next())
{
IdNum=rs.getInt(1);
}
return IdNum;
}
else
return 0;
}
public ArrayList getDetails(int id1) throws SQLException, ClassNotFoundException
{
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con=DriverManager.getConnection("jdbc:oracle:thin:@192.168.142.22:40401:MKTMRM9","mrm2","Marms*123.");
st=con.createStatement();
rs=st.executeQuery("select * from student where StudentId="+id1);
while(rs.next())
{
check++;
id=rs.getInt(1);
nm=rs.getString(2);
age=rs.getString(3);
course=rs.getString(4);
address=rs.getString(5);
mob=rs.getString(6);
}
list.add(new Integer(id));
list.add(nm);
list.add(age);
list.add(course);
list.add(address);
list.add(mob);
if(check!=0)
return list;
else
return eptylist;
}
}
<?xml version="1.0"?>
<project name="WebServiceServer" default="create" basedir=".">
<taskdef name="servicegen" classname="weblogic.ant.taskdefs.webservices.servicegen.ServiceGenTask"/>
<property name="src" value=".\src"/>
<property name="build" value=".\build"/>
<property name="namespace" value="http://localhost:7001/UserModel"/>
<target name="create">
<javac srcdir="${src}" destdir="${build}" includes="**/*.java">
</javac>
<servicegen
destEar="myWebServer.ear"
warName="mywebserver.war"
contextURI="WebServiceServer">
<service
javaClassComponents="UserModel"
targetNamespace="${namespace}"
serviceName="UserModel"
serviceURI="/UserModel"
generateTypes="True"
expandMethods="True"
style="rpc">
</service>
<classpath>
<pathelement path="${build}"/>
<pathelement path="${java.class.path}"/>
<pathelement path="{lib}/ojdbc14.jar"/>
</classpath>
</servicegen>
</target>
</project>
Buildfile: build.xml create: [javac] Compiling 1 source file to C:\Documents and Settings\344756\New\MyWe b\WebServiceServer\build [servicegen] Generating service "UserModel" ... [servicegen] java.lang.SecurityException: Prohibited package name: java.lang [servicegen] at java.lang.ClassLoader.defineClass(ClassLoader.java:524) [servicegen] at java.security.SecureClassLoader.defineClass(SecureClassLoader .java:123) [servicegen] at weblogic.utils.classloaders.GenericClassLoader.findLocalClass (GenericClassLoader.java:476) [servicegen] at weblogic.utils.classloaders.GenericClassLoader.findClass(Gene ricClassLoader.java:181) [servicegen] at java.lang.ClassLoader.loadClass(ClassLoader.java:289) [servicegen] at java.lang.ClassLoader.loadClass(ClassLoader.java:235) [servicegen] at weblogic.utils.classloaders.GenericClassLoader.loadClass(Gene ricClassLoader.java:223) [servicegen] at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302) [servicegen] at java.lang.Class.forName0(Native Method) [servicegen] at java.lang.Class.forName(Class.java:219) [servicegen] at weblogic.xml.schema.binding.internal.codegen.Compiler.loadCla ss(Compiler.java:641) [servicegen] at weblogic.xml.schema.binding.internal.codegen.Compiler.addToMa pping(Compiler.java:450) [servicegen] at weblogic.xml.schema.binding.internal.codegen.Compiler.compile (Compiler.java:175) [servicegen] at weblogic.xml.schema.binding.internal.XSDTypeMappingBuilder.ma pClass(XSDTypeMappingBuilder.java:89) [servicegen] at weblogic.xml.schema.binding.internal.XSDTypeMappingBuilder.ma pClass(XSDTypeMappingBuilder.java:102) [servicegen] at weblogic.xml.schema.binding.internal.TypeMappingBuilderBase.a ddMapping(TypeMappingBuilderBase.java:180) [servicegen] at weblogic.ant.taskdefs.webservices.autotype.ComponentAutoTyper .addMapping(ComponentAutoTyper.java:88) [servicegen] at weblogic.ant.taskdefs.webservices.autotype.ComponentAutoTyper .mapComponent(ComponentAutoTyper.java:141) [servicegen] at weblogic.ant.taskdefs.webservices.autotype.JavaAutoTyper.run( JavaAutoTyper.java:81) [servicegen] at weblogic.ant.taskdefs.webservices.servicegen.ServiceGenTask.r unAutoTyper(ServiceGenTask.java:367) [servicegen] at weblogic.ant.taskdefs.webservices.servicegen.ServiceGenTask.g enerateService(ServiceGenTask.java:313) [servicegen] at weblogic.ant.taskdefs.webservices.servicegen.ServiceGenTask.e xecute(ServiceGenTask.java:181) [servicegen] at org.apache.tools.ant.Task.perform(Task.java:341) [servicegen] at org.apache.tools.ant.Target.execute(Target.java:309) [servicegen] at org.apache.tools.ant.Target.performTasks(Target.java:336) [servicegen] at org.apache.tools.ant.Project.executeTarget(Project.java:1339) [servicegen] at org.apache.tools.ant.Project.executeTargets(Project.java:1255 ) [servicegen] at org.apache.tools.ant.Main.runBuild(Main.java:609) [servicegen] at org.apache.tools.ant.Main.start(Main.java:196) [servicegen] at org.apache.tools.ant.Main.main(Main.java:235) BUILD FAILED file:C:/Documents%20and%20Settings/344756/New/MyWeb/WebServiceServer/build.xml:2 0: java.lang.SecurityException: Prohibited package name: java.lang Total time: 1 second
Upvotes: 1
Views: 14427
Reputation: 16
If you make sure your project package name is not start with Java or javax, try to use the following way:
When I run:
mvn clean install
Command in CLI, it shows build success, when I use Eclipse compile project, it shows
java.lang.SecurityException: Prohibited package name: java.lang.annotation
But my parnter project was right, I think it's IDE or compile environment problem, when I downgrade jdk version from 1.8x to 1.7x, the problem is gone.
Upvotes: 0
Reputation: 206896
What package are your own classes in?
This error happens because it's forbidden to put your own classes in the package java.lang
. It looks like you are trying to compile a class that's in the package java.lang
.
If your own classes are not in a package at all (you don't have a package
statement at the top of your source files), then put them in a package.
Upvotes: 3