2 leaderbird leaderbird 于 2014.08.26 16:45 提问

如何修改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的形式,谢谢

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!