Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 连接tomcat上部署的web服务时出错?_Java_Web Services_Tomcat_Netbeans - Fatal编程技术网

Java 连接tomcat上部署的web服务时出错?

Java 连接tomcat上部署的web服务时出错?,java,web-services,tomcat,netbeans,Java,Web Services,Tomcat,Netbeans,我已经在本地主机上安装了Tomcat 7.0和Netbeans IDE 7.4, 我创建了一个JSF 2.2 web应用程序,在这个项目中,我创建了一个web服务名称ChargingGateway有这样一个WebMethod: @WebMethod(operationName = "LoginandCharging") public String LoginandCharging(@WebParam(name = "usernameVMG") String txtusernameVMG,

我已经在本地主机上安装了Tomcat 7.0和Netbeans IDE 7.4, 我创建了一个JSF 2.2 web应用程序,在这个项目中,我创建了一个web服务名称ChargingGateway有这样一个WebMethod:

@WebMethod(operationName = "LoginandCharging")
    public String LoginandCharging(@WebParam(name = "usernameVMG") String txtusernameVMG,@WebParam(name = "passwordVMG") String txtpasswordVMG,@WebParam(name = "servicename") String txtservicename, @WebParam(name = "serial") String txtserial, @WebParam(name = "pin") String txtpin, @WebParam(name = "cardtype") String txtcardtype) throws JSONException, Exception {
    //login
     String output="";
     int ID=-1;
     boolean loginOK =false;
     Connection conn1=DBUlti.DBConnect.getConnectionVMG();
     UserDAL dal = new UserDAL(conn1);
      VMGLog log1= new VMGLog();
    log1.WriteLog(txtusernameVMG+","+txtpasswordVMG+","+txtserial+","+txtpin+","+txtservicename+","+txtcardtype);

   ResultSet rs = dal.LoginVMG(txtusernameVMG, txtpasswordVMG);

   if(rs.next()){
       log1.WriteLog("login success");
       UserEntityVMG entity = new UserEntityVMG();
         entity.setID(rs.getInt("ID"));
         ID=rs.getInt("ID");
        entity.setUsername(rs.getString("Username"));
        entity.setPassword(rs.getString("Password"));
        entity.setMsisdn(rs.getString("msisdn"));
        entity.setEmail(rs.getString("email"));
        entity.setRegister_date(rs.getDate("register_date"));
        entity.setIsBanned(rs.getBoolean("isBanned"));
        entity.setRoll(rs.getInt("Roll")); 
        loginOK=true;
   } 
     if(loginOK==true){
          StringBuilder data = new StringBuilder(); 
    String cardtype = "";
    int minlengthOfPin = 0;
    int maxlengthOfPin = 0;
    int minlengOfSerial = 0;
    int maxlengOfSerial = 0;
    boolean isSendserial = true;
    boolean isSendcardtype=true;
    //servicename:fpt,epay,vtc
    log1.WriteLog("login=true");
    String servicename = txtservicename;
      log1.WriteLog(servicename);
    if (servicename.equalsIgnoreCase("EPAY")) {
        String temp = txtcardtype;
        if (temp.equalsIgnoreCase("VNP")) {
            minlengthOfPin = 12;
            maxlengthOfPin = 15;
            minlengOfSerial = 9;
            maxlengOfSerial = 9;
        } else if (temp.equalsIgnoreCase("VMS")) {
            minlengthOfPin = 12;
            maxlengthOfPin = 14;
            minlengOfSerial = 9;
            maxlengOfSerial = 15;
        } else if (temp.equalsIgnoreCase("VTT")) {
            minlengthOfPin = 13;
            maxlengthOfPin = 15;
            minlengOfSerial = 11;
            maxlengOfSerial = 15;
        } else if (temp.equalsIgnoreCase("MGC")) {
            minlengthOfPin = 12;
            maxlengthOfPin = 12;
            minlengOfSerial = 12;
            maxlengOfSerial = 12;
            isSendserial = false;
        }
        cardtype = temp;
    }
    else if (servicename.equalsIgnoreCase("FPT")) {
        cardtype = "FPT";
        minlengthOfPin = 10;
        maxlengthOfPin = 10;
        minlengOfSerial = 10;
        maxlengOfSerial = 10;
    }
    else if (servicename.equalsIgnoreCase("VTC")) {
        cardtype = "VTC";
        minlengthOfPin = 12;
        maxlengthOfPin = 12;
        minlengOfSerial = 12;
        maxlengOfSerial = 12;
    }
 if(cardtype.length()<=0){
     isSendcardtype=false;
 }
 log1.WriteLog("Sname:"+servicename);
    data.append(servicename);
    log1.WriteLog("user"+Bussiness.user);
    data.append(Bussiness.user);
    log1.WriteLog("txtserial"+txtserial);
    if(isSendserial==true){
    data.append(txtserial);
    }
    log1.WriteLog("pin"+txtpin);
    log1.WriteLog("cardtype:"+cardtype);
    data.append(txtpin);
    if(isSendcardtype==true){
    data.append(cardtype);
    }
    log1.WriteLog("subcpid"+Bussiness.subcpid);
    data.append(Bussiness.subcpid);

   String mac = des.DESMAC(data.toString(), EpurseConfig.keyUI, "DESede");
   log1.WriteLog("Mac="+mac+",data="+data.toString());
   String username = Bussiness.user;

    String serial = "";
    System.out.println("serial length:" + txtserial.length());
    if (txtserial.length() >= minlengOfSerial && txtserial.length() <= maxlengOfSerial) {
        serial = des.Encrypt(txtserial, EpurseConfig.keyUI, "DESede");
    }
    else output="";

    String pin = "";
    System.out.println("pin length:" + txtpin.length());
    if (txtpin.length() >= minlengthOfPin && txtpin.length() <= maxlengthOfPin) {
        pin = des.Encrypt(txtpin, EpurseConfig.keyUI, "DESede");
    }
    else output="";
   String subcp = Bussiness.subcpid;
    log1.WriteLog("Bat dau day JSON");
    JSONObject json = new JSONObject();
    json.put("servicename", servicename);
    json.put("username", username);
    if(serial.length()>0){
    json.put("serial", serial);
    }
    json.put("pin", pin);
     if(cardtype.length()>0){
    json.put("cardtype", cardtype);
     }
    json.put("subcp", subcp);
    json.put("mac", mac);
     log1.WriteLog("BGoi webservice");
    String response = new ServiceCardProxy(endpoint).gateCardInput(json.toString());
     log1.WriteLog("Response="+response);
    JSONObject jsonResponse = (JSONObject) new JSONParser().parse(response);
            String Flag=jsonResponse.get("flag").toString();
            String Description=jsonResponse.get("description").toString();
             String cardAmount=jsonResponse.get("cardAmount").toString();
              String cardID=jsonResponse.get("cardID").toString();

         ChargingDAL dalCharge= new ChargingDAL(conn1);

         int InsertData=dalCharge.ChargeVMG(ID,servicename,serial, pin, cardtype, Flag,Description,cardAmount,cardID);

     output= response;
      }                
    return output;

}
在此链接: 因此,我将相对URL字段更改为/ChargingGateway,这是我的服务名称。然后我运行项目并浏览到“localhost:8080/RDB_JSF/ChargingGateway”,我得到了“HTTP状态404-/RDB_JSF/ChargingGateway”错误


请帮助我在Tomcat上部署web服务。

Java EE项目需要GlassFish服务器或Oracle WebLogic服务器12c。
捆绑的Tomcat web服务器不是完全兼容Java EE的web服务器。但是,Tomcat7.xWeb服务器可以配置为支持一些JavaEE功能。请参阅ApacheTomee项目()有关如何向tomcat添加对Java EE的支持的信息。

当您尝试localhost:8080/RDB_JSF/ChargingGateway/LoginAndCharging时会得到什么?相同的错误:HTTP状态404-/RDB_JSF/ChargingGateway/LoginandChargingType状态报告消息/RDB_JSF/ChargingGateway/LoginandChargingDescription请求的资源不可用可用。
If you are using the Tomcat Web Server, there is no test client. **You can only run the project and see if the Tomcat Web Services page opens. In this case, before you run the project, you need to make the web service the entry point to your application. To make the web service the entry point to your application, right-click the CalculatorWSApplication project node and choose Properties. Open the Run properties and type /CalculatorWS in the Relative URL field. Click OK. To run the project, right-click the project node again and select Run.**