WebService核心文件【server-config.wsdd】详解及调用示例
WebService核心文件【server-config.wsdd】详解及调用示例
作者:Vashon
一、准备工作
导入需要的jar包:
二、配置web.xml
在web工程的web.xml中添加如下配置:
- <servlet>
- <servlet-name>AxisServlet</servlet-name>
- <servlet-class>org.apache.axis.transport.http.AxisServlet</servlet-class>
- <load-on-startup>15</load-on-startup>
- </servlet>
- <servlet-mapping>
- <servlet-name>AxisServlet</servlet-name>
- <url-pattern>/services/*</url-pattern>
- </servlet-mapping>
三、配置server-config.wsdd文件
在WEB-INF下添加WebService核心文件server-config.wsdd:
- <?xml version="1.0" encoding="UTF-8"?>
- <deployment xmlns="http://xml.apache.org/axis/wsdd/"
- xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
- <globalConfiguration>
- <!-- 变量设定 -->
- <parameter name="sendMultiRefs" value="true" />
- <parameter name="disablePrettyXML" value="true" />
- <parameter name="adminPassword" value="admin" />
- <parameter name="attachments.Directory"
- value="D:\myproject\calileo\xxx\WebContent\WEB-INF\attachments" />
- <parameter name="dotNetSoapEncFix" value="true" />
- <parameter name="enableNamespacePrefixOptimization" value="true" />
- <parameter name="sendXMLDeclaration" value="true" />
- <parameter name="attachments.implementation"
- value="org.apache.axis.attachments.AttachmentsImpl" />
- <parameter name="sendXsiTypes" value="true" />
- <requestFlow>
- <handler type="java:org.apache.axis.handlers.JWSHandler">
- <parameter name="scope" value="session" />
- </handler>
- <handler type="java:org.apache.axis.handlers.JWSHandler">
- <parameter name="scope" value="request" />
- <parameter name="extension" value=".jwr" />
- </handler>
- </requestFlow>
- </globalConfiguration>
- <handler name="LocalResponder"
- type="java:org.apache.axis.transport.local.LocalResponder" />
- <handler name="URLMapper" type="java:org.apache.axis.handlers.http.URLMapper" />
- <handler name="Authenticate"
- type="java:org.apache.axis.handlers.SimpleAuthenticationHandler" />
- <!-- 核心重点:服务发布,name:表示发布的service名 -->
- <service name="SjrkkService" provider="java:RPC">
- <!-- 发布的service接口类 -->
- <parameter name="className" value="com.xxx.ws.SjrkkService" />
- </service>
- <transport name="http">
- <requestFlow>
- <handler type="URLMapper" />
- <handler type="java:org.apache.axis.handlers.http.HTTPAuthHandler" />
- </requestFlow>
- <parameter name="qs:list"
- value="org.apache.axis.transport.http.QSListHandler" />
- <parameter name="qs:wsdl"
- value="org.apache.axis.transport.http.QSWSDLHandler" />
- <parameter name="qs.list"
- value="org.apache.axis.transport.http.QSListHandler" />
- <parameter name="qs.method"
- value="org.apache.axis.transport.http.QSMethodHandler" />
- <parameter name="qs:method"
- value="org.apache.axis.transport.http.QSMethodHandler" />
- <parameter name="qs.wsdl"
- value="org.apache.axis.transport.http.QSWSDLHandler" />
- </transport>
- <transport name="local">
- <responseFlow>
- <handler type="LocalResponder" />
- </responseFlow>
- </transport>
- </deployment>
四、测试WSDL
在浏览器输入:http://localhost:8080/xxx/services/SjrkkService?wsdl //xxx和server-config.wsdd文件中的xxx一致,访问结果如下:
五、调WebService
- /**
- * 调用webservice的方法.
- * @param url wsdl链接
- * @param method 调用的接口
- * @param idCard 传入的参数
- * @return
- * @throws Exception
- */
- private String getWebServiceResult( String url, String method, String idCard) throws Exception{
- String rtnXml = null;
- try {
- String endpoint = url;
- Service service = new Service();
- Call call = (Call) service.createCall();
- call.setTargetEndpointAddress(new java.net.URL(endpoint));
- call.setOperationName(method);
- rtnXml = (String) call.invoke(new Object[]{idCard});
- } catch (Exception e) {
- e.printStackTrace();
- }
- return rtnXml;
- }
备注:调用结果就不演示了,到这里读者应该明白是怎么调了。
WebService核心文件【server-config.wsdd】详解及调用示例的更多相关文章
- WebService核心文件【web-config.wsdd】调用操作
WebService核心文件[server-config.wsdd]详解及调用示例 作者:玛莎拉蒂-小贱人 一.准备工作 导入需要的jar包: 二.配置web.xml 在web工程的web.xml中添 ...
- [js高手之路]深入浅出webpack系列2-配置文件webpack.config.js详解
接着上文,重新在webpack文件夹下面新建一个项目文件夹demo2,然后用npm init --yes初始化项目的package.json配置文件,然后安装webpack( npm install ...
- [js高手之路]深入浅出webpack教程系列2-配置文件webpack.config.js详解(上)
[js高手之路]深入浅出webpack教程系列索引目录: [js高手之路]深入浅出webpack教程系列1-安装与基本打包用法和命令参数 [js高手之路]深入浅出webpack教程系列2-配置文件we ...
- [js高手之路]深入浅出webpack教程系列3-配置文件webpack.config.js详解(下)
本文继续接着上文,继续写下webpack.config.js的其他配置用法. 一.把两个文件打包成一个,entry怎么配置? 在上文中的webpack.dev.config.js中,用数组配置entr ...
- MATLAB中的参数估计函数详解及调用示例【联合整理】
前言 因为最近项目上的需要,才发现MATLAB的统计工具箱中的参数估计函数,觉得很简单很好用,现在把所有的参数估计函数整理一下,并在最后面附上调用示例. 参与人员 由于时间关系,这篇随笔是两个人一起整 ...
- Asp.net中web.config配置文件详解(一)
本文摘自Asp.net中web.config配置文件详解 web.config是一个XML文件,用来储存Asp.NET Web应用程序的配置信息,包括数据库连接字符.身份安全验证等,可以出现在Asp. ...
- MySQL Cluster 配置文件(config.ini)详解
MySQL Cluster 配置文件(config.ini)详解 ################################################################### ...
- SQL Server表分区详解
原文:SQL Server表分区详解 什么是表分区 一般情况下,我们建立数据库表时,表数据都存放在一个文件里. 但是如果是分区表的话,表数据就会按照你指定的规则分放到不同的文件里,把一个大的数据文件拆 ...
- tomcat中server.xml配置详解(转载)(一)
转载自:https://www.cnblogs.com/starhu/p/5599773.html tomcat中server.xml配置详解 Tomcat Server的结构图如下:(该文件描述了如 ...
随机推荐
- iOS-UITextField-常用方法
一.textField的常用设置 // 创建文本框 UITextField *tf = [[UITextField alloc] initWithFrame:CGRectMake(60, 10 ...
- vuejs入门小demo-搜索大全
这个demo非常适合入门的同学,不再是简单的todolist.用到的知识点有组件通信,过渡效果,vue-rsource,还有一些基本的vue指令. 先放一张截图: 是不是感觉高端大气上档次呢,演示地址 ...
- [New Portal]Windows Azure Virtual Machine (10) 自定义Windows Azure Virtual Machine模板
<Windows Azure Platform 系列文章目录> 通过之前的文章,我相信大家对微软Windows Azure Virtual Machine有一定的了解了. 虽然微软提供了非 ...
- 让 ASP.NET JS验证和服务端的 双验证 更简单
只用JavaScript验证安全不安全谁都知道,答案是不安全,非常的不安全.因为在客户端进行的验证相当于“让用户自己验证自己”,很明显是不靠谱的.你不能避免一些恶意用户人为的修改自己的表单进行欺骗,也 ...
- IOS开发UI基础UILabel属性
UILabel属性 1.text:设置标签显示的文本. 2.attributedText:设置标签属性文本. Ios代码 NSString *text = @"first"; N ...
- 0506团队项目-Scrum 项目1.0
题目 1.应用NABCD模型,分析你们初步选定的项目,充分说明你们选题的理由. 2.录制为演说视频,上传到视频网站,并把链接发到团队博客上. 团队项目选题 金融工具:复利计算与投资记录项目继续升级,开 ...
- 投票系统 & 简易js刷票脚本
早就听说有什么刷票脚本,微博投票等等相关的投票都有某些人去刷票. 试一下吧,兴许自己也会刷票呢?捣鼓了几个小时,终于有所眉目. (1)投票系统 要刷票,就得先有个投票界面. 当然,可以直接去各个投票网 ...
- Worm.Win32.DownLoader.ns病毒主进程新式输入法注入分析(IME Inject)
1.病毒会在system32目录生成一个以tmp结尾的随机数命名的文件. 2.然后挂钩HOOK本进程空间的imm32.dll导出的ImmLoadLayout函数和ntdll.dll导出的ZwQuery ...
- 比较偏门的JVM语言Quercus - PHP on JVM
其实,我不确定Quercus是否可以被认定为一门JVM语言:其次Quercus这个东东分开源版与商业版,开源版只能解释执行.而商业版能编译成Java字节码. 但我知道国内,阿里巴巴很早就在使用它,当然 ...
- 修改memcached服务的端口号
windows下修改memcached服务的端口号(默认端口:11211) 如果不是作为服务启动memcached的话,memcached -p 端口号就可以了. 通过修改注册表可以简单实现 运行:r ...