webservice使用的主要目标是实现跨平台的可互操作行。初入门的小例子:
package com.you.webservice; import javax.jws.WebService; @WebService public interface Myservice { public int add(int a,int b); public int minus(int a,int b); }
这个接口是供服务器发布出去的接口,一定注意接口上面要表明@webservice。
package com.you.webservice; import javax.jws.WebService; @WebService (endpointInterface="com.you.webservice.Myservice") public class MyserviceImpl implements Myservice{ @Override public int add(int a,int b) { System.out.println("a" + "+" + "b" + "=" + (a+b)); return (a+b); } @Override public int minus(int a,int b) { System.out.println("a" + "-" + "b" + "=" + (a-b)); return (a-b); } }
这是接口的实现类,同样也被服务器发布出去,这个类上面也需要注解,并且要指明指向的接口。可通过在浏览器中输入http://localhost:8000/ns?wsdl看到提供的服务。
package com.you.webservice; import javax.xml.ws.Endpoint; public class Myserver { public static void main(String[] args) { String address = "http://localhost:8000/ns"; Endpoint.publish(address,new MyserviceImpl()); } }
服务器端将服务发布出去,指明访问的地址和发布实现接口的类。
package com.you.webservice; import java.net.URL; import javax.xml.namespace.QName; import javax.xml.ws.Service; public class TestClient { public static void main(String[] args) { try{ URL url = new URL("http://localhost:8000/ns?wsdl"); QName qname = new QName("http://webservice.you.com/","MyserviceImplService"); Service service = Service.create(url,qname); Myservice ms = service.getPort(Myservice.class); System.out.println(ms.add(12,33)); }catch(Exception e) { throw new RuntimeException(e); } } }客户端类,通过地址访问服务器发布的类。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。