webservie的标签详解

webservie的标签详解

1:@WebService(name=“Example”, targetNamespace=“http://www.jsoso.com/wstest”, serviceName=“Example”)
@WebService标签主要将类暴露为WebService,其中targetNamespace属性定义了自己的命名空间,serviceName则定义了< definitions >标签和标签的name属性。

2:@SOAPBinding(style=SOAPBinding.Style.RPC)
@SOAPBinding标签定义了WSDL文档中SOAP的消息协议,其中style属性对应SOAP的文档类型,可选的有RPC和DOCUMENT
3:@WebMethod(operationName=“toSayHello”,action=“sayHello”,exclude=false)
@WebMethod定义Web Service运作的方法,
属性action 对应操作的活动 ,如<soap:operation soapAction=“sayHello” />
属性operationName匹配的wsdl:operation 的名称,如
属性exclude 用于阻止将某一继承方法公开为web服务,默认为false
4:@WebResult(name=“returnWord”)
@ WebResult定义方法返回值得名称,如
5:@WebParam(partName=“person”, mode=Mode.IN
@WebParam定义方法的参数名称,如,其中mode属性表示参数的流向,可选值有IN / OUT / INOUT

- 下面是server端的代码
接口:

package com.jbzhang.ws.jdkserver_tag;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import javax.jws.soap.SOAPBinding.Style;

/**
 * @WebMethod:
 *   只要你在某接口上添加了@WebService,name在所有的方法上面都会加上@WebMethod
 *    operationName="sayHello" 改暴露的方法名
 *    exclude=true 排除方法
 * @WebParam(name="name") 改参数名称
 * @WebResult(name="ret") 改返回值名称
 * @author Administratora
 *
 */
@WebService(targetNamespace="http://jbzhang.org")
@SOAPBinding(style=Style.RPC)//默认是document,rpc少了一些类型
public interface HiMyFirstService {
	@WebMethod
	//String sayHi(String name);
	@WebResult(name="ret")String sayHi(@WebParam(name="name")String name);

	@WebMethod(operationName="sayHello",exclude=true)
	String sayHi1(String name);


}

接口实现类

package com.jbzhang.ws.jdkserver_tag;

import javax.jws.WebService;

/**
 * @WebService标识是一个远程服务类
 *    endpointInterface接口,配置了该属性接口上面也要配置webService
 *     ,serviceName="helloService", 服务名
		portName="helloServicePort", 端口名
		targetNamespace="http://yaohuaipeng.org" 限定名,实现类改了接口也要跟着改
 * @author Administrator
 *
 */
@WebService(
		endpointInterface="com.jbzhang.ws.jdkserver_tag.HiMyFirstService"
		,serviceName="hiService",
		portName="hiServicePort",
		targetNamespace="http://jbzhang.org"
		)
public class HiMyFirstServiceImpl implements HiMyFirstService {

	@Override
	public String sayHi(String name) {
		// TODO Auto-generated method stub
		return name+" Hi My second service!";
	}
	@Override
	public String sayHi1(String name) {
		// TODO Auto-generated method stub
		return null;
	}

}

启动类:

package com.jbzhang.ws.jdkserver_tag;

import javax.xml.ws.Endpoint;

import com.jbzhang.ws.jdkserver.HelloMyFirstServiceImpl;

public class StartServer {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		String address = "http://192.168.1.11:8888/hi";//发布地址
		Object implementor = new HiMyFirstServiceImpl();//发布服务
		Endpoint.publish(address, implementor);//异步执行
		System.out.println("服务发布成功!");

	}

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值