基于jws发布webservice服务

用途

用于验证基于jws搭建的webservice服务端与客户端。

WebService服务端

1、目录结构

D:.
│  pom.xml # maven配置
│  README.md
│
├─logs #日志目录
└─src├─main│  ├─java│  │  └─com│  │      └─demo│  │          └─ws│  │                  WSServer.java # WebService服务端代码│  ││  └─resources│          gen-ws-client.bat # 生成ws代理类│          log4j.properties # 日志配置│└─test

2、服务端代码

WSServer.java

package com.demo.ws;import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.xml.ws.Endpoint;import org.apache.log4j.Logger;/*** jws发布webservice服务* */
@WebService
public class WSServer {private static Logger log = Logger.getLogger(WSServer.class);@WebMethodpublic int add(int a, int b) {int result = a + b;log.info("调用add:" + a + "+" + b + "=" + result);return result;}public static void main(String[] args) {String address = "http://localhost:8001/wsdemo";Object implementor = new WSServer();Endpoint.publish(address, implementor);log.info("webService 服务发布成功!");log.info("wsdl地址:" + address + "?wsdl");}
}

3、生成ws代理类

服务端启动后,使用wsimport生成客户端接口代理,批处理脚本如下:

gen-ws-client.bat

@echo off
rem 生成Webservice代理文件rmdir /s/q output
mkdir outputset wsdl_url=http://127.0.0.1:8001/wsdemo?wsdl
wsimport -s output -encoding utf8 -Xnocompile %wsdl_url%
pause

4、日志配置

log4j.properties

log4j.rootLogger = debug,stdout,D,Elog4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} %l - %m%nlog4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = logs/log.log
log4j.appender.D.Append = true
log4j.appender.D.Encoding=UTF8
log4j.appender.D.Threshold = DEBUG
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  - [ %p ]  %l %c %t - %m %n log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File =logs/error.log
log4j.appender.E.Append = true
log4j.appender.E.Encoding=UTF8
log4j.appender.E.Threshold = ERROR
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  - [ %p ]  %l %c %t - %m %n

5、pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.demo</groupId><artifactId>wsdemo_server</artifactId><version>0.0.1-SNAPSHOT</version><packaging>jar</packaging><name>wsdemo</name><url>http://maven.apache.org</url><properties><java.version>1.8</java.version><maven.compiler.source>${java.version}</maven.compiler.source><maven.compiler.target>${java.version}</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><dependencies><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>3.8.1</version><scope>test</scope></dependency></dependencies>
</project>

webservice 客户端

1、目录结构

D:.
│  pom.xml
│  README.md
│
└─src├─main│  └─java│      └─com│          └─demo│              ├─ws  # 服务端接口代理│              │      Add.java│              │      AddResponse.java│              │      ObjectFactory.java│              │      package-info.java│              │      WSServer.java│              │      WSServerService.java│              ││              └─wsclient│                      WSClient.java # 客户端代码│└─test└─java

2、导入代理类

将服务端生成的代理类导入到工程中

3、客户端代码

package com.demo.wsclient;import com.demo.ws.WSServer;
import com.demo.ws.WSServerService;/*** ws client test*/
public class WSClient {public static void main(String[] args) {WSServer service = new WSServerService().getWSServerPort();System.out.println("调用add:1+2=" + service.add(1, 2));}
}

4、pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.demo</groupId><artifactId>wsdemo_client</artifactId><version>0.0.1-SNAPSHOT</version><packaging>jar</packaging><name>wsdemo_client</name><url>http://maven.apache.org</url><properties><java.version>1.8</java.version><maven.compiler.source>${java.version}</maven.compiler.source><maven.compiler.target>${java.version}</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>3.8.1</version><scope>test</scope></dependency></dependencies>
</project>

