WebService案例实例

2023-05-16

WebService案例实例

前言:

由于工作需要,写一个接口,返回xml信息。供其他服务调用

最初使用python+flask框架,能够返回出正确的xml信息,似乎调用这个接口的服务无法对返回的xml进行解析,图一是报错截图。(开发说是协议问题)如果有知道的小伙伴可以给我留言!

Caused by: org.xml.sax.SAXException: Bad envelope tag: envelope 错误问题

图1

转战使用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 {
    @Override
    public void contextDestroyed(ServletContextEvent arg0) {
    }

    @Override
    public void contextInitialized(ServletContextEvent arg0) {
        //用endpoint发布webservice
        Endpoint.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"

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Yu1GwE8d-1609404697154)(E:\交接文件\image-20201231161825717.png)]

5.测试一下

我们使用上面的URL地址访问下

http://localhost:8146/uac/services/CheckAiuapTokenSoap?wsdl (一定要加上?wsdl)

在这里插入图片描述

用Java写的webservice接口就解决了前言中的工作问题,使用flask框架的却不行。。。。
依葫芦画瓢… 先记录下来,再作补充。

附上另外一篇项目实例,用python+flask框架
flask-web项目实例(二),设置响应消息为xml格式

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WebService案例实例 的相关文章

  • C# 调用WebService的方式汇总

    C 调用WebService的方式汇总 方式一 xff1a 根据提供的webservice地址 xff0c 用VS自带工具生成cs文件 xff0c 添加到项目中使用即可 方式二 xff1a 根据webservice地址 xff0c 动态在项
  • cxf+spring实现webservice

    1 构建maven项目 xff0c 工程结构如下 xff1a 这里需要特别指出就是cxf core 3 1 12 jar类路径META INF cxf下有一个cxf xml的配置文件 xff0c 这个在applicationContext
  • SqlServer调用webapi和webService接口

    1 通过http协议post调用webapi接口 xff08 json数据格式 xff09 declare 64 ServiceUrl as varchar 1000 set 64 ServiceUrl 61 39 http 127 0 0
  • 最隐晦的程序设计指引

    一 百家争鸣 俗话说 程序员半年不学新东西 就变奥特曼 out man 过时之人 了 IT行业可以说是变化最快的行业 每年都有大量的新概念 新术语 新技术被创造出来 在多数人还在一头雾水时 更好的 替代品又被创造出来 别的不说了 单说设计方
  • Java web实现简登录页面(MyBatis+jsp+servlet+html+css+javascript)附源码

    本文利用MyBatis jsp servlet html css javascript实现了一个简单的登录页面 对用户输入的用户名和密码就行校验 校验通过则登录成功 密码和用户信息保存在mysql表中 通过MyBatis访问 MyBatis
  • 通过HttpUrlConnect调用Https asmx soap接口(绕过证书)

    import org springframework http HttpStatus import javax net ssl import java io IOException import java io InputStream im
  • SpringBoot 发布webservice接口,实现接口如何调用业务层代码

    如果直接按照业务层方式 在webservice实现是不可行的 Autowired无法自动注入 还会报空指针的错误 因为在webservice的自动注入不是在spring容器中找bean对象 所以按照service层方式是无法取得对象 所以我
  • CXF学习笔记---让通过参数传递数据

    整整折腾了3天终于通过CXF进行参数传递了 CXF的文档和sample都是存在问题的 这么一些简单的常用内容 硬是找不着 opensource的弊病 目地 通过webservice传递值以及错误信息 true 取result值 false
  • WebService 与 SOAP、WSDL、UDDI

    什么是WebService Web Services 是一种基于组件的软件平台 是面向服务的Internet 应用 Web Services 是应用于Internet 的 而不是限于局域网或试验环境 这要求提出的Web Services 框
  • 局域网访问本地localhost-VS2015调试WebService

    两点步骤 一 配置IP 二 VS管理员启动 配置ip 可以自定义IP 或者用自动分配的IP cmd ipconfig VS运行右键 显示所有应用程序 打开配置文件 在
  • 用Java写数据到POST请求

    用Java写数据到POST请求 HTTP POST请求最常见的用途是发送表单参数到服务器 除了发送表单数据 还可以使用POST的消息Body体发送各种数据 如纯文本 XML文档等 本文讲述如何用Java将数据写入POST请求的Body体 j
  • java调用 Myeclipse用jax-ws创建的webservice具体方法(三)

    首先需要下载所需的jar包 webservices所需全部jar包下载 点击打开链接 直接上代码 import java net MalformedURLException import java net URL import java r
  • 项目中集成 axis2 发布webservice

    在网上找了很多例子 发觉很多都是脱离项目 单独使用axis2包发布webservice接口 实际开发中 一般都是跟随项目启动之后 自动发布接口 接下来简单讲解一下 在项目中集成发布axis2 webservice接口 1 打开axis2 w
  • Apache CXF 在 WebLogic 9.2 上的问题定位分析及权宜之计

    Apache CXF 在 WebLogic 9 2 上的问题定位分析及权宜之计 本文关键词 技术 WebLogic Apache 中间件 http yulimin javaeye com blog 129015 同样的程序在 Tomcat
  • c#对接webservice接口

    方式一 需要填写地址 不能映射每个方法 工具类 using System using System CodeDom Compiler using System CodeDom using System Collections Generic
  • Android通过webservice连接SQLServer 详细教程(数据库+服务器+客户端)

    本文为原创 如果转载请注明出处 http blog csdn net zhyl8157121 article details 8169172 其实之前发过一篇这样的博文http blog csdn net zhyl8157121 artic
  • java调用webservice接口 几种方法

    webservice的 发布一般都是使用WSDL web service descriptive language 文件的样式来发布的 在WSDL文件里面 包含这个webservice暴露在外面可供使用的接口 今天搜索到了非常好的 webs
  • webservice中JAX-WS与CXF,Axis区别

    Web Service是一种能够使应用程序在不同的平台使用不同的编程语言进行通讯的技术规范 而这种技术规范的实现可以用不同的方法 比如使用基于XML形式的协议 SOAP 进行通讯或者是RESTFUL形式的 既然我们知道可以使用上面的两种形式
  • JAVA的WebService规范(支持)

    SOA Service Oriented Architecture 面向服务架构是一种思想 它将应用程序的不同功能单元通过中立的契约 独立于硬件平台 操作系统和编程语言 联系起来 使得各种形式的功能单元更好的集成 目前来说 WebServi
  • ORA-28002: 7 天之后口令将过期的解决方法 .

    启动Tomcat 当连接oracle数据库时错误信息提示 ORA 28002 7 天之后口令将过期 原因 oracle11g中默认在default概要文件中设置了 PASSWORD LIFE TIME 180 所导致 oracle用户的密码

