`
schy_hqh
  • 浏览: 556042 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

JAX-WS(一)初步

 
阅读更多
JAX-WS

基于java本身对webservice的支持进行webservice的开发

1.创建接口SEI(Service Endpoint Interface)
package com.hqh.service;

import javax.jws.WebService;

@WebService
public interface IMyService {
	public int plus(int a,int b);
	public int minus(int a,int b);
}



2.编写实现类SIB(Service Implements Bean)
package com.hqh.service;

import javax.jws.WebService;

@WebService(endpointInterface="com.hqh.service.IMyService")
//endpointInterface 接入点接口
public class MyServiceImpl implements IMyService {

	@Override
	public int plus(int a, int b) {
		System.out.println("MyServiceImpl.plus()");
		return a+b;
	}

	@Override
	public int minus(int a, int b) {
		System.out.println("MyServiceImpl.minus()");
		return a-b;
	}

}



3.发布服务
注意:使用注解配置SEI和SIB
package com.hqh.service;

import javax.xml.ws.Endpoint;


public class MyServer {
	public static void main(String[] args) {
		//对外提供服务的访问地址
		String addr = "http://localhost:8888/numberService";
		//根据提供的服务地址和服务具体实现类对外发布服务
		Endpoint.publish(addr, new MyServiceImpl());
	}
}


4.访问服务
运行程序,访问如下地址,即可看到wsdl
http://localhost:8888/numberService?wsdl
package com.hqh.service;

import java.net.URL;

import javax.xml.namespace.QName;
import javax.xml.ws.Service;

public class MyClient {
	public static void main(String[] args) throws Exception {
		
		//指定wsdl的地址
		String wsdlAddr = "http://localhost:8888/numberService?wsdl";
		
		//创建一个指向wsdl文件的URL
		URL wsdlDocumentLocation = new URL(wsdlAddr);
		
		//wsdl的目标命名空间[wsdl中定义的targetNamespace属性]
		String namespaceURI = "http://service.hqh.com/";
		//wsdl的名称[wsdl中定义的name属性]
		String localPart = "MyServiceImplService";
		
		//服务的名称[通过targetNamespace和name可以定位到一个definitions]
		QName serviceName = new QName(namespaceURI, localPart);
		
		//通过wsdl的URL和QName创建服务对象
		Service service = Service.create(wsdlDocumentLocation, serviceName);
		
		//关键:xml:wsdl--->class:interface
		//解析wsdl将转换为一个java接口(这样本地就能通过调用这个接口的方法实现对服务的访问)
               //注意:IMyService接口 在远程客户端是没有的,这个问题如何解决呢???
		IMyService serviceEndpointInterface = service.getPort(IMyService.class);
		
		//调用接口中的方法
		int retPlus = serviceEndpointInterface.plus(1, 1);
		System.out.println(retPlus);
		int retMinus = serviceEndpointInterface.plus(2, 1);
		System.out.println(retMinus);
	}
}




分享到:
评论

相关推荐

    初级Webservice教程代码资料(java)

    1. JAX-WS教程:这将涵盖如何定义一个服务接口,使用@WebService注解标记,然后使用Wsimport工具生成客户端和服务端的桩代码。还会涉及端点的实现,以及如何发布和测试服务。 2. SOAP消息:理解SOAP消息的结构,...

    SoapWS:Spring-WS 与 Spring Boot 一起测试

    JAVA EE 和 JAX-WS 将是一个不错的选择,但我决定坚持使用 Spring WS 和 Spring Boot 作为超级胶水。 作业涵盖了以下主题: 创建两个端点,根据简单过滤返回查询结果列表 使用 WS-Security 进行基本身份验证 按照...

    cfdi-builderplus-ws:一个消费builderplus ws的web服务

    因此,可以推测“cfdi-builderplus-ws”是用Java实现的,可能使用了Spring框架、 Axis2 或 JAX-WS 等技术来构建Web服务。 **文件结构推测:** 虽然没有具体的文件列表,但根据一般的开源项目结构,我们可以假设...

    CXF入门例子

    标题 "CXF入门例子" 暗示了我们要探讨的是Apache CXF框架的初步使用,这是一个流行的开源服务框架,用于构建和开发Web服务。Apache CXF允许开发者通过Java API来创建SOAP和RESTful Web服务,提供了强大的功能和易用...

    glassfish-6_2007

    - **WSIT** (Web Services Interoperability Technology) 是对JAX-WS 2.x的扩展,旨在提高互操作性和服务质量。 - 实现了多个Web服务规范,如WS-Addressing、WS-Security、WS-Secure Conversation等。 - 提供了...

    WebService学习之路一

    2. **创建第一个Web Service**:通过JAX-WS或Apache CXF,编写简单的Java类,将其暴露为一个Web Service。这通常涉及创建一个服务端点接口(SEI)和其实现类。 3. **生成WSDL**:一旦服务端点实现,框架会自动生成...

    WebService CXF学习-入门篇.pdf

    通过以上步骤,我们可以完成一个基本的"HelloWorld"服务的创建和调用,从而对CXF的使用有一个初步的认识。 总结来说,Apache CXF是一个强大的Web服务框架,它提供了一套全面的工具和API,使得开发者能够方便地创建...

    cxf-3.0.0 zip

    这个"apache-cxf-3.0.0-milestone2.zip"压缩包包含了Apache CXF 3.0.0的第二个里程碑版本,这是一个重要的中间版本,在正式发布之前提供了对新功能和改进的初步测试。 Apache CXF主要知识点: 1. **Web服务框架**...

    webservice入门实例

    本实例将带你走进Web服务的世界,通过原创代码实现Web服务的创建与调用,让你对Web服务有一个初步且深入的理解。 在Web服务的核心技术中,XML(Extensible Markup Language)用于数据交换,SOAP(Simple Object ...

    jetty-6.1.2

    CXF支持多种协议和标准,如JAX-WS、JAX-RS等,并且可以与多种服务器集成,Jetty就是其中之一。将CXF与Jetty结合使用,开发者可以快速构建和部署Web服务,同时利用Jetty的高效性能和轻量级特性。 在Jetty 6.1.2中,...

    webService小课件

    - **JAX-WS**(Java API for XML Web Services):Java平台上的Web Service开发标准,用于创建SOAP服务。 - **JAX-RS**(Java API for RESTful Web Services):用于构建RESTful风格的Web Service。 - .NET框架中...

    eclipse3.2web插件自己用

    WTP提供了丰富的功能,如XML编辑器、WS-I兼容性测试、JAX-WS和JAX-RS服务创建等。 6. **版本控制集成**:Eclipse 3.2的Web插件可能还会集成常见的版本控制系统,如Git或SVN,以便于团队协作和代码管理。 7. **部署...

    WebService入门精选视频教程day2(极详细)

    第一天的学习可能已经让你对WebService有了初步的认识,比如它的基本概念和作用。在第二天的视频教程中,我们将进一步探讨以下关键知识点: 1. **SOAP协议**:Simple Object Access Protocol,它是WebService中最...

    TongWeb5.0快速使用手册

    - JAX-WS 2.0 - **协议支持**: - HTTP 1.1 - RMI-IIOP - **安全支持**: - JAAS 1.0 - J2EE 安全机制 - **向下兼容性**:TongWeb5.0向下兼容J2EE1.4和J2EE1.3规范。 #### 第2章 TongWeb5.0安装 ##### 2.1 ...

    简易EJB3.0教程

    此外,JAX-WS(Java API for XML Web Services)提供了完整的工具链,简化了服务的创建和部署。 **教程文件结构** - `ejb_01`:可能包含了EJB3.0基础概念的介绍和初步示例。 - `ejb_02`:可能进一步详细解释了...

    Windows下1.1到1.8所有JDK.zip

    JDK 6(代号"Mustang")继续优化性能,增加了更多的Java EE功能,如WebSocket和JAX-WS,同时还支持更多的XML标准。此外,它还提供了更丰富的UI组件和更好的脚本语言支持。 7. JDK 7 (2011年) JDK 7(代号"Project...

    JDK1.6.0_45

    6. **XML和Web服务改进**:JDK1.6对XML解析和Web服务API进行了升级,包括SAX和StAX解析器的性能提升,以及JAXB和JAX-WS的增强,使得处理XML数据和构建Web服务更加便捷。 7. **Swing和AWT改进**:图形用户界面(GUI...

    Axis实践之Axis入门

    【Axis实践之Axis入门】是关于使用Axis进行Web服务开发的初步教程,主要涉及Axis的安装和配置。Axis是Apache软件基金会开发的一个用于构建和部署Web服务的工具,它允许开发者将Java类转换为Web服务。 第一步是下载...

    cxf+spring使用经验

    Apache CXF 是一个开源的 Web 服务框架,它整合了 Celtix 和 XFire 两大项目的优势,提供了全面的 JAX-WS 支持,允许开发者通过 Code First 或 WSDL First 的方式来创建和消费 Web 服务。CXF 支持多种绑定、数据绑定...

    J2EE JAR包(J2EE1.3 J2EE1.4 J2EE5.0 )

    总的来说,J2EE JAR包见证了Java在企业级应用开发领域的不断演进,从J2EE 1.3的初步成熟到1.4的完善,再到5.0的显著简化,它们反映了软件开发趋势的变化,即从繁重的手动配置转向更简洁、更具生产力的开发方式。...

Global site tag (gtag.js) - Google Analytics