news 2026/7/8 5:16:39

别再复制粘贴那些坑爹的Java Webservice接口代码了!我实测了一个能用的

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
别再复制粘贴那些坑爹的Java Webservice接口代码了!我实测了一个能用的

把一些Java调用接口的事例看过之后, 它们好多都是通过Ctrl+C、Ctrl+V得来的, 在好多拿来运用时却发觉存在差错, 这让人烦闷, 为此特意撰写了一篇经过测试的, 仅仅只是一个小例子。

服务端(为客户端提供接口):

使用工具:-8.6.1-win32,--7.0.11

开发步骤:1.创建工程

点击File按钮 , 接着选择New , 随后点击Web , 此时会弹出可以填写Name、选择XFire并一路点击next直至完成的Web窗口。备注: 例子中的Name是Demo。

创建完毕之后, 将生成的web.xml文件打开, 能够看到, XFire已然配置妥当。

View Code

1xml version="1.0" encoding="UTF-8"?>2<web-appxmlns="http://java.sun.com/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"version="2.5"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">3<servlet>4<servlet-name>XFireServletservlet-name>5<servlet-class>org.codehaus.xfire.transport.http.XFireConfigurableServletservlet-class>6<load-on-startup>0load-on-startup>7servlet>8<servlet-mapping>9<servlet-name>XFireServletservlet-name>10<url-pattern>/services/*url-pattern>11servlet-mapping>12<welcome-file-list>13<welcome-file>index.jspwelcome-file>14welcome-file-list>15web-app>

2.创建服务

于选择方面的New Web处, 致使New Web窗口弹出, 进行这样的选择: web from Java class(-up ), 并且将下面的new Java bean勾选起来, 接着予以Next>操作, 于Web name之中进行填写, 在Java栏处点击New..., 在弹出的窗口里于Name:中填入com.demo., 而后点击。

完成后,生成了一个的配置.xml

View Code

1xml version="1.0" encoding="UTF-8"?>2<beansxmlns="http://xfire.codehaus.org/config/1.0">34<service>5<name>IMyServicename>6<serviceClass>com.demo.service.IIMyServiceserviceClass>7<implementationClass>8com.demo.service.IMyServiceImpl9implementationClass>10<style>wrappedstyle>11<use>literaluse>12<scope>applicationscope>13service>beans>

生成了接口和默认实现:

View Code

1packagecom.demo.service;2//Generated by MyEclipse34publicinterfaceIIMyService {56publicString example(String message);78}

View Code

1packagecom.demo.service;2//Generated by MyEclipse34publicclassIMyServiceImplimplementsIIMyService {56publicString example(String message) {7returnmessage;8}910}

服务端代码生成完毕。

针对测试服务端, 存在这样的前提条件, 即要对服务器进行配置, 并且要去完成服务端的一项工作, 具体就是部署, 之后还要启动它。

2.先是进行选择方面的SOAP Web操作, 接着, 要关注Web窗口右侧的WSDL Page操作, 然后, 输入网址: :8080/Demo//?wsdl, 最后呈现出如下图的样子有显示。

3.采取双击的动作, 输入hello这个内容, 在其下方将会展示出out():hello 这个情况, 针对此进行的测试是通过的。

客户端(调用服务端提供的接口方法):

使用工具:

需要引入以下这些包, 分别是: -codec-1.2.jar, 还有--3.0.-rc2.jar, 以及jdom.jar, 再就是xfire-all-1.2.6.jar, 另外包含-1.5.1.jar,甚至还有--1.0.4.jar。

开发步骤:1.创建工程

将文件菜单选项中的新建, 选择为Java, 命名为Demo, 接着一路点击下一步, 最后, 新建一个名为com.demo的包, 在这个包里面创建两个文件, 其中一个是服务端接口文件也就是将已有的内容直接复制粘贴过来的那个.java文件, 另一个是测试文件Test.java, 它的代码如下:

View Code

1 package com.demo.client; 2 import org.codehaus.xfire.client.XFireProxyFactory; 3 import org.codehaus.xfire.service.Service; 4 import org.codehaus.xfire.service.binding.ObjectServiceFactory; 5 6 public class Test { 7 /** 8 * @param args 9 */ 10 public static void main(String[] args) { 11 // TODO Auto-generated method stub 12 String serviceUrl = "http://localhost:8080/Demo/services/MyService"; 13 Service serviceModel = new ObjectServiceFactory().create(IMyService.class, null, "http://localhost:8080/Demo/services/MyService?wsdl", null); 14 XFireProxyFactory serviceFactory = new XFireProxyFactory(); 15 try{ 16 IMyService service = (IMyService)serviceFactory.create(serviceModel,serviceUrl); 17 String hello = service.example("hello"); 18 System.out.println(hello); 19 }catch(Exception e){ 20 e.printStackTrace(); 21 } 22 } 23 }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/8 5:16:07

大学老师提升AI素养报哪家课程?实战云师资培训体系深度解析

随着人工智能技术的飞速发展&#xff0c;AI素养已成为各行各业专业人士不可或缺的核心能力。对于肩负育人重任的大学老师而言&#xff0c;如何有效提升自身的AI素养&#xff0c;进而更好地指导学生、推动学科发展&#xff0c;无疑是当前教育领域面临的重要课题。面对市场上琳琅…

作者头像 李华
网站建设 2026/7/8 5:12:39

警察与土匪游戏

#!/bin/bash # # 警察和土匪游戏 - Linux 权限练习 # echo " 开始创建组和用户 " # 1. 创建两个组&#xff1a;police 和 bandit sudo groupadd police sudo groupadd bandit # 2. 创建用户 jack, jerry 属于 police 组&#xff1b;xh, xq 属于 bandit 组 sudo use…

作者头像 李华
网站建设 2026/7/8 5:09:52

7月苍蓝前线两款通用兑换码解析 附核心玩法攻略

7月苍蓝前线两款通用兑换码解析 附核心玩法攻略开篇概览总结2026年7月苍蓝前线公测用户突破120万&#xff0c;日均活跃用户达18万&#xff0c;新手玩家留存率提升至42%。不少玩家在游戏中面临战力提升慢、资源获取效率低、礼包码找不到正规渠道、阵容搭配迷茫、活动参与无方向、…

作者头像 李华
网站建设 2026/7/8 5:06:52

openEuler/community-issue常见问题解答:面向新手的完整入门指南

openEuler/community-issue常见问题解答&#xff1a;面向新手的完整入门指南 【免费下载链接】community-issue The public issue repo which only accept issue that doesnt belong to any source repo 项目地址: https://gitcode.com/openeuler/community-issue 前往项…

作者头像 李华