博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Weblogic11g+Axis1.4 实现WebService服务
阅读量:7281 次
发布时间:2019-06-30

本文共 3726 字,大约阅读时间需要 12 分钟。

IDE:NetBeans8.0

项目结构:

(1)新建接口Hello.java

package com.test;/** * @author  y * @date    2015-9-5 7:51:29 * @version 1.0 * @desc     */public interface Hello {    String sayHello(String name);}

(2)新建实现类HelloManager.java

package com.test;/** * @author  y * @date    2015-9-5 7:51:59 * @version V1.0 * @desc     */public class HelloManager implements Hello{    public String sayHello(String name) {        return "Hello,"+name;    }}

(3)配置web.xml

org.apache.axis.transport.http.AxisHTTPSessionListener
AxisServlet
Apache-Axis Servlet
org.apache.axis.transport.http.AxisServlet
AdminServlet
Axis Admin Servlet
org.apache.axis.transport.http.AdminServlet
100
AxisServlet
/servlet/AxisServlet
AxisServlet
*.jws
AxisServlet
/*
5
wsdl
text/xml
xsd
text/xml
index.jsp
index.html
index.jws

(4)新建server-config.wsdd

     
 

成功部署之后访问:http://localhost:7001/ws01/HelloManagerServices?wsdl

 

客户端测试:

public static void main(String[] args) throws Exception {        String namespace="http://test.com";        String method="sayHello";        String wsdl="http://localhost:7001/ws01/HelloManagerServices";        Object[] params={"yshyee"};        String result = AxisInvokeJAXWSUtil.invoke(namespace, method, wsdl, params);        System.out.println("=======result:"+result);    }
AxisInvokeJAXWSUtil.java
public final class AxisInvokeJAXWSUtil {    /**     *      * @param namespace     * @param method     * @param wsdl     * @param params     * @return     * @throws Exception      */    public static String invoke(String namespace, String method, String wsdl, Object[] params) throws Exception{        Object obj;        Service service = new Service();        Call call = (Call) service.createCall();        call.setOperationName(new QName(namespace, method));        call.setTargetEndpointAddress(wsdl);                if (null != params) {            int len = params.length;                        for (int i = 0; i < len; i++) {                //动态设置参数,而且参数类为字符串类型                call.addParameter("arg" + i, XMLType.XSD_STRING, ParameterMode.IN);            }                        if (len > 0) {                //设置返回值类型为字符串类型                call.setReturnType(XMLType.XSD_STRING);            }        } else {            params = new Object[]{};        }                obj = call.invoke(params);                return obj == null ? "" : obj.toString();    }    }

 

 

转载地址:http://whzjm.baihongyu.com/

你可能感兴趣的文章
AWS推出RoboMaker,可构建智能机器人应用程序
查看>>
1100名达摩院“扫地僧”加持,阿里云的下一个十年
查看>>
取代ZooKeeper!高并发下的分布式一致性开源组件StateSynchronizer
查看>>
《Elasticsearch in Action》书评与作者访谈
查看>>
腾讯云发布CDN 2.0,四大优势加速移动化进程
查看>>
Visual Studio 2017 15.6预览版最新进展
查看>>
ZenHub Epics创造了GitHub中敏捷Epics
查看>>
《七周七并发模型》作者Paul Butcher、阿里云研究员余锋(褚霸)——QCon北京2016前瞻...
查看>>
iOS应用开发登陆Windows平台惹争议
查看>>
《Java 20年:道路与梦想》迷你书发布
查看>>
GitHub的MySQL高可用性实践
查看>>
微软发布Azure Application Insights for Node.js 1.0版本
查看>>
UPYUN亮相GIF2016 展示实时性能监控系统
查看>>
Node.js async.parallelLimit 与 async.eachLimit 的区别与不同使用场景
查看>>
AI一周热闻:12306数据泄露,嫌疑人被捕;BERT提升文档检索性能至1.5-2倍
查看>>
知道大数据却不清楚工业大数据,知识架构“欠”在哪里?
查看>>
MySQL删库出错
查看>>
BUG管理系统(Mantis)迁移实录
查看>>
这才是 TensorFlow 自带可视化工具 TensorBoard 的正确打开方式!(附项目源码)
查看>>
诺基亚推出认知型云平台AVA,为运营商提供快速无误的服务
查看>>