如何修改cxf默认生成wsdl中的wsdl:input message名称

最近在使用cxf2.6.10发布 webservice时,发现:cxf在对出入参数据类型进行描述时,默认入参为方法名,出参为方法名+Response。但由于项目对wsdl的描述有规定:出入参的类型描述名必须为方法名+Request/Response……
所以想问问有哪位修改过cxf的wsdl生成规则,并对发布的wsdl调用通过。
我试过修改DefaultServiceConfiguration类的getInputMessageName,在后面加上一个Request. 发布后wsdl是methodRequest,但调用有问题。参数无法传。


/wsdl:input
改前:
public QName getInputMessageName(OperationInfo op, Method method) {
return new QName(op.getName().getNamespaceURI(), op.getName().getLocalPart());
}
改后:
public QName getInputMessageName(OperationInfo op, Method method) {
return new QName(op.getName().getNamespaceURI(), op.getName().getLocalPart()+“Request”);
}

我想生成 操作名+Request 例如: name="DevTestRequest">,
而我生成的是:





/wsdl:input


/wsdl:output
/wsdl:operation
其中中的name不能生成规范中要求的:操作名+Request形式
,在xml文件中引入cxf的形式,请问一下在哪能配置操作名+Request的形式,谢谢

leaderbird
leaderbird wsdl的入参message在cxf中默认使用方法名,但在axis系列中使用的是方法名+Request。不知是否有相关规范来统一一下!
5 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问