Search in sources :

Example 1 with InputMappingData

use of org.talend.designer.webservice.data.InputMappingData in project tdi-studio-se by Talend.

the class DropTargetListenerForWebService method drop.

/*
     * (non-Javadoc)
     * 
     * @see org.eclipse.swt.dnd.DropTargetListener#drop(org.eclipse.swt.dnd.DropTargetEvent)
     */
public void drop(DropTargetEvent event) {
    if (getTransfer().isSupportedType(event.currentDataType)) {
        // boolean canRemove = true;
        // Parameter pa = TableEntriesTransfer.getInstance().getParameter();
        Table draggableTable = (Table) draggableControl;
        Point point = new Point(event.x, event.y);
        int selevIndex = TableUtils.getItemIndexWhereInsertFromPosition(draggableTable, point);
        if (selevIndex < 0) {
            return;
        }
        TableItem tabitem = TableEntriesTransfer.getInstance().getTableItem();
        if (tabitem == null) {
            return;
        }
        ExtendedTableModel tabelModel = draggableControlView.getExtendedTableModel();
        if (tabelModel.getBeansList().size() == 0 || tabelModel.getBeansList().size() == selevIndex) {
            // }
            return;
        } else if (tabelModel.getBeansList().size() > 0) {
            if (tabelModel.getBeansList().size() < selevIndex) {
                return;
            }
            Object objData = tabelModel.getBeansList().get(selevIndex);
            if (objData instanceof InputMappingData) {
                InputMappingData inData = (InputMappingData) objData;
                IMetadataColumn inputColumn = null;
                if (tabitem.getData() instanceof IMetadataColumn) {
                    inputColumn = (IMetadataColumn) tabitem.getData();
                    List<IMetadataColumn> columnList = inData.getMetadataColumnList();
                    if (inData.getInputColumnValue() == null || "".equals(inData.getInputColumnValue())) {
                        inData.setInputColumnValue(connector.initInRoWName() + "." + inputColumn.getLabel());
                        columnList.add(inputColumn);
                    } else {
                        inData.setInputColumnValue(inData.getInputColumnValue() + " " + connector.initInRoWName() + "." + inputColumn.getLabel());
                        columnList.add(inputColumn);
                    }
                }
                tabelModel.remove(selevIndex);
                tabelModel.add(inData, selevIndex);
            } else if (objData instanceof OutPutMappingData) {
                OutPutMappingData outData = (OutPutMappingData) objData;
                if (tabitem.getData() instanceof ParameterInfo) {
                    ParameterInfo para = (ParameterInfo) tabitem.getData();
                    if (outData.getParameterName() == null || "".equals(outData.getParameterName())) {
                        if (para.getParent() != null) {
                            String name = new ParameterInfoUtil().getParentName(para);
                            outData.setParameterName(name);
                        } else {
                            outData.setParameterName(para.getName());
                        }
                    } else {
                        outData.setParameterName(outData.getParameterName() + " " + para.getName());
                    }
                    outData.getParameterList().add(para);
                // outData.setParameter(para);
                } else if (tabitem.getData() instanceof OutPutMappingData) {
                    if (((OutPutMappingData) tabitem.getData()).getParameter() instanceof ParameterInfo) {
                        ParameterInfo para = ((OutPutMappingData) tabitem.getData()).getParameter();
                        if (outData.getParameterName() == null || "".equals(outData.getParameterName())) {
                            if (para.getParent() != null) {
                                String name = "";
                                if (((OutPutMappingData) tabitem.getData()).getParameterName() != null) {
                                    name = ((OutPutMappingData) tabitem.getData()).getParameterName();
                                } else {
                                    name = new ParameterInfoUtil().getParentName(para);
                                }
                                outData.setParameterName(name);
                            } else {
                                outData.setParameterName(para.getName());
                            }
                        } else {
                            outData.setParameterName(outData.getParameterName() + " " + para.getName());
                        }
                        outData.getParameterList().add(para);
                    // outData.setParameter(para);
                    }
                }
                tabelModel.remove(selevIndex);
                tabelModel.add(outData, selevIndex);
            }
        }
        TableItem[] items = draggableTable.getSelection();
        if (items.length <= 0) {
            return;
        }
        TableItem itemTarget = items[0];
        itemTarget.setChecked(true);
        createLinks(itemTarget, tabitem, tabelModel.getName());
    }
}
Also used : Table(org.eclipse.swt.widgets.Table) InputMappingData(org.talend.designer.webservice.data.InputMappingData) OutPutMappingData(org.talend.designer.webservice.data.OutPutMappingData) TableItem(org.eclipse.swt.widgets.TableItem) Point(org.eclipse.swt.graphics.Point) IMetadataColumn(org.talend.core.model.metadata.IMetadataColumn) ParameterInfo(org.talend.designer.webservice.ws.wsdlinfo.ParameterInfo) Point(org.eclipse.swt.graphics.Point) List(java.util.List) ParameterInfoUtil(org.talend.designer.webservice.ui.ParameterInfoUtil) ExtendedTableModel(org.talend.commons.ui.swt.extended.table.ExtendedTableModel)

