问题描述
- 如何修改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的形式,谢谢
时间: 2024-10-26 12:07:38