加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

1.WebService之AXIS即时发布

发布时间:2020-12-17 00:01:58 所属栏目:安全 来源:网络整理
导读:? 使用Axis的服务平台,创建和发布WebService; ?????? 发布服务手段; ?????? 即时发布JWS ????????????? 1编写Java代码:定制服务(编写类—方法); ????????????? 2修改文件的后缀jws; ????????????? 3发布web service服务; ????????????? 4编写客户端

?

使用Axis的服务平台,创建和发布WebService;

?????? 发布服务手段;

?????? 即时发布JWS

????????????? 1编写Java代码:定制服务(编写类—方法);

????????????? 2修改文件的后缀jws;

????????????? 3发布web service服务;

????????????? 4编写客户端;

?????? 注意:如果没有java的源码(class/jar/程序存在package结构)--不能使用JWS定制;

?

1 下载地址:

http://axis.apache.org/axis2/java/core/download.cgi

?

?

axis-bin-1_4下载地址

?

http://ishare.iask.sina.com.cn/f/14151767.html

?

2 部署axis-bin-1_4axis-1_4webappsaxis

?

?

?

?

3 异常

?

- No compiler found in your classpath!? (you may need to add 'tools.jar')

java.lang.ClassNotFoundException: sun.tools.javac.Main

?

java.lang.RuntimeException: No compiler found in your classpath!? (you may need to add 'tools.jar')

??? at org.apache.axis.components.compiler.Javac.<init>(Javac.java:72)

?

- No compiler found in your classpath!? (you may need to add 'tools.jar')

java.lang.ClassNotFoundException: sun.tools.javac.Main

??? at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)

??? at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)

?

把jdk下的tool.jar拷贝到工程目录下即可;

?

?

?

?

4 定义一个服务类,并发布

?

public class HelloWS {

??? public String test(String a,String b){

?????? String result = "a="+a +"b="+b;

?????? return"server response ok,you send " + result;

??? }

}

?

?????? 注意:

1)没有指定包名

????????????? 2)将此文件HelloWS.java改成HelloWS.jws;

????????????? 3)将HelloWS.jws文件放到服务下;

?

?

5 调用上面发布的服务类

?

package com.client;

?

import javax.xml.namespace.QName;

import org.apache.axis.client.Call;

import org.apache.axis.client.Service;

public class ClientJWS {

?

??? public static void main(String[] args) {

?????? try {

?????????? //定义字符串,描述要访问的服务器地址

?????????? String url = "http://localhost:8080/axis/HelloWS.jws";

?????????? //创建一个Web Service的服务

?????????? Service service = new Service();

?????????? //创建一个调用

?????????? Call call = (Call)service.createCall();

?????????? //指定服务来源

?????????? call.setTargetEndpointAddress(url);

?????????? //指定调用的具体的方法名

?????????? call.setOperationName(new QName(url,"test"));

?????????? //执行远端调用

?????????? String result = (String)call.invoke(new Object[]{"Student","Teacher"});

?????????? System.out.println(result);

?????? } catch (Exception e) {

?????????? e.printStackTrace();

?????? }

??? }

}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读