Search in sources :

Example 1 with WSDLPortType

use of com.sun.xml.ws.api.model.wsdl.WSDLPortType 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);
                }
            }
        }
    }
}
Also used : EditableWSDLBoundOperation(com.sun.xml.ws.api.model.wsdl.editable.EditableWSDLBoundOperation) EditableWSDLMessage(com.sun.xml.ws.api.model.wsdl.editable.EditableWSDLMessage) WSDLMessage(com.sun.xml.ws.api.model.wsdl.WSDLMessage) WSDLPortType(com.sun.xml.ws.api.model.wsdl.WSDLPortType) EditableWSDLPortType(com.sun.xml.ws.api.model.wsdl.editable.EditableWSDLPortType) EditableWSDLPart(com.sun.xml.ws.api.model.wsdl.editable.EditableWSDLPart) QName(javax.xml.namespace.QName) EditableWSDLMessage(com.sun.xml.ws.api.model.wsdl.editable.EditableWSDLMessage) WSDLOperation(com.sun.xml.ws.api.model.wsdl.WSDLOperation) ParameterBinding(com.sun.xml.ws.api.model.ParameterBinding)

Example 2 with WSDLPortType

use of com.sun.xml.ws.api.model.wsdl.WSDLPortType in project metro-jax-ws by eclipse-ee4j.

the class FODTest method testFreezeFOD.

// OrderProcessorService service = null;
public void testFreezeFOD() throws Exception {
    /*
		 * Verify that we can get messages from a port type by walking the model.
		 * 
		 */
    // File f = new File("testcases/fromwsdl/freeze/concrete.wsdl");
    // System.out.println(f.getAbsolutePath());
    // URL wsdl = new URL("file:/scratch/bnaugle/bugs/fod/v2/concrete.wsdl");
    // URL wsdl = new URL("file:/scratch/bnaugle/bugs/fod/FusionOrderDemoShared/services/orderbooking/output/concrete.wsdl");
    String WSDL_NAME = "concrete.wsdl";
    Source wsdlSource = getSource(WSDL_NAME);
    WSDLModel model = RuntimeWSDLParser.parse(getURL(WSDL_NAME), wsdlSource, XmlUtil.createDefaultCatalogResolver(), true, Container.NONE, new WSDLParserExtension[] {});
    Map<QName, ? extends WSDLPortType> portTypes = model.getPortTypes();
    Set<QName> keySet = portTypes.keySet();
    for (QName name : keySet) {
        WSDLPortType pt = portTypes.get(name);
        System.out.println(name.toString() + portTypes.get(name));
        Iterable<? extends WSDLOperation> operations = pt.getOperations();
        for (WSDLOperation operation : operations) {
            assertNotNull(operation.getInput().getMessage());
        }
    }
}
Also used : WSDLPortType(com.sun.xml.ws.api.model.wsdl.WSDLPortType) QName(javax.xml.namespace.QName) WSDLModel(com.sun.xml.ws.api.model.wsdl.WSDLModel) WSDLOperation(com.sun.xml.ws.api.model.wsdl.WSDLOperation) StreamSource(javax.xml.transform.stream.StreamSource) Source(javax.xml.transform.Source)

Aggregations

WSDLOperation (com.sun.xml.ws.api.model.wsdl.WSDLOperation)2 WSDLPortType (com.sun.xml.ws.api.model.wsdl.WSDLPortType)2 QName (javax.xml.namespace.QName)2 ParameterBinding (com.sun.xml.ws.api.model.ParameterBinding)1 WSDLMessage (com.sun.xml.ws.api.model.wsdl.WSDLMessage)1 WSDLModel (com.sun.xml.ws.api.model.wsdl.WSDLModel)1 EditableWSDLBoundOperation (com.sun.xml.ws.api.model.wsdl.editable.EditableWSDLBoundOperation)1 EditableWSDLMessage (com.sun.xml.ws.api.model.wsdl.editable.EditableWSDLMessage)1 EditableWSDLPart (com.sun.xml.ws.api.model.wsdl.editable.EditableWSDLPart)1 EditableWSDLPortType (com.sun.xml.ws.api.model.wsdl.editable.EditableWSDLPortType)1 Source (javax.xml.transform.Source)1 StreamSource (javax.xml.transform.stream.StreamSource)1