Example 2 with InputMappingData

use of org.talend.designer.webservice.data.InputMappingData in project tdi-studio-se by Talend.

the class WebServiceTableLiner method onXPathValueChanged.

public void onXPathValueChanged(Table sourceTable, Table targetTable, String oldValue, String newValue, String inComeName, int itemIndex) {
    TableItem tabletraItem = targetTable.getItem(itemIndex);
    boolean needAddLink = true;
    TableItem[] items = sourceTable.getItems();
    List<TableItem> itemList = new ArrayList<TableItem>();
    for (int i = 0; i < items.length; i++) {
        String columnLabel = null;
        IMetadataColumn column = null;
        ParameterInfo parame = null;
        if (items[i].getData() instanceof IMetadataColumn) {
            column = (IMetadataColumn) items[i].getData();
            columnLabel = column.getLabel();
        } else // }
        if (items[i].getData() instanceof OutPutMappingData) {
            parame = ((OutPutMappingData) items[i].getData()).getParameter();
            if (!parame.getParameterInfos().isEmpty()) {
                continue;
            }
            // columnLabel = parame.getName();
            columnLabel = ((OutPutMappingData) items[i].getData()).getParameterName();
            int m = columnLabel.lastIndexOf(".");
            columnLabel = columnLabel.substring(m + 1);
        }
        if (newValue.contains(columnLabel)) {
            // if (!pattern(columnLabel, newValue)) {
            if (inComeName != null) {
                WebServiceExpressionParser webParser = new WebServiceExpressionParser("\\s*(\\w+)\\s*\\.\\s*(\\w+)\\s*");
                Map<String, String> itemNamemap = webParser.parseInTableEntryLocations(newValue);
                Set<Entry<String, String>> set = itemNamemap.entrySet();
                Iterator<Entry<String, String>> ite = set.iterator();
                while (ite.hasNext()) {
                    Entry<String, String> entry = ite.next();
                    String columnValue = entry.getKey();
                    String rowValue = entry.getValue();
                    if (!isPatternWord(inComeName + "." + columnLabel, rowValue + "." + columnValue)) {
                        linksManager.removeLinksFromDataItem2(tabletraItem.getData());
                        if (tabletraItem.getData() instanceof InputMappingData) {
                            InputMappingData data = (InputMappingData) tabletraItem.getData();
                            List<IMetadataColumn> list = data.getMetadataColumnList();
                            if (column != null) {
                                list.remove(column);
                            }
                        }
                        needAddLink = false;
                        for (TableItem item : itemList) {
                            addLinks(item, item.getData(), targetTable, tabletraItem.getData(), "INPUTMAPPING");
                        }
                        getBackgroundRefresher().refreshBackground();
                    // return;
                    }
                }
            } else {
                WebServiceExpressionParser webParser = new WebServiceExpressionParser("\\s*\\w+(\\[\\d+?\\])?\\s*");
                Set<String> set = webParser.parseOutTableEntryLocations(newValue);
                Iterator<String> ite = set.iterator();
                while (ite.hasNext()) {
                    String columnValue = ite.next();
                    // if (columnValue.equals(columnLabel)) {
                    if (!isPatternWord(columnLabel, columnValue)) {
                        linksManager.removeLinksFromDataItem2(tabletraItem.getData());
                        OutPutMappingData data = (OutPutMappingData) tabletraItem.getData();
                        if (parame != null) {
                            data.getParameterList().remove(parame);
                        }
                        needAddLink = false;
                        for (TableItem item : itemList) {
                            addLinks(item, item.getData(), targetTable, tabletraItem.getData(), "OUTPUTMAPPING");
                        }
                        getBackgroundRefresher().refreshBackground();
                    // return;
                    // }
                    }
                }
            }
            if (true) {
                // if (!mark) {
                if (inComeName != null) {
                    WebServiceExpressionParser webParser = new WebServiceExpressionParser("\\s*(\\w+)\\s*\\.\\s*(\\w+)\\s*");
                    Map<String, String> itemNamemap = webParser.parseInTableEntryLocations(newValue);
                    Set<Entry<String, String>> set = itemNamemap.entrySet();
                    Iterator<Entry<String, String>> ite = set.iterator();
                    while (ite.hasNext()) {
                        Entry<String, String> entry = ite.next();
                        String columnValue = entry.getKey();
                        String rowValue = entry.getValue();
                        if (isPatternWord(inComeName + "." + columnLabel, rowValue + "." + columnValue)) {
                            itemList.add(items[i]);
                            addLinks(items[i], items[i].getData(), targetTable, tabletraItem.getData(), "INPUTMAPPING");
                            getBackgroundRefresher().refreshBackground();
                            if (tabletraItem.getData() instanceof InputMappingData) {
                                InputMappingData data = (InputMappingData) tabletraItem.getData();
                                List<IMetadataColumn> list = data.getMetadataColumnList();
                                if (column != null && !list.contains(column)) {
                                    list.add(column);
                                }
                            }
                        }
                    }
                } else {
                    WebServiceExpressionParser webParser = new WebServiceExpressionParser("\\s*\\w+(\\[\\d+?\\])?\\s*");
                    Set<String> set = webParser.parseOutTableEntryLocations(newValue);
                    Iterator<String> ite = set.iterator();
                    while (ite.hasNext()) {
                        String columnValue = ite.next();
                        if (isPatternWord(columnLabel, columnValue)) {
                            itemList.add(items[i]);
                            addLinks(items[i], items[i].getData(), targetTable, tabletraItem.getData(), "OUTPUTMAPPING");
                            getBackgroundRefresher().refreshBackground();
                        }
                    }
                }
            }
        } else if (oldValue.contains(columnLabel)) {
            linksManager.removeLinksFromDataItem2(tabletraItem.getData());
            if (tabletraItem.getData() instanceof InputMappingData) {
                InputMappingData data = (InputMappingData) tabletraItem.getData();
                List<IMetadataColumn> list = data.getMetadataColumnList();
                if (column != null) {
                    list.remove(column);
                }
            } else if (tabletraItem.getData() instanceof OutPutMappingData) {
                OutPutMappingData data = (OutPutMappingData) tabletraItem.getData();
                if (parame != null) {
                    data.getParameterList().remove(parame);
                }
            }
            for (TableItem item : itemList) {
                if (inComeName != null) {
                    addLinks(item, item.getData(), targetTable, tabletraItem.getData(), "INPUTMAPPING");
                } else {
                    addLinks(item, item.getData(), targetTable, tabletraItem.getData(), "OUTPUTMAPPING");
                }
            }
            getBackgroundRefresher().refreshBackground();
        }
    }
// createFieldLinks(newValue, tableItem, null);
}
Also used : OutPutMappingData(org.talend.designer.webservice.data.OutPutMappingData) InputMappingData(org.talend.designer.webservice.data.InputMappingData) TableItem(org.eclipse.swt.widgets.TableItem) ArrayList(java.util.ArrayList) IMetadataColumn(org.talend.core.model.metadata.IMetadataColumn) ParameterInfo(org.talend.designer.webservice.ws.wsdlinfo.ParameterInfo) Point(org.eclipse.swt.graphics.Point) Entry(java.util.Map.Entry) WebServiceExpressionParser(org.talend.designer.webservice.ui.WebServiceExpressionParser) ArrayList(java.util.ArrayList) List(java.util.List)

