【问题标题】:Making webservice制作网络服务
【发布时间】:2014-11-13 08:19:34
【问题描述】:

我编写了以下 Java 代码来编写一个 Web 服务,该服务将从数据库表中返回一些行:

package ncw;

import java.sql.Connection;
import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.util.ArrayList;

import javax.jws.Oneway;
import javax.jws.WebMethod;
import javax.jws.WebService;

@WebService
public class PLSQLWS {
    @WebMethod
    @Oneway
    public ArrayList getSalesPlanningTestData() {
        String query = "select * from sales_planning_test_data";
        ArrayList data = new ArrayList();
        try {
            Connection conn = connect();
            if (conn != null) {
                PreparedStatement stmt =  conn.prepareStatement(query);
                ResultSet rs = stmt.executeQuery();
                while (rs.next()) {
                    SALES_PLANNING_WS_DATA row = new SALES_PLANNING_WS_DATA();
                    row.setId(rs.getInt(1));
                    row.setPoNumber(rs.getString(2));
                    row.setSomethingElse(rs.getString(3));
                    row.setFlag(rs.getString(4));
                    data.add(row);
                }
            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }

        return data;
    }

    public ArrayList<String> getNames(){
        ArrayList<String> list = new ArrayList<String>();
        list.add("usman");
        list.add("Mohsin");
        return list;
    }

    private Connection connect() throws Exception {
        Class.forName("oracle.jdbc.driver.OracleDriver");
        Connection connection =
            DriverManager.getConnection("jdbc:oracle:thin:@192.xxx.x.xxx:1531:mysid", "username","password");
        return connection;
    }
}

SALES_PLANNING_WS_DATA.java

package ncw;



public class SALES_PLANNING_WS_DATA {
    private int id;
    private String poNumber;
    private String somethingElse;
    private String flag;

    public SALES_PLANNING_WS_DATA() {

    }

    public void setId(int id) {
        this.id = id;
    }

    public int getId() {
        return id;
    }

    public void setPoNumber(String poNumber) {
        this.poNumber = poNumber;
    }

    public String getPoNumber() {
        return poNumber;
    }


    public void setSomethingElse(String somethingElse) {
        this.somethingElse = somethingElse;
    }

    public String getSomethingElse() {
        return somethingElse;
    }

    public void setFlag(String flag) {
        this.flag = flag;
    }


    public String getFlag() {
        return flag;
    }
    public String toString(){
        return getPoNumber();
    }
}

我使用 JDeveloper 创建 Web 服务。当我在 HTTP Analyzer 中对其进行测试并调用 getSalesPlanningTestData() 方法时,我没有得到任何结果。输出部分显示“所选消息不是肥皂消息”。当我调用 getNames() 方法时,它会返回数据。

有人知道这里出了什么问题吗?

【问题讨论】:

    标签: java web-services oracle-adf


    【解决方案1】:

    删除@Oneway 注释。它定义了没有返回任何数据的 webmethod

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-16
    • 2010-10-25
    • 2011-09-15
    相关资源
    最近更新 更多