服务器端开发
1.新建一个java工程,定义一个接口IHello并用注解@WebService 和@WebMethod标识类和方法
package com.kim.interfaces;
import javax.jws.WebMethod;
import javax.jws.WebService;
@WebService
public interface IHello {
@WebMethod
public String sayHello(String name);
}
2.定义一个实现类(HelloImpl)去实现定义的接口(IHello)
package com.kim.impl;
import javax.jws.WebService;
import com.kim.interfaces.IHello;
@WebService
public class HelloImpl implements IHello {
@Override
public String sayHello(String name) {
return "hello,"+name;
}
}
3.发布自己定义的WebService 供第三方调用
package com.kim.publish;
import javax.xml.ws.Endpoint;
import com.kim.impl.HelloImpl;
public class Publish {
public static void main(String[] args) {
String address="http://192.168.3.97:6666/hellows";//格式 http://本机ip地址:端口(随意写 只要没被占用)/名(这里我随意命名一个)
Endpoint.publish(address, new HelloImpl());
System.out.println("发布完成");
}
}
4.可以看出服务端已经发布完成。
可以打开浏览器输入http://192.168.3.97:6666/hellows看到我们的wsdl地址:http://192.168.3.97:6666/hellows?wsdl
接下来 我们可以再eclipse中简单测试下:
在客户端调用WebService
当然如果你知道了第三方提供webservice的wsdl地址 也可以下载到本地
新建一个java项目
打开cmd 切换到新建项目的src目录下 输入命令 wsimport -keep wsdl地址即可
刷新工程 即可在src下看到自动生成的代码
编写一个test测试类
package com.kim.impl;
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
HelloImplService factory = new HelloImplService();
HelloImpl entry =factory.getHelloImplPort();
System.out.println(entry.sayHello("word"));;
}
}