use of com.sun.xml.ws.api.model.wsdl.WSDLMessage in project metro-jax-ws by eclipse-ee4j.
the class WSDLModelImpl method finalizeRpcLitBinding.
public void finalizeRpcLitBinding(EditableWSDLBoundPortType boundPortType) {
assert (boundPortType != null);
QName portTypeName = boundPortType.getPortTypeName();
if (portTypeName == null)
return;
WSDLPortType pt = portTypes.get(portTypeName);
if (pt == null)
return;
for (EditableWSDLBoundOperation bop : boundPortType.getBindingOperations()) {
WSDLOperation pto = pt.get(bop.getName().getLocalPart());
WSDLMessage inMsgName = pto.getInput().getMessage();
if (inMsgName == null)
continue;
EditableWSDLMessage inMsg = messages.get(inMsgName.getName());
int bodyindex = 0;
if (inMsg != null) {
for (EditableWSDLPart part : inMsg.parts()) {
String name = part.getName();
ParameterBinding pb = bop.getInputBinding(name);
if (pb.isBody()) {
part.setIndex(bodyindex++);
part.setBinding(pb);
bop.addPart(part, Mode.IN);
}
}
}
bodyindex = 0;
if (pto.isOneWay())
continue;
WSDLMessage outMsgName = pto.getOutput().getMessage();
if (outMsgName == null)
continue;
EditableWSDLMessage outMsg = messages.get(outMsgName.getName());
if (outMsg != null) {
for (EditableWSDLPart part : outMsg.parts()) {
String name = part.getName();
ParameterBinding pb = bop.getOutputBinding(name);
if (pb.isBody()) {
part.setIndex(bodyindex++);
part.setBinding(pb);
bop.addPart(part, Mode.OUT);
}
}
}
}
}
Aggregations