WebService--jax
使用javax.jws编写webservice服务:
服务端:
1,定义webservice接口:
package com.jws.serviceInterface;
import javax.jws.WebParam;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import javax.jws.soap.SOAPBinding.Style;
@WebService
@SOAPBinding(style=Style.RPC)
public interface HelloWorld {
String sayHi(@WebParam(name="text") String text);
}
2,实现webservice接口的(红色部分内容为接口文件,serviceName可自定义):
import javax.jws.WebService;
import com.jws.serviceInterface.HelloWorld;
@WebService(endpointInterface="com.jws.serviceInterface.HelloWorld",serviceName="HelloWorld")
public class HelloWorldImp implements HelloWorld {
@Override
public String sayHi(String text) {
// TODO Auto-generated method stub
return "say hi "+text;
}
}
3,发布webservice:使用Endpoint.publish进行发布,该种方法适用于将程序打包成jar运行的方式运行。
public static void main(String[] args) {
String address ="http://localhost:9000/service";
HelloWorld helloWorld = new HelloWorldImp();
Endpoint.publish(address, helloWorld);
}
发布成功后,通过访问http://localhost:9000/service/HelloWorld?wsdl可看到如下内容:
客户端:
通过wsimport(jdk自带命令,如果找不到请检查jdk配置)命令导出Webservice接口文件到项目当中:
(pacakgeName:在客户端项目中webservice接口文件的包名,urlAddress:webservice访问地址,saveDir:保存本地路径)
wsimport -keep -p packageName urlAddress -s saveDir
例如:
wsimport -keep -p com.jws.service http://localhost:9000/service/HelloWorld?wsdl -s D:/service/
导出工程后结构如下:
客户端调用方式如下:
public static void main(String[] args) throws MalformedURLException {
HelloWorld helloWorld = new HelloWorld_Service(new URL("http://localhost:9000/service/HelloWorld?wsdl)).getHelloWorldImpPort();
String reply = helloWorld.sayHi("test");
System.out.println(reply);
}
调用方式可以直接写url地址,也可以将所有soap内容保存到本地,通过file:address方式进行引用。如果需要使用soap handler拦截器进行请求拦截,则只能使用本地文件引用的方式。
WebService--jax的更多相关文章
- 异步调用webservice
一.异步调用 asynchronous call(异步调用):一个可以无需等待被调用函数的返回值就让操作继续进行的方法 举例: 异步调用就是你 喊 你朋友吃饭 ,你朋友说知道了 ,待会忙完去找你 ,你 ...
- JAX-WS(三)构建简单webservice部署到tomcat上
前言: 虽然构建本地的jax-ws的webservice很简单,但要部署到tomcat上要绕过点弯. tomcat本身和jdk都没有jaw-ws的API,所以部署的时候需要额外做点事情,有两种选择 1 ...
- JAX-WS(一)之使用wsgen从Java创建简单的WebService
概念 JAX-WS2.0的全称Java API for XML-Based Web Service 2.0.JAX-WS2.0是对JAX-RPC1.0规范的扩展,是JAX-RPC1.1的后续版本,JA ...
- WebService的发布及客户端的调用
一.目录 1.JAX-WS发布WebService 1.1 创建一个简单的WS 1.2 打包部署和发布 2.CXF+Spring发布WebService 3.客户端的调用方式 二.正文 1. JAX- ...
- Java使用JAX-WS来写webservice时 Unable to create JAXBContext
webservice,作为web开发人员来说必须掌握的一门技术,它的好处这里就不多说了,eclipse中自带了一种生成webservice的 方法,使用JAX-WS,如果我没有弄错的话,它需要java ...
- 用JAX-WS在Tomcat中公布WebService
JDK中已经内置了Webservice公布,只是要用Tomcat等Webserver公布WebService,还须要用第三方Webservice框架. Axis2和CXF是眼下最流行的Webservi ...
- 用JAX-WS在Tomcat中发布WebService
JDK中已经内置了Webservice发布,不过要用Tomcat等Web服务器发布WebService,还需要用第三方Webservice框架.Axis2和CXF是目前最流行的Webservice框架 ...
- spring+jax 出现java.io.Serializable is an interface, and JAXB can't handle interfaces
spring+jax 出现java.io.Serializable is an interface, and JAXB can't handle interfaces 原因是我的webservice方 ...
- webService
什么是webService WebService,顾名思义就是基于Web的服务.它使用Web(HTTP)方式,接收和响应外部系统的某种请求.从而实现远程调用. 1:从WebService的工作模式上 ...
- 开始webservice了
一.WebService到底是什么 一言以蔽之:WebService是一种跨编程语言和跨操作系统平台的远程调用技术. 所谓跨编程语言和跨操作平台,就是说服务端程序采用java编写,客户端程序则可以采用 ...
随机推荐
- Python s12 Day1 笔记及作业
作业一: 输入用户名密码 认证成功后显示欢迎信息 输错三次后锁定 python3代码 : # -*- coding:utf-8 -*- input_name = input("Please ...
- javascript数组的常用方法总结
http://jingyan.baidu.com/album/86fae346bce16d3c49121af9.html?picindex=1 1. concat()方法 数组和数组的 粘结: var ...
- EasyUI ComboTree无限层级异步加载示例
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="EasuUIDemoTree.a ...
- Jquery滚动到页面底部自动Ajax加载图文列表,类似图片懒加载效果,带加载效果
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- MxNet新前端Gluon模型转换到Symbol
1. 导入各种包 from mxnet import gluon from mxnet.gluon import nn import matplotlib.pyplot as plt from mxn ...
- 验证代理IP
##author:wuhao#import urllib.requestfrom http import cookiejar import xlrd import threading #有效的代理,可 ...
- 【学习】js学习笔记:数组(二)
二维数组 例子:矩形反转: <script> var arr=[[1,1,1,1,1],[2,2,2,2,2],[3,3,3,3,3],[4,4,4,4,4],[5,5,5,5,5]]; ...
- Django实现用户密码重置
使用Django内置的认证视图实现简单的通过邮箱重置密码的功能版本:django 1.11 在django.contrib.auth.views中提供了四个类视图用于密码重置 class Passwo ...
- Scrapy框架--使用cookie
CookieMiddleware class scrapy.downloadermiddlewares.cookies.CookieMiddlewar 该中间件使得爬取需要cookie(例如使用ses ...
- Ubuntu安装Java8和Java9
前言 系统:Ubuntu 16.04 软件: Java8, Java9 Tips: Java 9 的代码由于提供了新特性,所以有些代码并不支持向后兼容.也就是说,用 Java 9 写的代码,有可能在 ...