在使用连接Oracle SQL Developer的自创Web服务时获取错误

时间:2012-03-23 05:48:17

标签: web-services

我正在创建一个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中呢?

1 个答案:

答案 0 :(得分:0)

您无法在SOAP Web服务操作中“导出”JDBC Connection:通过定义可以串行化(作为XML)。

您可以公开提供查询结果的方法/操作。