随机推荐

  • 实现用python简易演奏《数鸭子》

    前几天上课老师给我们讲了两个模块 xff0c 然后利用这两个模块来模拟钢琴键盘去简单地演奏 数鸭子 今天来分享给大家 模块1 xff1a winsound 模块2 xff1a keyboard winsound xff1a winsound
  • 控制台报错整理

    一 无法将 npm 项识别为 cmdlet 函数 脚本文件或可运行程序的名称 请检查名称的拼写 xff0c 如果包括路径 xff0c 请确保路径正确 xff0c 然后再试一次 情景 在第一次初启项目时 xff0c 安装好node xff0c
  • git常用命令

    安装git 在git的官网下载需要的版本 安装完成后需要设置用户的用户名和邮箱 git config global user name 34 Your Name 34 例如 xff1a config global user name 34
  • 表格td实现可编辑

    html xff08 elementUi中的表格 xff0c 传入位置和当前值 xff09 methods xff08 生成input xff0c 将当前输入的value值等于当前单元格的值 xff09 handleChangeCorrec
  • vue开发实例

    1 利用三元表达式实现对元素样式动态赋值 2 vue中 实现点击下载图片
  • Elementui 踩过的坑

    select下拉框 这个是Elementui 官网 Select选择器的基础用法 xff0c 现在想要更改它本身自带的默认样式 lt template gt lt el select v model 61 34 value 34 place
  • WSL2图形化界面踩坑记录

    问题 xff1a 启动xfce4时 xff0c 报错 xff1a xfsm manager load session Something wrong with home shenshiyi cache sessions xfce4 sess
  • CSP M1-A 咕咕东的奇遇

    题意 xff1a 字母a z首尾相接成环 xff0c 开始时指针指向a xff0c 圆环可以顺时针或者逆时针旋转 xff0c 给定一个字符串 xff0c 计算旋转依次得到该字符串的每一个字符最少需要转多少格 Input 一个字符串 长度 l
  • pycharm的python库在哪?pip下载的文件放在哪?一个方法,都能找到

    1 打开cmd命令行 2 标题输入pip install xxx库 xff08 1 xff09 如果没下载过 xff0c 那么将正常下载 xff08 2 xff09 若下载过了 xff0c 就会显示你下载的目录 这个目录 c users x
  • 数据库面试知识点

    1 事务及其四个特性 事务是用户定义的一个操作序列 xff0c 这些操作要么全做要么全不做 xff0c 是一个不可分割的工作单位 事务四个特性 xff1a 原子性 一致性 隔离性和持续性 原子性 xff1a 事物中包括的操作要么都做 xff
  • 第六次模拟测试-6

    题目描述 xff1a 石头剪刀布是常见的猜拳游戏 石头胜剪刀 xff0c 剪刀胜布 xff0c 布胜石头 如果两个人出拳一样 xff0c 则不分胜负 一天 xff0c 小A和小B正好在玩石头剪刀布 已知他们的出拳都是有周期性规律的 xff0
  • kali linux教程:配置 Kali 的 apt 命令在线安装包的源为阿里云

    配置 apt 国内源 因为 Kali 自带的源是国外的 xff0c 经常会因为网络问题 xff0c 而无法安装戒更新软件包 而且国外的源速度很慢 所以我们直接使用国内的源 xff0c 方便快速 点击终端按钮戒者右键桌面选择 open in
  • 相关分析和回归分析

    1 相关分析 相关分析是研究两个或两个以上处于同等地位的随机变量间的相关关系的统计分析方法 例如 xff0c 人的身高和体重之间 xff1b 空气中的相对湿度与降雨量之间的相关关系都是相关分析研究的问题 2 回归分析 相关分析与回归分析之间
  • Linux(Debian)下快速安装JDK

    Linux下快速安装JDK 一 前言 linux系统的debain发行版本 博主使用电脑mac 二 Linux系统下载jdk 1 下载JDK上传到linux系统 1 下载jdk版本到自己电脑上 JDK下载地址 下载JDK的Oracle账号
  • LINK1104 无法打开文件“libboost_atomic-vc142-mt-gd-x64-1_76.lib”

    问题描述 LNK1104 无法打开文件 libboost atomic vc142 mt gd x64 1 76 lib 可能原因 xff1a 相应的包没有安装 xff0c 可以再电脑上搜一下 xff0c 是否搜索到 xff0c 如果搜索到
  • Could not get JDBC Connection; nested exception is java.sql.SQLNonTransientConnectionException异常处理

    org springframework jdbc CannotGetJdbcConnectionException Could not get JDBC Connection nested exception is java sql SQL
  • s5p6818裸机-irq中断

    前言 本次学习的目的是通过按按键触发按键中断 xff0c 调用相关的中断服务函数 xff0c 实现蜂鸣器鸣响 通过裸机学习能使自己对SoC的运行环境 xff0c 开发环境有更好的了解 软件实现流程 1 xff09 在start S启动汇编中
  • linux——问题汇总记录

    1 安装安装包的时候 xff0c 遇见没有签名的错误 xff0c 错误内容如下 xff1a 正在验证 kylin software center 4 5 61kylin amd64 deb debsig Origin Signature c
  • 数据成功插入数据库,前端页面却实现404错误 POST http://127.0.0.1:8080/user/register 404 ()

    今天通过mui ajax向数据库传数据 xff0c 但是每次前端页面都会报错 xff0c 但是数据却成功传入数据库中 xff0c 昨晚上弄了很久最后终于解决 解决办法 xff1a 在后台controller里面的相关代码上加一个 64 Re
  • WebService案例实例

    WebService案例实例 前言 xff1a 由于工作需要 xff0c 写一个接口 xff0c 返回xml信息 供其他服务调用 最初使用python 43 flask框架 xff0c 能够返回出正确的xml信息 xff0c 似乎调用这个接