DsFourElementResponse response = new DsFourElementResponse();
OpInvoiceDTO opInvoiceD = new OpInvoiceDTO();
opInvoiceD.setBillingCode("123");
opInvoiceD.setBillingNo("456");
opInvoiceD.setBuyerAddressAndPhone("1312222");
response.setOpInvoiceDTO(opInvoiceD);
response.setReqSerialNumber("111111");
String wsdlUrl = "**";
Client client = factory.createClient(wsdlUrl);
Endpoint endpoint = client.getEndpoint();
BindingInfo binding = endpoint.getBinding().getBindingInfo();
//创建QName来指定NameSpace和要调用的方法
QName opName = new QName(parameterConfig.getNamespace(), parameterConfig.getRealCheckLocalPart());
BindingOperationInfo boi = binding.getOperation(opName);
BindingMessageInfo inputMessageInfo;
if (boi.isUnwrapped()) {
inputMessageInfo = boi.getUnwrappedOperation().getInput();
} else {
inputMessageInfo = boi.getWrappedOperation().getInput();
}
List<MessagePartInfo> parts = inputMessageInfo.getMessageParts();
// 取得对象实例
MessagePartInfo partInfo = parts.get(0);
Class<?> partClass = partInfo.getTypeClass();
Object inputObject = partClass.newInstance();
BeanUtils.copyProperties(response, inputObject);
// 调用客户端invoke()方法,把inputObject传递给要调用的方法并取得结果对象
Object[] result = client.invoke(opName, inputObject);
inputObject里面有个属性(opInvoiceDto)是个对象,
这个类怎么获取和赋值呢
直接执行BeanUtils.copyProperties(response, inputObject);
opInvoiceDto是没有赋值的
types标签相关如下