package com.terry.ws;
import javax.jws.WebService;
import javax.jws.WebMethod;
import javax.jws.soap.SOAPBinding;
import javax.jws.soap.SOAPBinding.Style;
/**
* The annotation @WebService signals that this is the
* SEI (Service Endpoint Interface). @WebMethod signals
* that each method is a service operation.
*
* The @SOAPBinding annotation impacts the under-the-hood
* construction of the service contract, the WSDL
* (Web Services Definition Language) document. Style.RPC
* simplifies the contract and makes deployment easier.
*/
@WebService
@SOAPBinding(style = Style.RPC) // more on this later
public interface TimeServer {
@WebMethod String getTimeAsString();
@WebMethod long getTimeAsElapsed();
}
package com.terry.ws;
import java.util.Date;
import javax.jws.WebService;
/**
* The @WebService property endpointInterface links the
* SIB (this class) to the SEI (ch01.ts.TimeServer).
* Note that the method implementations are not annotated
* as @WebMethods.
*/
@WebService(endpointInterface = "com.terry.ws.TimeServer")
public class TimeServerImpl implements TimeServer {
public String getTimeAsString() { return new Date().toString(); }
public long getTimeAsElapsed() { return new Date().getTime(); }
}
package com.terry.ws;
import javax.xml.ws.Endpoint;
/**
* This application publishes the web service whose
* SIB is ch01.ts.TimeServerImpl. For now, the
* service is published at network address 127.0.0.1.,
* which is localhost, and at port number 9876, as this
* port is likely available on any desktop machine. The
* publication path is /ts, an arbitrary name.
*
* The Endpoint class has an overloaded publish method.
* In this two-argument version, the first argument is the
* publication URL as a string and the second argument is
* an instance of the service SIB, in this case
* ch01.ts.TimeServerImpl.
*
* The application runs indefinitely, awaiting service requests.
* It needs to be terminated at the command prompt with control-C
* or the equivalent.
*
* Once the applicatation is started, open a browser to the URL
*
* http://127.0.0.1:9876/ts?wsdl
*
* to view the service contract, the WSDL document. This is an
* easy test to determine whether the service has deployed
* successfully. If the test succeeds, a client then can be
* executed against the service.
*/
public class TimeServerPublisher {
public static void main(String[ ] args) {
// 1st argument is the publication URL
// 2nd argument is an SIB instance
Endpoint.publish("http://127.0.0.1:9876/ts", new TimeServerImpl());
}
}
分享到:
相关推荐
Java Web Service 主要有两种形式:SOAP-based 和 RESTful。本文将关注SOAP-based Web Service。 #### SOAP-based Web Service SOAP(Simple Object Access Protocol)是一种轻量级协议,用于在分布式环境中交换...
对于SOAP-based的Web Service,Java开发者可以使用`@WebService`注解定义服务端接口,`@WebServiceClient`定义客户端调用。以下是一个简单的例子: ```java @WebService(targetNamespace = ...
该插件支持 JAX-WS、JAX-RS、SOAP、RESTful 等多种 Web Service 技术,并提供了丰富的编辑、调试和测试功能。 #### 3. 构建示例应用 为了更好地理解如何使用 Eclipse STP 构建 Web Service,我们将创建一个简单的...
Java调用WebService(SP,Service Provider)是一种常见的企业级应用集成技术,允许Java应用程序与远程Web服务进行交互。本篇文章将深入探讨Java如何调用WebService,包括基础概念、使用的技术栈以及具体的实现步骤...
JAX-RPC(Java API for XML-based Remote Procedure Calls)是Java平台上的一个标准,它为创建和使用Web服务提供了简单且直观的API。本篇文章将深入探讨如何在JAX-RPC Web服务处理程序(handler)中添加用户密码,以...
JAX-WS提供了一种简单的方法来创建SOAP-based的WebService。 1. 创建Java接口:首先,定义一个名为`BankService`的Java接口,包含如`transfer()`和`checkBalance()`这样的方法,每个方法都有对应的输入和输出参数。...
SOAP(Simple Object Access Protocol)是一种基于XML的协议,用于在Web服务中交换结构化和类型化的信息。在本文中,我们将深入探讨SOAP的工作原理、它如何处理数据传递,特别是当对象属性为null时的情况,以及如何...
JAX-RPC(Java API for XML-based Remote Procedure Call)是一种基于XML的标准API,它定义了Java应用程序与XML数据之间的交互方式。主要特点包括: 1. **WSDL到Java和Java到WSDL的映射**:支持将WSDL端口类型映射...
它替代了早期的JAX-RPC(Java API for XML-Based Remote Procedure Calls),提供了更直接的与WSDL(Web Services Description Language)交互的方式。JAX-WS通过注解使得Java类可以直接映射到Web服务接口,极大地...
JAX-WS(Java API for XML-based Web Services)2.2规范是由JCP(Java Community Process)组织发布的一个重要的技术文档,该文档对JAX-WS 2.2版本进行了详尽的说明。对于开发人员和用户来说,理解这一规范是非常...
- **命令示例**:`wsdl2java -uri http://example.com/service.wsdl -d .` 4. **代码开发**:根据生成的 Java 代码,开发具体的 Web 服务逻辑。 5. **部署 Web 服务**:将开发好的 Web 服务打包成 WAR 文件,并...
在Java中,可以使用JAX-WS(Java API for XML Web Services)来处理SOAP请求和响应。通过`@WebService`注解定义服务接口,`@WebMethod`注解定义服务方法,然后使用`wsimport`工具生成客户端代理类,即可调用服务。 ...
5. **JAX-RPC(Java API for XML-based RPC)**:JAX-WS的前身,主要用于远程过程调用,但JAX-WS更加强调基于标准的Web服务。 **三、JAX-WS的基本工作流程** 1. **服务端开发**:定义服务接口,使用`@WebService`...
它提供了从Java接口到SOAP消息的自动绑定,使得开发者可以使用普通的Java方法来调用和实现Web服务。JAX-WS支持多种协议,包括SOAP、WSDL和UDDI,能够处理XML数据并进行网络通信。 2. **Web服务生命周期** - **创建...
Active Directory Service Interfaces (ADSI) 847 Programming Active Directory 848 Classes in System.DirectoryServices 849 Binding 849 Getting Directory Entries 854 Object Collections 855 Cache 857 ...
Axis使得开发人员能够轻松地创建SOAP客户端和服务器端应用,支持JAX-RPC(Java API for XML-based Remote Procedure Calls)规范。 - **Axis2**: Axis2是Axis的下一代版本,它在性能和可扩展性方面有所提升。Axis2...
1. **轻量级**:Hessian使用二进制格式,相比XML-based的Web服务协议如SOAP,传输数据更小,速度更快。 2. **透明性**:Hessian支持自动类型转换,客户端和服务器端可以使用不同的语言实现,但仍然可以无缝交互。 3....
Available options (for this frontend in Zend_Cache factory) 4.3.6.3. Examples 4.4. Zend_Cache后端 4.4.1. Zend_Cache_Backend_File 4.4.2. Zend_Cache_Backend_Sqlite 4.4.3. Zend_Cache_Backend_...