我正在创建一个web服务,同时消耗这样的错误:
线程“main”中的异常org.apache.axis2.AxisFault:org.apache.axis2.AxisFault:>映射qname不喜欢该包:oracle.jdbc.driver at org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:531) 在org.apache.axis2.description.OutInAxisOperationClient.handleResponse>>>>(OutInAxisOperation.java:375) 在org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:421) at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229) 在org.apache.axis2.client.OperationClient.execute(OperationClient.java:165) at com.db.DatabaseClassStub.getDataBaseConnection(DatabaseClassStub.java:185) 在com.db.TestDatabaseClass.main(TestDatabaseClass.java:13)
用于创建使用apache axis2和eclipse连接Oracle SQL Developer的Web服务。我使用了以下s / w: 1)。 Eclipse Helios 2)。 Apache Tomcat 6 3)。 axis2-1.6.1-bin和axis2-1.6.1-war并在tomcat lib文件夹中保留“ojdbc5”。
我的Webservices创建java代码是,
package com.db;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class DatabaseClass {
static Connection con = null;
public static Connection getDataBaseConnection()
{
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
} catch (ClassNotFoundException e1) {
e1.printStackTrace();
}
try {
con = DriverManager.getConnection("jdbc:oracle:thin:@10.137.12.133:1521:ora11gr2","tran1","training123");
} catch (SQLException e) {
e.printStackTrace();
}
if (con != null) {
System.out.println("You made it, take control your database now!");
} else {
System.out.println("Failed to make connection!");
}
return con;
}
}
和消费webservices Java代码是:
package com.db;
import java.rmi.RemoteException;
import com.db.DatabaseClassStub.GetDataBaseConnection;
import com.db.DatabaseClassStub.GetDataBaseConnectionResponse;
public class TestDatabaseClass {
public static void main(String[] args) throws RemoteException {
DatabaseClassStub stub = new DatabaseClassStub();
GetDataBaseConnection conn = new GetDataBaseConnection();
GetDataBaseConnectionResponse response = stub.getDataBaseConnection(conn);
System.out.println(response.get_return());
}
}
你能告诉我我在哪里做错了吗?每当我试图执行TestDatabaseClass.java时我都会提到错误。相同的代码(DatabaseClass.java)当我在简单的java项目中执行时,它给出了输出,但为什么不在webservices中呢?
答案 0 :(得分:0)
您无法在SOAP Web服务操作中“导出”JDBC Connection
:通过定义可以串行化(作为XML)。
您可以公开提供查询结果的方法/操作。