微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

WebServices接口的描述文件WSDL中经常出现name="in0"

由于项目需要,查阅了一下Webservice相关的文档,使用XFire服务引擎,SOAP协议完成了简单的交互。其中,学到了修改接口方法参数名称方法,写出来分享一下!

WebServices接口的描述文件WSDL中经常出现name="in0"如下:

< xsd:element  maxOccurs =" 1 "  minOccurs =" 1 "  name="in0"  nillable =" true "  type =" xsd:string "  />
< xsd:element  maxOccurs =" 1 "  minOccurs =" 1 "  name ="in1"  nillable =" true "  type =" xsd:string "  />
< xsd:element  maxOccurs =" 1 "  minOccurs =" 1 "  name ="in2"  nillable =" true "  type =" xsd:string "  />
这样对于客户端来说太不方便了需要对着接口文档才知道每个参数的名字。如何让这些不友好的名称改成友好的参数名 name="destnum" 呢?以下有两种方法

1.XML配置文件

在接口类同一包下面建一个接口类名称.aegis.xml文件内容如下 

    <?xml version="1.0" encoding="UTF-8"?>   
<mappings>   
    <mapping>   
       <method name="receive">   
           <parameter index="0" mappedname="destnum" /> 
           <parameter index="1" mappedname="srcnum" /> 
           <parameter index="2" mappedname="msg" />
           <parameter index="3" mappedname="msgtype" /> 
       </method> 
   </mapping>   
</mappings>
其中, name为接口中方法名称 index为方法中参数的序号, mappedname为替换后的名称

2.JSR181注释配置(也称annotation方式)

import javax.jws.WebMethod;
import javax.jws.WebResult;
import javax.jws.WebService;

@WebService
public interface SMsstaterepReceive {      
	@WebMethod    
	@WebResult(name="result") //返回值的name    
	public String receive(@WebParam(name="destnum")String destnum,@WebParam(name="srcnum")String srcnum,@WebParam(name="msg")String msg,@WebParam(name="msgtype")int msgtype);
			      //接收接口;@WebParam 参数name
}

services.xml配置文件
    <service>
    <name>SMSreceiveService</name>
    <namespace>http://scommnet.com/service/SMSreceiveService</namespace>
    <serviceClass>com.scommnet.sms.extend.scommnet.webservices.service.SMsstaterepReceive</serviceClass>  
    <implementationClass>com.scommnet.sms.extend.scommnet.webservices.service.impl.SMsstaterepReceiveImpl</implementationClass>
  
    <serviceFactory>jsr181</serviceFactory> <!--这个必须配置,要不还是显示in0-->
</service>

以上,大家共同学习!
引用文章http://www.cnblogs.com/talk/archive/2012/03/22/2411147.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