创建服务器端
1.创建一个接口
IMyService.java
package com.test.service; import javax.jws.WebParam; import javax.jws.WebResult; import javax.jws.WebService; // SEI(Service Endpoint Interface) @WebService public interface IMyService { @WebResult(name = "addResult") public int add(@WebParam(name = "a") int a, @WebParam(name = "b") int b); }
2.创建实现接口的类
MyServiceImpl.java
package com.test.service; import javax.jws.WebService; // SIB(Service Implemention Bean) @WebService(endpointInterface = "com.test.service.IMyService") public class MyServiceImpl implements IMyService { @Override public int add(int a, int b) { return a + b; } }
3.开启服务
MyServer.java
package com.test.service; import javax.xml.ws.Endpoint; public class MyServer { public static void main(String[] args) { String address = "http://localhost:9999/server"; // 发布服务的实现类 Endpoint.publish(address, new MyServiceImpl()); } }
在浏览器中输入:http://localhost:9999/server?wsdl就可以访问webservice所提供的服务
客户端访问
MyClient.java
package com.test.service; import java.net.MalformedURLException; import java.net.URL; import javax.xml.namespace.QName; import javax.xml.ws.Service; public class MyClient { public static void main(String[] args) { try { // 创建访问wsdl服务地址的url URL url = new URL("http://localhost:9999/server?wsdl"); // 通过QName指明服务的具体信息 QName qName = new QName("http://service.test.com/", "MyServiceImplService"); // 创建服务 Service service = Service.create(url, qName); // 实现接口 IMyService ms = service.getPort(IMyService.class); System.out.println(ms.add(12, 13)); } catch (MalformedURLException e) { e.printStackTrace(); } } }
这里有个问题:service获取实现接口的类时,要依赖于IMyService接口
这里,通过java提供的wsimport命令把wsdl导成.java或.class,就不需要依赖于IMyService接口了,如下图:
-d:指定生成的目录;
-keep:指定是否生成java的源代码,如果没有-keep,只能生成.class二进制文件;
-verbose:显示生成的详细过程;其后跟着网络中wsdl的文件;
-p:指定生成的包;(很少用到);
生成文件如下图:
接着创建独立的java项目,把这些java文件拷贝到src下面,再次创建客户MyClient.java
package com.test.service; public class MyClient { public static void main(String[] args) { MyServiceImplService msis = new MyServiceImplService(); IMyService ms = msis.getMyServiceImplPort(); System.out.println(ms.add(12, 13)); } }
这个时候service获取实现接口的类时,就不需要依赖于IMyService接口了
相关推荐
JAX-WS(Java API for XML Web Services)是Java平台上的一个标准,用于创建和消费Web服务。本篇将深入讲解如何基于JAX-WS开发一个WebService实例。 首先,让我们了解JAX-WS的基本概念。JAX-WS提供了一种简单的方式...
`jaxws-2_0-pfd-spec-api.jar`可能包含了JAX-WS 2.0规范的API类库,供开发者在应用中导入并使用。在实际开发中,还需要相应的实现库,如`metro.jar`,来处理具体的Web服务交互。 **使用场景:** 1. **企业级应用...
在给定的压缩包文件"jax-ws api jar包"中,包含的是JAX-WS 2.2.1版本的API库,即`jaxws-api-2.2.1.jar`。这个jar文件是开发基于JAX-WS的Web服务所必需的依赖之一。以下是关于JAX-WS的一些核心知识点: 1. **服务端...
2. **jaxb-api.jar**:Java Architecture for XML Binding (JAXB) API,用于XML和Java对象之间的转换,是JAX-WS的重要依赖。 3. **cxf-rt-frontend-jaxws.jar** 和 **cxf-rt-transports-http.jar**:Apache CXF是一...
【标题】:Web服务之Java API for XML Web Services (JAX-WS) 【内容详解】 JAX-WS,全称为Java API for XML Web Services,是Java平台上的一个标准,用于构建和部署基于SOAP(Simple Object Access Protocol)的...
【JAX-WS】:全称Java API for XML Web Services,是Java平台上用于构建和消费Web服务的标准API。JAX-WS是取代了早期的JAX-RPC,它以更现代的方式处理Web服务,支持WSDL(Web服务描述语言)2.0,SOAP(简单对象访问...
**JAX-WS: Java API for XML Web Services** JAX-WS(Java API for XML Web Services)是Java平台上用于创建Web服务和Web服务客户端的核心API。这个标准由Java社区进程(JCP)制定,旨在简化面向服务架构(SOA)的...
**Java API for XML Web Services (JAX-WS)** 是一种由Java SE和Java EE平台支持的用于构建Web服务的标准API。它使得开发人员能够轻松地创建、部署和使用基于SOAP(简单对象访问协议)的Web服务。在本教程中,我们将...
Java API for XML Web Services(JAX-WS)是Java平台上的一个标准,用于构建和部署Web服务。它简化了Web服务的开发,使得Java开发者能够更方便地创建、调用和部署SOAP(Simple Object Access Protocol)服务。在这个...
Java API for XML Web Services (JAX-WS) 是Java平台上的一个标准,用于构建和部署Web服务。JAX-WS RI(Reference Implementation)是这个规范的官方参考实现,它提供了开发、测试和运行基于SOAP(Simple Object ...
Java API for XML Web Services(JAX-WS)是Java平台上的一个标准,用于构建和部署Web服务。它简化了Web服务的开发,使得开发者能够使用Java编程语言来创建、调用和部署SOAP(Simple Object Access Protocol)服务。...
**标题:“jax-ws2.1.zip”**指的是一个包含Java API for XML Web Services(JAX-WS)2.1版本的压缩包。JAX-WS是Java平台标准版(Java SE)和企业版(Java EE)的一部分,用于构建基于SOAP(Simple Object Access ...
【标题】"metro-jax-ws-jaxws221x.zip" 提供的是一个关于JAX-WS(Java API for XML Web Services)的开发示例,其中包含了JAX-WS 2.2.1版本的相关组件和库文件。这个压缩包是针对Java开发者设计的,用于帮助他们理解...
Java API for XML Web Services (JAX-WS) 是Java平台上用于构建Web服务和客户端的API。这个"jax-ws WebService客户端与服务端工程.rar"压缩包文件包含了一个完整的示例,展示了如何使用JAX-WS创建和消费Web服务。让...
在这个“webservice Demo注解+jax-ws”示例中,我们将深入探讨Web服务的注解使用以及基于Java API for XML Web Services (JAX-WS)的实现。 首先,让我们了解一下JAX-WS。它是Java平台的标准组件,用于创建和处理Web...
JAX-WS(Java API for XML Web Services)是Java EE 5及更高版本中提供的标准API,用于简化Web服务的开发。 在【MyEclipse中创建WebService的方法文档】中,主要步骤如下: 1. **新建Web Service Project**:首先...
Java API for XML Web Services(jax-ws)是Java平台标准版(Java SE)和企业版(Java EE)的一部分,它为开发者提供了一种创建和消费Web服务的标准方式。jax-ws允许开发人员通过简单的编程模型来实现基于SOAP的Web...