基于jws发布webservice服务相关推荐

  1. 使用CXF发布WebService服务简单实例

    一.说明: 前面介绍了使用axis2来发布Webservice服务,现在介绍一种更popular,更高效的Webservice服务发布技术:CXF Apache CXF = Celtix + XFir ...

  2. Springboot 基于CXF构建WebService服务

    前言 最近因为系统需要接入了一个新的支付通道,一般来说都是使用RestApi 来接入,但是本次接入的支付通道为境外支付,使用的WebService,对于WS我们在实际业务中基本上不会用到,所以查阅了一 ...

  3. CXF框架发布WebService服务的例子

    1.CXF框架概念介绍 Apache CXF 是一个开源的 WebService 框架,CXF可以用来构建和开发 WebService,这些服务可以支持多种协议,比如:SOAP.POST/HTTP.H ...

  4. 如何发布webservice服务端

    如何发布webservice服务端 还是使用jdk提供的工具进行webservice进行发布(从jdk1.6以后)对soap1.2协议支持的不是很好 使用Endpoint里面的publish方法进行发 ...

  5. Spring和CXF整合发布WebService(服务端、客户端)

    参考Spring和CXF整合发布WebService(服务端.客户端) 转载于:https://www.cnblogs.com/timspace/p/11113576.html

  6. Aixs2发布webservice服务

    http://www.blogjava.net/pzxsheng/archive/2012/12/21/393319.html 开发前准备:     1.Eclipse Java EE IDE(Jun ...

  7. Spring4.x整合Axis1.4发布WebService服务

    Spring4.x整合Axis1.4发布WebService服务 文章目录 一.服务端部署 1. 在web.xml文件中添加映射路径和spring监听 2. 添加spring-axis.xml配置文件 ...

  8. dubbo发布webservice服务

    dubbo发布webservice服务 学习了:https://blog.csdn.net/zhangyunpengchang/article/details/51567127 https://blo ...

  9. java自带JWS开发Webservice服务

    java-JWS开发Webservice 个人工作总结–顺便分享给大家 从JDK5开始,JAVA为WebService提供了Jax-ws支持,所以使用该指南需要具备JAVA 的JDK5以上版本 不多说 ...

最新文章

  1. Java8 LinkedHashMap 源码阅读
  2. java es api jar包_Elasticsearch 搜索服务器 Java API 使用详解
  3. 十分钟理解线性代数的本质_复习线性代数的正确方式
  4. 专业化分类服务,引领IDC行业发展新模式
  5. 编译DXperience 7.1源码和升级原有的应用程序
  6. 2018程序员必读书单
  7. 同城门户同城分类信息网站源码discuz插件+pc端+小程序端+49款插件
  8. 通过身份证号码提取年龄,性别
  9. java漫画pdf_Java并发编程学习宝典(漫画版)(PDF+HTML完结)
  10. SuperMap iClient3D for WebGL教程(特效)- 点光源
  11. 解决vscode下载慢的问题
  12. chrome浏览器控制台性能监控
  13. 光功率 博科交换机_交换机查看光模块型号及收发光功率命令
  14. Docker 目录/var/lib/docker/containers文件过大
  15. 星际争霸php,星际争霸之php简单工厂模式
  16. 《A Traceable and Revocable Ciphertext-Policy Attribute-based Encryption Scheme Based》属性加密机制
  17. NET Namespace(1)
  18. QCon旧金山2016大会,议题发布及研讨会一瞥
  19. Zip4j 压缩包加密压缩与解压
  20. endcap和welltap_Physical only cell的介绍

热门文章

  1. 用计算机怎么算吸光度的回归方程,Pt含量与UV-Vis吸光度的线性回归拟合.doc
  2. Windows 10 修改桌面图标一(系统图标)
  3. php测试教程,PHP单元测试基础教程
  4. matlab 替换字符 数字,使用正则表达式替换文本
  5. 电脑打字习惯让人提笔忘字
  6. 棒球·飞盘·MLB棒球创造营
  7. On the Opportunities and Risks of Foundation Models- APPLICATIONS
  8. Chrome浏览器标签管理插件–OneTab
  9. ChatGPT 爆火,社交应用如何 Get 新技能
  10. 利用python爬取实习僧网站上的数据