demo:
服务器端的demo结构,下面贴出各个类的结构.
接口类
@WebService public interface IMyservice { @WebResult(name="addresult") public int add(@WebParam(name="a")int a,@WebParam(name="b")int b) ; }
@WebService(endpointInterface="fz.song.webservice.IMyservice") public class MyserviceImpl implements IMyservice { @Override public int add(int a, int b) { System.out.println("a+b="+(a+b)); return a+b; } }
public class MyService { public static void main(String[] args) { String address="http://localhost:8888/sfz"; Endpoint.publish(address, new MyserviceImpl()); } }
运行上行的main方法发布webservice.
下面使用java工具获取webservice客户端资料
在cmd里面输入:wsimport -d d://sfz -keep -verbose http://localhost:8888/sfz?wsdl
注意-d的目标文件夹要存在.
成功后会在目标文件夹里有一些类,把这些类复制到新的一个项目里,作为客户端.例如下图.
这里面的内容就不写了,都是自动生成的.看看那个测试类就好了
public class TestClient { public static void main(String[] args) throws MalformedURLException { URL url = new URL("http://localhost:8888/sfz?wsdl"); QName qname = new QName("http://webservice.song.fz/", "MyserviceImplService"); MyserviceImplService implService = new MyserviceImplService(url, qname); IMyservice myserviceImplPort = implService.getMyserviceImplPort(); int add = myserviceImplPort.add(1, 2); System.out.println(add); } }
这样一个简单的测试就写好了.
不错,测试成功了.