Example 3 with InputMappingData

use of org.talend.designer.webservice.data.InputMappingData in project tdi-studio-se by Talend.

the class WebServiceDialog method saveValue.

private void saveValue() {
    List<InputMappingData> inputList = webServiceUI.getInputParams();
    List<OutPutMappingData> outputList = webServiceUI.getOutputParams();
    String currentURL = webServiceUI.getURL();
    List<PortNames> allPortNames = webServiceUI.getAllPortNames();
    Function function = webServiceUI.getCurrentFunction();
    PortNames currePortName = webServiceUI.getCurrentPortName();
    List<OutPutMappingData> outEleList = webServiceUI.getOutputElement();
    Set<String> insourceList = webServiceUI.getInSourceList();
    Set<String> outsourceList = webServiceUI.getOutSourceList();
    IMetadataTable inputMetaCopy = webServiceUI.getInputMetaCopy();
    IMetadataTable outputMetaCopy = webServiceUI.getOutputMetaCopy();
    IMetadataTable inputMetadata = webServiceUI.getInputMetadata();
    IMetadataTable outputMetadata = webServiceUI.getOutputMetadata();
    List<IMetadataColumn> inputmetadata = webServiceUI.getInputValue();
    WebServiceComponent wenCom = webServiceComponentMain.getWebServiceComponent();
    IMetadataTable wenMetadata = wenCom.getMetadataFromConnector("OUTPUT");
    if (wenMetadata != null && outputMetadata != wenMetadata) {
        outputMetadata = wenMetadata;
    }
    // save schema.
    if (outputMetaCopy != null) {
        if (!outputMetaCopy.sameMetadataAs(outputMetadata, IMetadataColumn.OPTIONS_NONE)) {
            outputMetadata.getListColumns().clear();
            outputMetadata.getListColumns().addAll(outputMetaCopy.getListColumns());
        }
    }
    if (!"".equals(currentURL) && currentURL != null) {
        IElementParameter ENDPOINTPara = wenCom.getElementParameter("ENDPOINT");
        ENDPOINTPara.setValue(currentURL);
    }
    if (currePortName != null) {
        IElementParameter Port_Name = wenCom.getElementParameter("PORT_NAME");
        Port_Name.setValue(currePortName.getPortName());
    } else if (currePortName == null && !allPortNames.isEmpty()) {
        currePortName = allPortNames.get(0);
        IElementParameter Port_Name = wenCom.getElementParameter("PORT_NAME");
        Port_Name.setValue(currePortName.getPortName());
    }
    if (function != null) {
        if (function.getName() != null) {
            IElementParameter METHODPara = wenCom.getElementParameter("METHOD");
            METHODPara.setValue(function.getName());
        }
        if (function.getServerNameSpace() != null) {
            IElementParameter Service_NS = wenCom.getElementParameter("SERVICE_NS");
            Service_NS.setValue(function.getServerNameSpace());
        }
        if (function.getServerName() != null) {
            IElementParameter Service_Name = wenCom.getElementParameter("SERVICE_NAME");
            Service_Name.setValue(function.getServerName());
        }
        if (function.getServerNameSpace() != null) {
            IElementParameter Port_NS = wenCom.getElementParameter("PORT_NS");
            Port_NS.setValue(function.getServerNameSpace());
        }
    // IElementParameter ADDRESSLocation = wenCom.getElementParameter("ADDRESS_LOCATION");
    // ADDRESSLocation.setValue(function.getAddressLocation());
    }
    // save input
    IElementParameter INPUT_PARAMSPara = wenCom.getElementParameter("INPUT_PARAMS");
    List<Map<String, String>> inputparaValue = (List<Map<String, String>>) INPUT_PARAMSPara.getValue();
    if (inputparaValue == null) {
        inputparaValue = new ArrayList<Map<String, String>>();
    } else {
        inputparaValue.clear();
    }
    for (InputMappingData inputData : inputList) {
        Map<String, String> inputMap = new HashMap<String, String>(2);
        if (inputData.getInputColumnValue() != null) {
            inputMap.put("EXPRESSION", inputData.getInputColumnValue());
        }
        if (inputData.getParameterName() != null) {
            String name = inputData.getParameterName();
            if (!name.equals("")) {
                inputMap.put("ELEMENT", name);
            }
        } else if (inputData.getParameterName() == null && inputData.getParameter() != null) {
            if (inputData.getParameter().getParent() != null) {
                String name = new ParameterInfoUtil().getParentName(inputData.getParameter());
                inputMap.put("ELEMENT", name);
            } else {
                inputMap.put("ELEMENT", inputData.getParameter().getName());
            }
        // inputMap.put("ELEMENT", inputData.getInputElementValue());
        // inputMap.put("NAMESPACE", inputData.getParameter().getNameSpace());
        // inputMap.put("TYPE", inputData.getParameter().getKind());
        }
        inputparaValue.add(inputMap);
    }
    for (IMetadataColumn column : inputmetadata) {
        Map<String, String> columnMap = new HashMap<String, String>(1);
        if (column.getLabel() != null) {
            columnMap.put("COLUMN", column.getLabel());
            inputparaValue.add(columnMap);
        }
    }
    for (String insource : insourceList) {
        if (insource == null || "".equals(insource)) {
            continue;
        }
        Map<String, String> sourceMap = new HashMap<String, String>(1);
        sourceMap.put("SOURCE", insource);
        inputparaValue.add(sourceMap);
    }
    List<ParameterInfo> listParamter = new ArrayList();
    if (function != null) {
        List inputParameter = function.getInputParameters();
        if (inputParameter != null) {
            // for (int i = 0; i < inputParameter.size(); i++) {
            boolean mark = true;
            goin: for (Iterator iterator2 = inputParameter.iterator(); iterator2.hasNext(); ) {
                ParameterInfo element = (ParameterInfo) iterator2.next();
                Map<String, String> sourceMap = new HashMap<String, String>(2);
                sourceMap.put("PARAMETERINFO", element.getName());
                if (element.getParent() == null) {
                    sourceMap.put("PARAPARENT", "");
                } else {
                    sourceMap.put("PARAPARENT", element.getParent().getName());
                }
                inputparaValue.add(sourceMap);
                mark = false;
                if (!element.getParameterInfos().isEmpty()) {
                    listParamter.addAll(new ParameterInfoUtil().getAllChildren(element));
                }
                break goin;
            }
            if (!mark) {
                for (ParameterInfo para : listParamter) {
                    Map<String, String> sourceMap = new HashMap<String, String>(2);
                    sourceMap.put("PARAMETERINFO", para.getName());
                    sourceMap.put("PARAPARENT", para.getParent().getName());
                    sourceMap.put("PARAMETERARRAYSIZE", String.valueOf(para.getArraySize()));
                    sourceMap.put("PARAMETERINDEX", para.getIndex());
                    inputparaValue.add(sourceMap);
                }
            }
        // }
        }
    }
    // save output
    IElementParameter OUTPUT_PARAMSPara = wenCom.getElementParameter("OUTPUT_PARAMS");
    List<Map<String, String>> outputMap = (List<Map<String, String>>) OUTPUT_PARAMSPara.getValue();
    if (outputMap == null) {
        outputMap = new ArrayList<Map<String, String>>();
    } else {
        outputMap.clear();
    }
    for (OutPutMappingData outData : outEleList) {
        ParameterInfo para = outData.getParameter();
        if (para.getName() == null || "".equals(para.getName())) {
            continue;
        }
        Map<String, String> eleMap = new HashMap<String, String>(3);
        if (outData.getParameterName() != null) {
            eleMap.put("ELEMENT", outData.getParameterName());
        } else {
            eleMap.put("ELEMENT", para.getName());
        }
        // eleMap.put("NAMESPACE", para.getNameSpace());
        // eleMap.put("TYPE", para.getKind());
        outputMap.add(eleMap);
    }
    for (OutPutMappingData data : outputList) {
        Map<String, String> dataMap = new HashMap<String, String>(2);
        if (data.getParameterName() != null) {
            dataMap.put("EXPRESSION", data.getParameterName());
        } else if (data.getParameterName() == null) {
        // warningDialog("Please Select a Output Item.");
        // return;
        }
        if (data.getMetadataColumn() != null) {
            dataMap.put("COLUMN", data.getMetadataColumn().getLabel());
        }
        // else if (data.getMetadataColumn() == null) {
        // warningDialog("Please Select a Output Item.");
        // return;
        // }
        // Map<String, String> dataMap2 = new HashMap<String, String>(2);
        // if (data.getParameterList().size() > 0) {
        // for (ParameterInfo para : data.getParameterList()) {
        // dataMap2.put("", para.getNameSpace());
        // dataMap2.put("", para.getKind());
        // }
        // }
        //
        // if (data.getOutputColumnValue() != null) {
        // dataMap.put(data.getParameterName(), data.getOutputColumnValue());
        // }
        outputMap.add(dataMap);
    // outputMap.add(dataMap2);
    }
    for (String outsource : outsourceList) {
        if (outsource == null || "".equals(outsource)) {
            continue;
        }
        Map<String, String> sourceMap = new HashMap<String, String>(1);
        sourceMap.put("SOURCE", outsource);
        outputMap.add(sourceMap);
    }
    List<ParameterInfo> ls = new ArrayList();
    if (function != null) {
        List inputParameter = function.getOutputParameters();
        if (inputParameter != null) {
            // for (int i = 0; i < inputParameter.size(); i++) {
            boolean mark = true;
            goin: for (Iterator iterator2 = inputParameter.iterator(); iterator2.hasNext(); ) {
                ParameterInfo element = (ParameterInfo) iterator2.next();
                Map<String, String> sourceMap = new HashMap<String, String>(1);
                sourceMap.put("PARAMETERINFO", element.getName());
                if (element.getParent() == null) {
                    sourceMap.put("PARAPARENT", "");
                } else {
                    sourceMap.put("PARAPARENT", element.getParent().getName());
                }
                outputMap.add(sourceMap);
                mark = false;
                if (!element.getParameterInfos().isEmpty()) {
                    ls.addAll(new ParameterInfoUtil().getAllChildren(element));
                }
                break goin;
            }
            if (!mark) {
                for (ParameterInfo para : ls) {
                    Map<String, String> sourceMap = new HashMap<String, String>(2);
                    sourceMap.put("PARAMETERINFO", para.getName());
                    sourceMap.put("PARAPARENT", para.getParent().getName());
                    sourceMap.put("PARAMETERARRAYSIZE", String.valueOf(para.getArraySize()));
                    sourceMap.put("PARAMETERINDEX", para.getIndex());
                    outputMap.add(sourceMap);
                }
            }
        // }
        }
    }
    super.okPressed();
}
Also used : InputMappingData(org.talend.designer.webservice.data.InputMappingData) HashMap(java.util.HashMap) ArrayList(java.util.ArrayList) PortNames(org.talend.designer.webservice.ws.wsdlinfo.PortNames) Function(org.talend.designer.webservice.ws.wsdlinfo.Function) WebServiceComponent(org.talend.designer.webservice.WebServiceComponent) Iterator(java.util.Iterator) IElementParameter(org.talend.core.model.process.IElementParameter) ArrayList(java.util.ArrayList) List(java.util.List) OutPutMappingData(org.talend.designer.webservice.data.OutPutMappingData) IMetadataColumn(org.talend.core.model.metadata.IMetadataColumn) ParameterInfo(org.talend.designer.webservice.ws.wsdlinfo.ParameterInfo) IMetadataTable(org.talend.core.model.metadata.IMetadataTable) ParameterInfoUtil(org.talend.designer.webservice.ui.ParameterInfoUtil) HashMap(java.util.HashMap) Map(java.util.Map)

