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方法处理后的字符串咯!
}