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

jax-ws使用

发布时间:2020-12-17 00:54:15 所属栏目:安全 来源:网络整理
导读:jax-ws百度说明: JAX-WS规范是一组XML web services的 JAVA API,JAX-WS允许开发者可以选择RPC-oriented或者message-oriented 来实现自己的web services。 在 JAX-WS中,一个 远程调用可以转换为一个基于XML的协议例如SOAP,在使用JAX-WS过程中,开发者不需

jax-ws百度说明:

JAX-WS规范是一组XML web services的 JAVA API,JAX-WS允许开发者可以选择RPC-oriented或者message-oriented 来实现自己的web services。
在 JAX-WS中,一个 远程调用可以转换为一个基于XML的协议例如SOAP,在使用JAX-WS过程中,开发者不需要编写任何生成和处理SOAP消息的代码。JAX-WS的运行时实现会将这些API的调用转换成为对应的SOAP消息。
在 服务器端,用户只需要通过 Java语言定义远程调用所需要实现的接口 SEI(service endpoint interface),并提供相关的实现,通过调用JAX-WS的服务发布接口就可以将其发布为WebService接口。
在客户端,用户可以通过JAX-WS的API创建一个代理(用本地对象来替代 远程的服务)来实现对于远程服务器端的调用。

实例

创建服务接口

package com.activemq;

import javax.jws.WebMethod;  
import javax.jws.WebParam;  
import javax.jws.WebService;  
/** 
 * 服务端接口 
 * 
 */  
@WebService  
public interface HelloWorld {  
    /** 
     * 启动相关的服务方法 
     * @param name 
     * @return 
     */  
    @WebMethod  
    String sayHi(@WebParam(name = "name") String name);  
}

创建接口实现类

package com.activemq;

import javax.jws.WebService;
/** 
 * 服务端实现 
 * 
 */  
@WebService(endpointInterface ="com.activemq.HelloWorld")  
public class HelloWorldImpl implements HelloWorld {  
    public String sayHi(String name) {  
        return "Hello " + name;  
    }  
}

服务端发布

package com.activemq;

import javax.xml.ws.Endpoint;
  
public class JaxwsServer {  
      
    public static void main(String args[]) throws Exception {  
    	//发布webservice
    	Endpoint.publish("http://localhost:8080/jaxws/services/HelloWorld",new HelloWorldImpl());  
    }  
}

打开http://localhost:8080/jaxws/services/HelloWorld


打开http://localhost:8080/jaxws/services/HelloWorld?wsdl


发布成功

客户端调用

package com.activemq;

import java.net.URL;

import javax.xml.namespace.QName;
import javax.xml.ws.Service;

public final class JaxwsClient {  
      
    public static void main(String[] args) throws Exception {  
        URL url = new URL("http://localhost:8080/jaxws/services/HelloWorld?wsdl");  
        // 第一个参数是服务的URI  
        // 第二个参数是在WSDL发布的服务名  
        QName qname = new QName("http://activemq.com/","HelloWorldImplService");  
        // 创建服务  
        Service service = Service.create(url,qname);  
        // 提取端点接口,服务“端口”。  
        HelloWorld client = service.getPort(HelloWorld.class);  
        System.out.println(client.sayHi("HI"));  
    }  
  
  
}

结果打印

Hello HI

(编辑:李大同)

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

    推荐文章
      热点阅读