Aggregations

List (java.util.List)3 IMetadataColumn (org.talend.core.model.metadata.IMetadataColumn)3 InputMappingData (org.talend.designer.webservice.data.InputMappingData)3 OutPutMappingData (org.talend.designer.webservice.data.OutPutMappingData)3 ParameterInfo (org.talend.designer.webservice.ws.wsdlinfo.ParameterInfo)3 ArrayList (java.util.ArrayList)2 Point (org.eclipse.swt.graphics.Point)2 TableItem (org.eclipse.swt.widgets.TableItem)2 ParameterInfoUtil (org.talend.designer.webservice.ui.ParameterInfoUtil)2 HashMap (java.util.HashMap)1 Iterator (java.util.Iterator)1 Map (java.util.Map)1 Entry (java.util.Map.Entry)1 Table (org.eclipse.swt.widgets.Table)1 ExtendedTableModel (org.talend.commons.ui.swt.extended.table.ExtendedTableModel)1 IMetadataTable (org.talend.core.model.metadata.IMetadataTable)1 IElementParameter (org.talend.core.model.process.IElementParameter)1 WebServiceComponent (org.talend.designer.webservice.WebServiceComponent)1 WebServiceExpressionParser (org.talend.designer.webservice.ui.WebServiceExpressionParser)1 Function (org.talend.designer.webservice.ws.wsdlinfo.Function)1