`
terryjoy
  • 浏览: 2415 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

SOAP-based web service example in Java

阅读更多
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 WebService 简单实例 方式二(axis1直接调用方式)

    Java Web Service 主要有两种形式:SOAP-based 和 RESTful。本文将关注SOAP-based Web Service。 #### SOAP-based Web Service SOAP(Simple Object Access Protocol)是一种轻量级协议,用于在分布式环境中交换...

    http和WebService 调用接口Java代码demo

    对于SOAP-based的Web Service,Java开发者可以使用`@WebService`注解定义服务端接口,`@WebServiceClient`定义客户端调用。以下是一个简单的例子: ```java @WebService(targetNamespace = ...

    利用STP构建 Web Service(SOA)

    该插件支持 JAX-WS、JAX-RS、SOAP、RESTful 等多种 Web Service 技术,并提供了丰富的编辑、调试和测试功能。 #### 3. 构建示例应用 为了更好地理解如何使用 Eclipse STP 构建 Web Service,我们将创建一个简单的...

    java 调用webservice(sp)

    Java调用WebService(SP,Service Provider)是一种常见的企业级应用集成技术,允许Java应用程序与远程Web服务进行交互。本篇文章将深入探讨Java如何调用WebService,包括基础概念、使用的技术栈以及具体的实现步骤...

    jax_rpc webservices hander头增加用户密码

    JAX-RPC(Java API for XML-based Remote Procedure Calls)是Java平台上的一个标准,它为创建和使用Web服务提供了简单且直观的API。本篇文章将深入探讨如何在JAX-RPC Web服务处理程序(handler)中添加用户密码,以...

    WebService介绍(一):创建WebService

    JAX-WS提供了一种简单的方法来创建SOAP-based的WebService。 1. 创建Java接口:首先,定义一个名为`BankService`的Java接口,包含如`transfer()`和`checkBalance()`这样的方法,每个方法都有对应的输入和输出参数。...

    soap的demo

    SOAP(Simple Object Access Protocol)是一种基于XML的协议,用于在Web服务中交换结构化和类型化的信息。在本文中,我们将深入探讨SOAP的工作原理、它如何处理数据传递,特别是当对象属性为null时的情况,以及如何...

    用java调用ebservices三种方式.doc

    JAX-RPC(Java API for XML-based Remote Procedure Call)是一种基于XML的标准API,它定义了Java应用程序与XML数据之间的交互方式。主要特点包括: 1. **WSDL到Java和Java到WSDL的映射**:支持将WSDL端口类型映射...

    jdk自动生成webservice

    它替代了早期的JAX-RPC(Java API for XML-Based Remote Procedure Calls),提供了更直接的与WSDL(Web Services Description Language)交互的方式。JAX-WS通过注解使得Java类可以直接映射到Web服务接口,极大地...

    JAX-WS2.2规约

    JAX-WS(Java API for XML-based Web Services)2.2规范是由JCP(Java Community Process)组织发布的一个重要的技术文档,该文档对JAX-WS 2.2版本进行了详尽的说明。对于开发人员和用户来说,理解这一规范是非常...

    Apache Geronimo 中部署 Web 服務

    - **命令示例**:`wsdl2java -uri http://example.com/service.wsdl -d .` 4. **代码开发**:根据生成的 Java 代码,开发具体的 Web 服务逻辑。 5. **部署 Web 服务**:将开发好的 Web 服务打包成 WAR 文件,并...

    java WebService调用的几种方式详细源代码

    在Java中,可以使用JAX-WS(Java API for XML Web Services)来处理SOAP请求和响应。通过`@WebService`注解定义服务接口,`@WebMethod`注解定义服务方法,然后使用`wsimport`工具生成客户端代理类,即可调用服务。 ...

    将铲子朝向JAX-WS

    5. **JAX-RPC(Java API for XML-based RPC)**:JAX-WS的前身,主要用于远程过程调用,但JAX-WS更加强调基于标准的Web服务。 **三、JAX-WS的基本工作流程** 1. **服务端开发**:定义服务接口,使用`@WebService`...

    jaxws的小demo

    它提供了从Java接口到SOAP消息的自动绑定,使得开发者可以使用普通的Java方法来调用和实现Web服务。JAX-WS支持多种协议,包括SOAP、WSDL和UDDI,能够处理XML数据并进行网络通信。 2. **Web服务生命周期** - **创建...

    Professional C# 3rd Edition

    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 ...

    webservice调用示例

    Axis使得开发人员能够轻松地创建SOAP客户端和服务器端应用,支持JAX-RPC(Java API for XML-based Remote Procedure Calls)规范。 - **Axis2**: Axis2是Axis的下一代版本,它在性能和可扩展性方面有所提升。Axis2...

    外部接口调用 使用spring4+hessian4实例(二)

    1. **轻量级**:Hessian使用二进制格式,相比XML-based的Web服务协议如SOAP,传输数据更小,速度更快。 2. **透明性**:Hessian支持自动类型转换,客户端和服务器端可以使用不同的语言实现,但仍然可以无缝交互。 3....

    ZendFramework中文文档

    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_...

Global site tag (gtag.js) - Google Analytics