`
schy_hqh
  • 浏览: 543495 次
  • 性别: 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);
	}
}




分享到:
评论

相关推荐

    JAX-WS 2.2 RI所有相关jar包

    JAX-WS 2.2 RI 所包含的JAR包集合,包含25个JAR包,列表如下: FastInoset.jar gmbal-api-only.jar ha-api.jar javax.annotation.jar javax.mail_1.4.jar jaxb-api.jar jaxb-impl.jar jaxb-xjc.jar jaxws-api...

    JAX-WS自学笔记

    JAX-WS自学笔记 本人自学JAX-WS笔记和简单例子,文档标题结构如下: JAX-WS使用教程 1、JAX-WS概述 2、创建Web Service 2.1 从java开始 2.1.1 运行wsgen 2.1.2 生成的WSDL和XSD 2.1.3 目录结构 2.2 从WSDL...

    jax-ws webservice demo

    基于jax-ws 实现的web service client和server端的demo程序。 注:如果使用的是 myeclipse 时 server 部署到tomcat 启动的时候会报错 解决办法:找到myeclipse安装目录下的 plugins 目录里 查找 webservices-rt.jar,...

    Jax-ws所需要的JAR包

    亲测可用,Jax-ws所需要的JAR包,拷贝到tomcat安装路径的lib里,实现了webservice发布到tomcat,赞!

    MyEclipse8_0中使用 JAX-WS 部署 WebService 实例

    MyEclipse8_0中使用 JAX-WS 部署 WebService 实例 - 外衣 - 博客频道 - CSDN_NET.mht

    metro-jax-ws-master

    The Java API for XML Web Services (JAX-WS) is a Java programming language API for creating web services, particularly SOAP services. JAX-WS is one of the Java XML programming APIs. It's a part of the ...

    webService部署tomcat需要的jax-ws jar包

    webService部署tomcat需要的jax-ws 的完整jar包

    JAX-WS2.0 API

    JAX-WS2.0 API

    Jax-WS 简单实例

    Jax-WS的简单实例 Jax-WS的简单实例

    JAX-WS_WebService.rar

    JAX-WS方式开发和部署webservice应用,JAX-WS方式开发和部署webservice应用,JAX-WS方式开发和部署webservice应用,JAX-WS方式开发和部署webservice应用,JAX-WS方式开发和部署webservice应用

    jax-ws webservice简单demo

    jax-ws webservice完整demo,包含所有jax-ws 2.2jar包。

    jax-rs jax-ws所需包,亲测可用

    javax.xml.ws.Service 报错需要的包,亲测可以用,直接下载在ide里buildpath一下就可以,四个jar包 ,整合了其他的jar所以配置简单

    JAX-WS开发的文件生成与部署相关全视频过程

    如果基于一个JAX-WS进行WebService开发,有很多教程,但是具体怎么更自动地生成一些文件,实现客户端与服务端的交互,都讲得不大清楚,为了让大家更方便地部署,我将服务端、客户端文件的生成与部署全过程以及测试...

    使用JAX-WS(JWS)发布WebService

    使用JAX-WS(JWS)发布WebService 使用myeclipse开发java的webservice的两种方式 方式一: (此方式只能作为调试,有以下bug:jdk1.6u17?以下编译器不支持以Endpoint.publish方式发布document方式的soap,必须在...

    JAX-WS 2.2 完整jar包

    JAX-WS 2.2 RI 所包含的JAR包集合,包含25个JAR包,列表如下: FastInoset.jar gmbal-api-only.jar ha-api.jar javax.annotation.jar javax.mail_1.4.jar jaxb-api.jar jaxb-impl.jar jaxb-xjc.jar jaxws-api...

    JAX-WS Web service

    JAX-WS Web service 开发初步

    jax-ws 方式发布web Service 后台用Hibernate实现,前端.NET通过引用服务方式实现

    rar中包含整个项目的源码和数据库生成脚本,采用jax-ws发布Web Service服务,支持java客户端和.Net客户端调用,数据库采用oracle10g,里面有创建数据库脚本文件createTable_Oracle10g.sql,由于Hibernate映射表中会...

    jax-ws json demo

    jax-ws demo.分享一个从别处得到的helloworld demo

    jax-ws创建webservice

    利用myeclipse创建的 jax-ws demo

Global site tag (gtag.js) - Google Analytics