WebService应用

  1. JDK6增加了对WS的支持

下面是WebService的一个简单的服务应用

Java代码:
import javax.xml.ws.*;
import javax.jws.*;
import javax.jws.soap.*;
@WebService(targetNamespace="http://localhost:7070/Ebay")
@SOAPBinding(style = SOAPBinding.Style.RPC)

public class HelloService
{
 public static void main(String [] args)
 {
  Endpoint.publish("http://localhost:7070/Ebay",new HelloService());
 }
 
 @WebMethod
 public void sayHello()
 {
  System.out.println("hello");
 }
}

Axis安装配置:

  1. 安装JDK;
  2. 安装并配置Tomcat;
  3. 从官方网站http://ws.apache.org/axis下载最新的Axis项目打包文件,并将webapps下axis目录拷贝到Tomcat的webapps目录下;
  4. 验证Axis的安装;
  5. 浏览所发布的服务。

服务器端开发:

  1. 即时发布
        使用即时发布首先需要一个实现服务功能的Java源文件,将其扩展名改为.jws(Java Web Service的缩写),然后将该文件放到Tomcat下面的webapps/axis目录下即可。但是JWS的web服务发布是一个很简单的Web服务发布方式,在页面中你不能使用包,而且由于代码是在运行期被编译的,所以在部署之后,你也很难找到错误所在。
  2. 定制发布
    ① 编写要发布为服务的java类
    ② 编译生成的class文件应该放在Tomcat下的webapps/axis/WEB-INF/classes/下面
    ③ 编写deploy.wsdd 文件描述服务的名称,入口等信息
    ④ 切换到命令航下,执行
    java org.apache.axis.client.AdminClient –p 8085 deploy.wsdd

调用web服务:

  1. DLL动态接口调用方式(Dynamic Invocation Interface)
Java代码
public static void main(String [] args) {
       try {
           String endpoint =
                    "http://localhost:8080/axis/services/test1";
           //实例化一个服务对象service
           Service  service = new Service();
          
           //创建一个空的调用对象Call,设置Call的操作名称,目标地址,传入参数等等
           //执行调用后即可得到返回的结果
           Call     call    = (Call) service.createCall();
           call.setTargetEndpointAddress( new java.net.URL(endpoint) );
           call.setOperationName(new QName("http://soapinterop.org/", "add3") );

 

           // Call to addParameter/setReturnType as described in user-guide.html
           //call.addParameter("testParam",
           //                  org.apache.axis.Constants.XSD_STRING,
           //                  javax.xml.rpc.ParameterMode.IN);
           //call.setReturnType(org.apache.axis.Constants.XSD_STRING);

           Integer ret = (Integer) call.invoke( new Object[] { 1,3 } );

           System.out.println( ret);
       } catch (Exception e) {
           System.err.println(e.toString());
       }
   }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值