java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaEE, JavaME, JavaSE)的总称。本站提供基于Java框架struts,spring,hibernate等的桌面应用、web交互及移动终端的开发技巧与资料

保持永久学习的心态,将成就一个优秀的你,来 继续搞起java知识。

在学习wsdl中主要参考:Java WebService 简单实例
在这里主要作为笔记,供分享提醒使用.
1.Eclipse新建一个dynamic web project 作为服务端:
2.在java resource里面新建一个包及一个类ServiceHello:
package com.jason.service;
import javax.jws.WebService;
import javax.xml.ws.Endpoint;
//导入包,不要弄错
@WebService
//上面的注释一定要写
public class ServiceHello {
/*供客户端调用的方法,关键在这里添加所有客户端需要的方法
* @param name
* @return String
  */
public String getValue(String name){
return “有个人叫: “+name;
}
public static void main(String[] args) {
Endpoint.publish(“http://localhost:9001/ServiceHello“, new ServiceHello());
System.out.println(“发布成功”);
}
}
3.使用java application进行编译运行,在浏览器输入http://localhost:9001/ServiceHello
通过http://localhost:9001/ServiceHello?Wsdl可以看到生成的wsdl.服务器端的工作到此结束了.
4.新建一个dynamic web project 作为客户端:
5.在新建的客户端类的(workplace里面的)工作目录下,运行以下命令:
wsimport -s /home/cheng/code/workspace/TheClient/src/
-p com.jason.service -keep http://localhost:9001/ServiceHello?wsdl
这里指的是使用发布的wsdl生成客户端代码到/home/cheng/code/workspace/TheClient/src/
或者直接使用 (好记):
wsimport -keep -p com.jason.service http://localhost:9001/ServiceHello?wsdl
命令参数说明:
-d:生成客户端执行类的class文件的存放目录
-s:生成客户端执行类的源文件的存放目录
-p:定义生成类的包名
6.可以看到在这个目录下com/jason/service下生成了GetValueResponse.java许多类.
7.回到eclipse,刷新新建的客户端,或者重新打开,会看到java resource会有GetValueResponse.java许多类.
8.新建一个包以及一个类:
package com.jason.client;
import com.jason.service.ServiceHello;
import com.jason.service.ServiceHelloService;
import com.jason.*;
//一定要引入对的包
public class ClientMain {
public static void main(String[] args) {
ServiceHello service = new ServiceHelloService().getServiceHelloPort();
String name=service.getValue(“jason”);//使用服务端的方法
System.out.println(name);
}
}
9.使用java application进行编译运行,就可以出现结果了.
javawebwsdl

因为水平有限,难免有疏忽或者不准确的地方,希望大家能够直接指出来,我会及时改正。一切为了知识的分享。

后续会有更多的精彩的内容分享给大家。