博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WebService_HelloWorld
阅读量:6710 次
发布时间:2019-06-25

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

“HelloWorld” 出现

从来没有接触过WebService,今天下班没什么事情,看看了WebService的HelloWorld。

 

下载了必须的jar包之后,就开始了我的HelloWorld之旅。

编写SOAP的服务类:

public class HelloService {

   public String sayHello(String username){

      return "Hello:"+username;

   }

}

创建\删除SOAP服务发布的描述文件:

<deployment xmlns="http://xml.apache.org/axis/wsdd/"

            xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">

 <service name="urn:helloservice" provider="java:RPC">

    <parameter names="className" value="com.tan.web.service.HelloService"/>

    <parameter name="allowedMethods" value="sayHello"/>

 </service>

</deployment>

发布SOAP服务:

1、基于命令行:

要想成功运行命令行,需要在classpath中加入mail.jar,activation.jar,xerces.jar。

命令行:java org.apache.axis.client.AdminClient deploy.wsdd

2、基于JWS(java Web Service)

把之前的HelloService.java改名为HelloService.jws,然后把该文件加入项目根目录下即可。

创建和运行SOAP服务客户程序

import javax.xml.namespace.QName;

import org.apache.axis.client.Call;

import org.apache.axis.client.Service;

 

public class HelloClient {

   public static void main(String[] args) {

      try {

         String name="Guest";

         if(args.length!=0) name=args[0];

         String endpoint="http://127.0.0.1:9099/axis/services/helloservice";

         Service service=new Service();

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

         call.setTargetEndpointAddress(new java.net.URL(endpoint));

         call.setOperationName(new QName("urn:helloservice","sayHello"));

         String ret=(String) call.invoke(new Object[]{name});

         System.out.println(ret);

      } catch (Exception e) {

         // TODO Auto-generated catch block

         e.printStackTrace();

      }

   }

}

 

打印结果应该是:hello:Guest

因为SOAP是建立在HTTP协议之上,所以可以在浏览器上访问SOAP服务。

如:http://127.0.0.1:9099/axis/HelloService.jws?method=sayHello&parameter=world

也会显示:hello:worlds

转载于:https://www.cnblogs.com/tony-jingzhou/archive/2012/02/13/2350084.html

你可能感兴趣的文章
SpringBoot学习:整合Mybatis,使用HikariCP超高性能数据源
查看>>
Java--面向对象
查看>>
微信模板消息群发系统
查看>>
高内聚低耦合
查看>>
2012 chengdu现场赛 Browsing History HDU4464(简单字符串)
查看>>
Codeforces Round #239 (Div. 1) 解题报告
查看>>
R与JAVA的混合编程
查看>>
hibernate工作流程、session
查看>>
python_时间日期
查看>>
MVC架构介绍-序列化属性
查看>>
问题2017S02
查看>>
用合适的索引避免不必要的全表扫描
查看>>
Ajax上传文件
查看>>
445. Add Two Numbers II - Medium
查看>>
hdu4990 Reading comprehension 矩阵快速幂
查看>>
读书笔记之:C++程序设计原理与实践(其他)[+++]
查看>>
[经验分享] Docker网络解决方案-Weave部署记录
查看>>
Vector与KeyPoint
查看>>
设计模式:建造者模式(Builder Pattern)
查看>>
CMDB开发(需求分析)
查看>>