webservice开发步骤:
服务端开发
—定义服务接口
—实现服务接口
—通过CXF、xfire、axis等框架对外发布服务
客户端调用
—通过有效途径(双方沟通、uddi查找等)获取到Webservice的信息
—通过wsdl生成客户端(或者服务提供方提供对应的接口jar包)
—调用服务
•
service接口:
service接口的实现类:
- package com.ws.jaxws.sayHello.service.impl;
- import javax.jws.WebService;
- import com.ws.jaxws.sayHello.service.SayHelloService;
- @WebService(endpointInterface = "com.ws.jaxws.sayHello.service.SayHelloService", name = "sayHelloService", targetNamespace = "sayHello")
- public class SayHelloServiceImpl implements SayHelloService {
- @Override
- public String sayHello(String name) {
- // Todo Auto-generated method stub
- if("".equals(name)||name==null){
- name="nobody";
- }
- return "hello "+name;
- }
- }
客户端:
- package com.ws.jaxws.sayHello.server;
- import javax.xml.ws.Endpoint;
- import com.ws.jaxws.sayHello.service.impl.SayHelloServiceImpl;
- public class SayHelloServer {
- public static void main(String[] args) throws Throwable{
- Endpoint.publish("http://localhost:8888/sayHelloService", new SayHelloServiceImpl());
- System.out.println("SayHelloService is running....");
- Thread.sleep(5 * 60 * 1000);
- System.out.println("time out....");
- System.exit(0);
- }
- }
运行客户端代码后在浏览器输入http://localhost:8888/sayHelloServoce?wsdl,即可生成wsdl代码,如下所示:
客户端调用:
- package com.ws.jaxws.sayHello.client;
- import java.net.MalformedURLException;
- import java.net.URL;
- import javax.xml.namespace.QName;
- import javax.xml.ws.Service;
- import com.ws.jaxws.sayHello.service.SayHelloService;
- public class SayHelloClient {
- public static void main(String[] args) throws MalformedURLException {
- String url="http://localhost:8888/sayHelloService?wsdl";
- Service service=Service.create(new url), new QName("sayHello","SayHelloServiceImplService")); //获得webservice的信息
- SayHelloService sayHelloService=service.getPort(SayHelloService.class);//return a proxy
- System.out.println(sayHelloService.sayHello(null));//调用服务
- System.out.println(sayHelloService.sayHello("zhangsan"));
- }
- }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。