webservice目的: java
程序A調用程序B中的方法C... web
首先申明:本次須要採用的JDK版本爲jdk1.6+ 瀏覽器
1,創建一個項目名爲Trans,web項目,普通java項目均可以!這裏咱們就以簡單的java應用程序來做爲示範吧! 服務器
1.1創建一個方法屬於com.shu.function.Function類: spa
//別忘了引入webservice .net
@WebService code
public class Function{ ip
//該方法就是要暴露給其餘應用程序調用的方法 字符串
public String transWords(String words){ get
String res="";
for(char ch : words.toCharArray()){
res+="\t"+ch+"\t";
}
return res;
}
//這裏咱們使用main方法來發布咱們的service
public void static main(String[] args){
Endpoint.publish("http://localhost:9001/Service/Function",new Function());
System.out.println("Publish Success~");
}
}
2.在打出"Publish Success~"後,說明咱們消息發佈成功,不成的話,注意:1.須要JDK1.6+,2.肯定服務器端口沒有被佔用;成功後,
在瀏覽器地址欄輸入:http://localhost:9001/Service/Function?wsdl就能夠看到該service的詳細信息!
3.創建另一個項目:GiveMeWords
關鍵的來了,打開cmd輸入如下命令:wsimport -s src的路徑 -p 完整包名 -keep webservice的發佈地址 而後回車就OK了,
好比說: wsimport -s F:\\WorkBench\\Eclipse\\GiveMeWords\\src -p com.shu.service -keep http://localhost:9001/Service/Function
(若是wsimport命令失效,請檢查是否把jdk配入環境變量!JAVA_HOME:JDK所在位置,CLASSPATH:%JAVA_HOME%\lib\tools.jar)
回車後,會出現:
parsing WSDL...
generating code...
compiling code...
恭喜你,成功了,你能夠刷新一下你的GiveMeWords項目後會在com.shu.service包下會有對應的WebService生成的文件!
而後調用以下:
public void static main(String[] args){
Function fu =new FunctionService().getFunctionPort();
String str=fu.transWords("Let's Get Heck Out Of Here!");
//最後str就是在Trans項目下的transWords方法處理後的字符串咯!
}