从webservice netbeans

时间:2017-08-02 04:33:06

标签: web-services netbeans mybatis

抱歉,如果我的问题令人困惑,这是我第一次提出问题。如果我能做些什么来使它更清楚,那就告诉我,这样我就可以改进我的要求。

目前我正在尝试从可以检查数据库中的某些数据的netbeans制作Web服务。因为我是新手,所以我按照教程 http://programmerguru.com/webservice-tutorial/how-to-create-java-webservice-in-netbeans/制作网络服务。

但是当我尝试用mybattis的常规方式检查数据库时,它会继续给我java.lang.nulpointerexception。当我尝试调试它时,它给我“变量信息不可用,源代码编译没有-g选项”并将我抛给InvocationTargetException.java

 public InvocationTargetException(Throwable target) {
    super((Throwable)null);  // Disallow initCause
    this.target = target;
}

这是Web服务的代码

/*
 * To change this license header, choose License Headers in Project                  
 Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
 package com.bismillah.berkah;

import com.bismillah.berkah.dao.DummyDao;
import com.bismillah.berkah.daoImpl.DummyDaoImpl;
import java.lang.reflect.InvocationTargetException;
import java.util.HashMap;
import java.util.Map;
import javax.jws.WebService;
import javax.jws.WebMethod;
import javax.jws.WebParam;

/**
 *
 * @author Ari
 */
@WebService(serviceName = "Check4Update")
public class Check4Update {
    public DummyDaoImpl ddi;

    /**
     * This is a sample web service operation
     *
     * @param InTerminalNumber
     * @return
     */
@WebMethod(operationName = "CheckUpdate")
public String hello(@WebParam(name = "InTerminalNumber") String InTerminalNumber) {

    String OutError = "";
    String OutMessage = "";
    if (InTerminalNumber == null) {
        return "InTerminalNumber can't be null";
    } else {

        Map mapdao = new HashMap<String, Object>();
        Map map = new HashMap<String, Object>();

        map.put("InTerminalNumber", InTerminalNumber);
        mapdao = ddi.check4UpdatePatch(map);

        OutError = (String) mapdao.get("OutError");
        OutMessage = (String) mapdao.get("OutMessage");
        return "Error : " + OutError + ", with message : " + OutMessage;

    }

}

public void setDdi(DummyDaoImpl ddi) {
    this.ddi = ddi;
}


}

这里是代码mybattis impl

package com.bismillah.berkah.daoImpl;

import com.bismillah.berkah.Check4Update;
import com.bismillah.berkah.config.MyBatisConnectionFactory;
import com.bismillah.berkah.dao.*;
import java.util.Map;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;

/**
 *
 * @author Ari
 */
public class DummyDaoImpl 
{

private SqlSessionFactory sqlSessionFactory;

public DummyDaoImpl()
{
    sqlSessionFactory = MyBatisConnectionFactory.getSqlSessionFactory();
}

public Map check4UpdatePatch(Map map)
{

    Check4Update c4u = new Check4Update();
    c4u.setDdi(this);
    SqlSession session = sqlSessionFactory.openSession();
    try
    {
        session.selectOne("dummy.check4UpdatePatch", map);

    } catch (Exception ex)
    {
        ex.toString();
    } finally
    {
        session.close();
    }
    return map;

}

}
你可以告诉我如何解决这个问题吗?所以我可以得到数据?顺便说一句,我总是被我的网络服务抛出,这里正好是

mapdao = ddi.check4UpdatePatch(map);

再次抱歉,如果我的问题令人困惑,这是我第一次提出问题。如果我能做些什么来使它更清楚,那就告诉我,这样我就可以改进我的要求。

1 个答案:

答案 0 :(得分:0)

抱歉已经发现问题了,这是导致mybatis配置错误的原因 我还没有在MyBatisConnectionFactory上更改我的字符串资源,也是xml文件中的字符串资源。

也许这就是为什么我总是得到java lang nul。

实际上当我试图解决这个问题时,我也会制作一些接口类,但是直到找到问题我才能继续工作。如果有人有像我这样的问题,也许你可以通过添加一些界面修复它,所以impl会覆盖界面。