Java中getresponse_Java Operation.getResponse方法代码示例

这段代码展示了如何在Java中处理WsdlOperation的响应。首先,导入必要的com.sun.tools.internal.ws.processor.model.Operation包,然后创建一个JavaMethod实例,并获取Operation的Request和Response。接着,处理请求和响应的BodyBlocks,并根据Response构建方法签名及返回类型。最后,将生成的方法添加到JavaInterface中。
摘要由CSDN通过智能技术生成

import com.sun.tools.internal.ws.processor.model.Operation; //导入方法依赖的package包/类

private void createJavaMethodForAsyncOperation(Port port, Operation operation,

JavaInterface intf) {

String candidateName = getJavaNameForOperation(operation);

JavaMethod method = new JavaMethod(candidateName, options, errReceiver);

Request request = operation.getRequest();

Iterator requestBodyBlocks = request.getBodyBlocks();

Block requestBlock =

(requestBodyBlocks.hasNext()

? request.getBodyBlocks().next()

: null);

Response response = operation.getResponse();

Iterator responseBodyBlocks = null;

Block responseBlock;

if (response != null) {

responseBodyBlocks = response.getBodyBlocks();

responseBlock =

responseBodyBlocks.hasNext()

? response.getBodyBlocks().next()

: null;

}

// build a signature of the form "opName%arg1type%arg2type%...%argntype so that we

// detect overloading conflicts in the generated java interface/classes

String signature = candidateName;

for (Iterator iter = request.getParameters(); iter.hasNext();) {

Parameter parameter = (Parameter) iter.next();

if (parameter.getJavaParameter() != null) {

error(operation.getEntity(), ModelerMessages.WSDLMODELER_INVALID_OPERATION(operation.getName().getLocalPart()));

}

JavaType parameterType = parameter.getType().getJavaType();

JavaParameter javaParameter =

new JavaParameter(

JAXBRIContext.mangleNameToVariableName(parameter.getName()),

parameterType,

parameter,

parameter.getLinkedParameter() != null);

if (javaParameter.isHolder()) {

javaParameter.setHolderName(javax.xml.ws.Holder.class.getName());

}

method.addParameter(javaParameter);

parameter.setJavaParameter(javaParameter);

signature += "%" + parameterType.getName();

}

if (response != null) {

String resultParameterName =

(String) operation.getProperty(WSDL_RESULT_PARAMETER);

Parameter resultParameter =

response.getParameterByName(resultParameterName);

JavaType returnType = resultParameter.getType().getJavaType();

method.setReturnType(returnType);

}

operation.setJavaMethod(method);

intf.addMethod(method);

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值