resolver.addModel(definition);
definition = resolver.resolveModel(WSDLDefinition.class, definition);
PortType portType = definition.getDefinition().getPortType(PORTTYPE_NAME);
Operation operation = portType.getOperation("getLastTradePrice", null, null);
WSDLOperationIntrospectorImpl op = new WSDLOperationIntrospectorImpl(xsdFactory, operation, definition, "org.w3c.dom.Node", resolver);
DataType<List<DataType>> inputType = op.getInputType();
Assert.assertEquals(1, inputType.getLogical().size());
DataType<XMLType> type = inputType.getLogical().get(0);
Assert.assertEquals(new QName("http://example.com/stockquote.xsd", "getLastTradePrice"), type.getLogical().getElementName());
DataType<XMLType> outputType = op.getOutputType();
Assert.assertEquals(new QName("http://example.com/stockquote.xsd", "getLastTradePriceResponse"),
outputType.getLogical().getElementName());
Assert.assertTrue(op.isWrapperStyle());
DataType<List<DataType>> unwrappedInputType = op.getWrapper().getInputWrapperInfo().getUnwrappedInputType();
List<DataType> childTypes = unwrappedInputType.getLogical();
Assert.assertEquals(1, childTypes.size());
DataType<XMLType> childType = childTypes.get(0);
Assert.assertEquals(new QName(null, "tickerSymbol"), childType.getLogical().getElementName());
childType = op.getWrapper().getOutputWrapperInfo().getUnwrappedOutputType();
Assert.assertEquals(new QName(null, "price"), childType.getLogical().getElementName());
}