WebService案例实例
WebService案例实例
前言:
由于工作需要,写一个接口,返回xml信息。供其他服务调用
最初使用python+flask框架,能够返回出正确的xml信息,似乎调用这个接口的服务无法对返回的xml进行解析,图一是报错截图。(开发说是协议问题)如果有知道的小伙伴可以给我留言!
Caused by: org.xml.sax.SAXException: Bad envelope tag: envelope 错误问题
转战使用Java语言开发
笔者之前未使用过Java,也是通过网上查找一些相关材料,最后写出这个简单的案例
准备工具:
1.下载 jdk,我用的1.8.0
2.安装 Java编译器,我用的Intellij IDEA 专业版
下面是正文
1.首先创建一个web项目来用做服务端,创建项目Java-WebServices。如果是社区版可能没有这个选项
项目中一共3个.java文件 接口与类一目了然 Login4AServices是一个发布类只有一个main方法
2.直接上代码:
Login4AServicesInterface.java
package com.webservice.server;public interface Login4AServicesInterface {}
Webcontextlistener.java
package com.web;import com.webservice.server.Login4AServices;import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.xml.ws.Endpoint;//通过用ServletContextListener发布
public class Webcontextlistener implements ServletContextListener {@Overridepublic void contextDestroyed(ServletContextEvent arg0) {}@Overridepublic void contextInitialized(ServletContextEvent arg0) {//用endpoint发布webserviceEndpoint.publish("http://127.0.0.1:8146/uac/services/CheckAiuapTokenSoap", new Login4AServices());System.out.println("通过servletcontextlistener部署webservice成功");}}
Login4AServices.java
package com.webservice.server;import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.xml.ws.Endpoint;@WebService(targetNamespace = "http://127.0.0.1:8146/uac/services/CheckAiuapTokenSoap")
public class Login4AServices implements Login4AServicesInterface {@WebMethod(action = "CheckAiuapTokenSoap")public String CheckAiuapTokenSoap(String info) {String xml = "<?xml version='1.0' encoding='UTF-8'?><USERRSP><HEAD><CODE>000</CODE><SID>000</SID><TIMESTAMP>20201221082621</TIMESTAMP><SERVICEID>CQYGPT</SERVICEID></HEAD><BODY><RSP>0</RSP><APPACCTID>aaa</APPACCTID><MAINACCTID>10007308</MAINACCTID></BODY></USERRSP>";System.out.println("from client..." + " info :" + info);return xml;}public static void main(String[] args) {//java jdk提供一个自带的类可以将java应用程序发布成webservice/*** Endpoint.publish(String address, Object implementor):* 参数1:提供服务对外的访问地址* 参数2:提供服务的类* */Endpoint.publish("http://127.0.0.1:8146/uac/services/CheckAiuapTokenSoap", new Login4AServices());System.out.println(" 发布成功 ...");}
}
4.执行Login4AServices.java文件就是发布
发布的时候需要确保端口号没有被占用
附上查看端口是否被占用命令:netstat -ano | findstr "port"
5.测试一下
我们使用上面的URL地址访问下
http://localhost:8146/uac/services/CheckAiuapTokenSoap?wsdl (一定要加上?wsdl)
用Java写的webservice接口就解决了前言中的工作问题,使用flask框架的却不行。。。。
依葫芦画瓢… 先记录下来,再作补充。
附上另外一篇项目实例,用python+flask框架
flask-web项目实例(二),设置响应消息为xml格式
WebService案例实例相关推荐
- java使用axis2调用webservice接口实例
说明:我目前的项目环境是struts2+spring+mybatis+oracle,以下代码是java使用axis2调用webservice接口实例. import javax.xml.namespa ...
- TIPTOP 调用其他系统的webservice案例
TIPTOP 调用其他系统的webservice案例 本案例主要是解决TIPTOP ERP调用其他系统的接口进行的集成开发,也就是当ERP作为客户端时候,它如何去调用其他系统的Webservice地址 ...
- Android之ksoap2-android详解与调用天气预报Webservice完整实例
Google为Android平台开发Web Service客户端提供了ksoap2-android项目,在这个网址下载开发包http://code.google.com/p/ksoap2-androi ...
- java调用第三方的webservice应用实例
互联网上面有很多的免费webService服务,我们可以调用这些免费的WebService服务,将一些其他网站的内容信息集成到我们的Web应用中显示. 一些常用的webservice网站的链接地址: ...
- eclipse+webservice开发实例
1.參考文献: 1.利用Java编写简单的WebService实例 http://nopainnogain.iteye.com/blog/791525 2.Axis2与Eclipse整合开发Web ...
- php调用.net webservice,PHP调用.NET的WebService 简单实例
这篇文章主要介绍了使用PHP调用.NET的WebService的一个简单实例,十分的简单,有需要的小伙伴可以自己扩展下,如有疑问请留言. 创建一个C#的web service,这个就不多说了,我用vs ...
- 一个CXF集成SPRING的WEBSERVICE完整实例
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 1 首先 ...
- eclipse java开发实例_eclipse+webservice开发实例
1.參考文献: 2.实例1(主要看到[2]) 2.1.系统功能: 开发一个计算器服务CalculateService,这个服务包括加(plus).减(minus).乘(multiply).除(divi ...
- java开发webservice简单实例_jsp实现的webservice的简单实例
jsp webservice用到的比较少但是用到就是一个大东西了经常用过其它的api形式了而webservice用到不多,下面我们来看一篇关于jsp实现的webservice的简单实例吧,具体如下. ...
- 基于PI的Webservice发布实例
[转自http://blog.csdn.net/yin_chuan_lang/article/details/6706816] 最近的项目中,接口较多,而Webservice技术是主要实现方式之一.下 ...
最新文章
- Vue+Element-ui+二级联动封装组件
- 人工智能:从经典计算机到量子计算机,弱AI进阶到强AI时代?
- 【开发环境】安装 Visual Studio Community 2013 版本 ( 安装软件 | 通过 GitHub 账号登录软件 | 启动软件 | 安装中文语言包 )
- java测试时找不到类,我在class文件运行不了测试文件,提示找junit4找不到任何的测试项目...
- 排成一条线的纸牌博弈问题
- Win32汇编环境搭建教程(MASM32 SDK)
- Stateflow_after计时计数
- Ansible(三)编写ansible的playbook文件(实现端口更改、远程主机信息采集、负载均衡)
- win11小键盘怎么设置 Windows11小键盘的设置方法
- C++实现输入任意大小的整形数组并且利用冒泡排序法进行升序排序并且进行二分查找
- SM2258XT固态硬盘不认盘量产修复开卡工具 SM2258XT开卡教程
- Java将byte流转换成zip文件_java zip文件的压缩与解压
- 荣耀magicbook15C语言,荣耀MagicBook 15 2021版评测:轻薄机身+强悍性能 专为高效率办公而生...
- 路由器克隆电脑mac地址,破解电脑连接固定网线ip
- Gas Station (环形加油站)
- 重装win10系统 远程控制TeamViewer——深度学习菜鸡入门(2)
- Gitpod---可以在线运行Github上代码的IDE
- linux centos 手册,zh/FAQ/CentOS4 - CentOS Wiki
- python 发送QQ邮箱
- linux http查看网页,【Linux C/C++】 第09讲 HTTP协议与浏览器显示网页