⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wsdl20endpoint.java

📁 bpel执行引擎用来执行bpel业务流程
💻 JAVA
字号:
/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements.  See the NOTICE file * distributed with this work for additional information * regarding copyright ownership.  The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License.  You may obtain a copy of the License at * *    http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied.  See the License for the * specific language governing permissions and limitations * under the License. */package org.apache.ode.bpel.epr;import org.apache.ode.utils.DOMUtils;import org.apache.ode.utils.Namespaces;import org.w3c.dom.Document;import org.w3c.dom.Element;import org.w3c.dom.Node;import org.w3c.dom.NodeList;import java.util.HashMap;import java.util.Map;/** * A service endpoint represented as a wsdl20:service element. */public class WSDL20Endpoint implements MutableEndpoint {  private Element _serviceElmt;  public WSDL20Endpoint() {  }  public String getSessionId() {    Element endpointElmt = (Element)_serviceElmt.getElementsByTagNameNS(Namespaces.WSDL_20, "endpoint").item(0);    NodeList idNodes = endpointElmt.getElementsByTagNameNS(Namespaces.INTALIO_SESSION_NS, "session");    if (idNodes.getLength() > 0) return idNodes.item(0).getTextContent();    else return null;  }  public void setSessionId(String sessionId) {    Element endpointElmt = (Element)_serviceElmt.getElementsByTagNameNS(Namespaces.WSDL_20, "endpoint").item(0);    NodeList idList = endpointElmt.getElementsByTagNameNS(Namespaces.INTALIO_SESSION_NS, "session");    if (idList.getLength() > 0) idList.item(0).setTextContent(sessionId);    else {      Element sessElmt = _serviceElmt.getOwnerDocument().createElementNS(Namespaces.INTALIO_SESSION_NS, "session");      sessElmt.setTextContent(sessionId);      endpointElmt.appendChild(sessElmt);    }  }  public String getUrl() {    return ((Element)_serviceElmt.getElementsByTagNameNS(Namespaces.WSDL_20, "endpoint").item(0)).getAttribute("address");  }  public void setUrl(String url) {    Element endpointElmt = (Element)_serviceElmt.getElementsByTagNameNS(Namespaces.WSDL_20, "endpoint").item(0);    NodeList addrList = endpointElmt.getElementsByTagNameNS(Namespaces.WSDL_20, "address");    if (addrList.getLength() > 0) addrList.item(0).setTextContent(url);    else {      Element addrElmt = _serviceElmt.getOwnerDocument().createElementNS(Namespaces.WSDL_20, "address");      addrElmt.setTextContent(url);      endpointElmt.appendChild(addrElmt);    }  }  public boolean accept(Node node) {    if (node.getNodeType() == Node.ELEMENT_NODE) {      Element elmt = (Element) node;      if (elmt.getLocalName().equals("service-ref") &&              (elmt.getNamespaceURI().equals(Namespaces.WS_BPEL_20_NS) ||                      elmt.getNamespaceURI().equals(Namespaces.WSBPEL2_0_FINAL_SERVREF)))        elmt= DOMUtils.getFirstChildElement(elmt);      if (elmt.getLocalName().equals("service") && elmt.getNamespaceURI().equals(Namespaces.WSDL_20))        return true;    }    return false;  }  public void set(Node node) {    if (node.getNamespaceURI().equals(SERVICE_REF_QNAME.getNamespaceURI()))      _serviceElmt = DOMUtils.getFirstChildElement((Element)node);    else      _serviceElmt = (Element) node;  }  public Document toXML() {    // Wrapping    Document doc = DOMUtils.newDocument();    Element serviceRef = doc.createElementNS(Namespaces.WSBPEL2_0_FINAL_SERVREF, "service-ref");    doc.appendChild(serviceRef);    serviceRef.appendChild(doc.importNode(_serviceElmt, true));    return doc;  }  public Map toMap() {    HashMap<String,String> result = new HashMap<String,String>(1);    result.put(ADDRESS, getUrl());    String sid = getSessionId();    if (sid != null) result.put(ADDRESS, sid);    return result;  }  public void fromMap(Map eprMap) {    Document doc = DOMUtils.newDocument();    Element serviceRef = doc.createElementNS(SERVICE_REF_QNAME.getNamespaceURI(), SERVICE_REF_QNAME.getLocalPart());    doc.appendChild(serviceRef);    _serviceElmt = doc.createElementNS(Namespaces.WSDL_20, "service");    _serviceElmt.setAttribute("name", "");    _serviceElmt.setAttribute("interface", "");    serviceRef.appendChild(_serviceElmt);    Element endpoint = doc.createElementNS(Namespaces.WSDL_20, "endpoint");    endpoint.setAttribute("name", "");    endpoint.setAttribute("binding", "");    if (eprMap.get(ADDRESS) != null) endpoint.setAttribute("address", (String) eprMap.get(ADDRESS));    if (eprMap.get(SESSION) != null) {      Element session = doc.createElementNS(Namespaces.INTALIO_SESSION_NS, "session");      session.setTextContent((String) eprMap.get(SESSION));      endpoint.appendChild(session);    }    _serviceElmt.appendChild(endpoint);    doc.appendChild(_serviceElmt);  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -