axis2 接口默认参数名称和方法返回值变量名修改

本文详细介绍了如何在Axis2与Spring集成环境下,通过修改源码来实现接口函数参数从默认名称(如arg0)转变为具体参数名称(如:testName),解决了客服端调用时的命名不清晰问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

接上文:axis2.1.6+spring集成 

1、注释生成

     在axis2+Spring结合发布的场合,客服端调用时,接口函数参数的默认名称为axis2的默认设置(如arg0),而调用方更想看到的是具体参数的名称(如:testName)。

package wip;
import javax.jws.WebParam;
import javax.jws.WebResult;

public interface WebDao{
	
    @WebResult(name = "getTest")  
	public String getTest(@WebParam(name = "testName")String testName);
}

2、解决 WebResult注释无效问题

       无论WebResult如何设置,方法返回值变量名都是默认“return”,看了axis2的源码后, 最终将范围定为到:

       axis2项目的axis2-kernel-1.6.2.jar中的
       org.apache.axis2.description.java2wsdl.DefaultSchemaGenerator 类
       org.apache.axis2.description.java2wsdl.DocLitBareSchemaGenerator 类

     对于上面两个类需要做如下修改:

protected Method[] processMethods(Method[] declaredMethods) throws Exception {
	...................
	WebResultAnnotation returnAnnon = JSR181Helper.INSTANCE.getWebResultAnnotation(jMethod);
	String returnName = "return";
	if (returnAnnon != null) {
	    returnName = returnAnnon.getName();
	    //原来的代码 if (returnName != null && !"".equals(returnName)) {
	    if (returnName == null || "".equals(returnName)) {
	        returnName = "return";
	    }
	}
	...................
}




评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值