2012-04-20 49 views
0

我正在開發一個項目來連接測試儀器,並使用webservice從它獲取請求和響應。擁有多個Get in Restful web服務

我必須從儀器請求多個服務,但是當我在服務器中使用兩個以上的@Get S,我得到了我的瀏覽器說

無法訪問WADL,請重新啓動錯誤的RESTful Web服務

這是我的代碼,

GET 
@Produces("text/html") 
public String getHtml(){ 
    String ins_name=null; 

    try { 
     String [] env=null; 
     //setting the environment variable. 
     String[]callAndArgs= {"python","instrument_name.py"};//Python and file name 

     Process p = Runtime.getRuntime().exec(callAndArgs,env, 
     new java.io.File("C:\\fakepath\\NetBeansProjects\\DemoApp1\\build\\web"));//executing Python file 


     BufferedReader stdInput = new BufferedReader(new 
     InputStreamReader(p.getInputStream()));//getting the value from Python file  
     BufferedReader stdError = new BufferedReader(new  
     InputStreamReader(p.getErrorStream()));// reading the error  
     ins_name = stdInput.readLine();//reading the output from the Pythonfile  
     System.out.println(ins_name); 
    } 
    catch (IOException e) {//catching the exception 

     System.out.println("exception occured"); 
     e.printStackTrace(); 
     System.exit(-1); 
    } 


    return ins_name;//returning the instrument name 
} 

@GET 
@Produces("text/html") 
public String getHtml1() { 
    String check=null; 
    String c1="hjhj"; 
    String [] env=null; 
    //setting the environment variable. 
    try{ 
     String[] callAndArgs= {"python","check_connection.py",c1};//Python and file name 

     Process p = Runtime.getRuntime().exec(callAndArgs,env, 
     new java.io.File("C:\\Users\\Balkishore\\Documents\\NetBeansProjects\\DemoApp1\\build\\web"));//executing Python file 


     BufferedReader stdInput = new BufferedReader(new 
     InputStreamReader(p.getInputStream()));//getting the value from Python file 

     BufferedReader stdError = new BufferedReader(new 
     InputStreamReader(p.getErrorStream()));// reading the error 

     check= stdInput.readLine();//reading the output from the Python file 
     System.out.println(); 
    } 
    catch (IOException e) {//catching the exception 

     System.out.println("exception occured"); 
     e.printStackTrace(); 
     System.exit(-1); 
    } 
    return check; 
} 

/** 
* Web service operation 

} 

/** 
* PUT method for updating or creating an instance of GenericResource 
* @param content representation for the resource 
* @return an HTTP response with content of the updated or created resource. 
*/ 
@PUT 
@Consumes("text/html") 
public String putHtml(String interface_name) { 

    try { 
     String [] env=null; 
     String [] callAndArgs= {"python","connection.py",this.interface_name=interface_name};//Python file with arguments 

     Process p = Runtime.getRuntime().exec(callAndArgs,env, 
     new java.io.File("C:\\fakepath\\NetBeansProjects\\DemoApp1\\build\\web"));//executing the Python file 



     BufferedReader stdInput = new BufferedReader(new 
     InputStreamReader(p.getInputStream()));//getting the input 


     BufferedReader stdError = new BufferedReader(new 
     InputStreamReader(p.getErrorStream()));//getting the error 


     interface_name = stdInput.readLine();//reading the output 
     System.out.println(interface_name); 
    } 
    catch (IOException e) {//catching the exception 
     System.out.println("exception occured"); 
     e.printStackTrace(); 
     System.exit(-1); 

    } 
    return interface_name; 
} 
} 

我還附上了錯誤信息的圖像。

Error message

回答

1

無法定義,除非你除了指定不同的路徑爲你的方法@Path(「/ mypath中」)將資源路徑

@Path("/myRes") 
public class myResource{ 

    @GET @Path("/myAttr") 
    public void getAttr(...) 
} 
+0

第一截然不同的「GET」爲資源非常感謝你的答覆。請原諒我的愚蠢,因爲我對java和netbeans非常陌生,我不明白你的意思嗎?我試圖在html1下創建一個新的路徑,但我再次得到相同的錯誤。 – Spaniard89 2012-04-20 13:15:50

+0

你是否使用一些客戶端庫來使用你的服務? – fmgp 2012-04-20 13:22:55

+0

是的,我使用jframe客戶端來使用我的資源。 – Spaniard89 2012-04-20 15:11:27