快速创建webservice实例步骤: 1、建立IMyService接口类: @WebService () public interface IMyService { /** * 加法 * @param a * @param b * @return */ @WebResult (name= "addResult" ) public int add (@ WebParam (name= "a" ) int
快速创建webservice实例步骤:
1、建立IMyService接口类:
@WebService()
public interface IMyService {
/** * 加法 * @param a * @param b * @return */
@WebResult(name="addResult")
public int add(@WebParam(name="a")int a,@WebParam(name="b")int b);
/** * 减法 * @param a * @param b * @return */
@WebResult(name="minusResult")
public int minus(@WebParam(name="a")int a,@WebParam(name="b")int b);
}
2、建实现类IMyServiceImpl:
@WebService(endpointInterface="org.zttc.service.IMyService")
public class MyServiceImpl implements IMyService {
/** * 加法 * @param a * @param b * @return */
@Override
public int add(int a, int b) {
System.out.println(a+"+"+b+"="+(a+b));
return a+b;
}
/** * 减法 * @param a * @param b * @return */
@Override
public int minus(int a, int b) {
System.out.println(a+"-"+b+"="+(a-b));
return a-b;
}
}
3、MyServer类:测试是否部署成功
/** * server端 * @author 王红伟 * */
public class MyServer {
public static void main(String[] args) {
String address = "http://localhost:8888/ns";
//发布地址
Endpoint.publish(address, new MyServiceImpl());
}
}
启动MyServer,访问http://localhost:8888/ns
url后加?wsdl如:http://localhost:8888/ns?wsdl 结果:
看到这里,证明我们部署成功了。
4、写TestClient测试类:部署成功后,我们就可以调用了
public class TestClient {
public static void main(String[] args) {
try {
//创建访问wsdl服务地址的url
URL url = new URL("http://localhost:8888/ns?wsdl");
//通过Qname指明服务的具体信息
//MyServiceImplService对应wsdl页的本地提供的webservice的名称
QName sname = new QName("http://service.zttc.org/", "MyServiceImplService");
//创建服务
Service service = Service.create(url,sname);
//实现接口
IMyService ms = service.getPort(IMyService.class);
System.out.println(ms.add(12,33));
//以上服务有问题,依然依赖于IMyServie接口
} catch (MalformedURLException e) {
e.printStackTrace();
}
}
}
运行TestClient,最终结果为45
直接将wsdl转为java对象,但是存在问题,
//实现接口
IMyService ms = service.getPort(IMyService.class);
这句代码依赖外部接口,wsdl可能是.net开发的,可能是其他语言开发的,依赖接口不能跨平台。所以引出了wsimport的使用。 关于webservice的实例就到这里,下篇博客将为您展示wsimport的使用,欢迎您的访问。