目前我正在尝试从可以检查数据库中的某些数据的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);
再次抱歉,如果我的问题令人困惑,这是我第一次提出问题。如果我能做些什么来使它更清楚,那就告诉我,这样我就可以改进我的要求。
答案 0 :(得分:0)
也许这就是为什么我总是得到java lang nul。
实际上当我试图解决这个问题时,我也会制作一些接口类,但是直到找到问题我才能继续工作。如果有人有像我这样的问题,也许你可以通过添加一些界面修复它,所以impl会覆盖界面。