Package xsul5.wsdl

Examples of xsul5.wsdl.WsdlBindingOperation


   
    String nsPrefix = null;
    String oldNSPrefix = null;
    boolean introduceNewNS = false;
    String operationName = node.getOperationName();
    WsdlMessage newInputMessage = null;
    Iterable<WsdlPortType> servicePortTypes = serviceWSDL.portTypes();
    WsdlPortTypeOperation serviceOperation = null;
    WsdlPortType servicePortType = null;
    for (WsdlPortType wsdlPortType : servicePortTypes) {
     
      serviceOperation = wsdlPortType.getOperation(operationName);
      if(serviceOperation != null){
        QName inputMessageName = serviceOperation.getInput().getMessage();
        WsdlMessagePart part = WSDLUtil.getfirst(serviceWSDL.getMessage(inputMessageName.getLocalPart()).parts());
       
        nsPrefix = part.getElement().getPrefix();
        oldNSPrefix = nsPrefix;
        introduceNewNS = false;
        while( null != wsdl.xml().lookupNamespaceByPrefix(nsPrefix)){
          //this namespace is already there so keep adding control at the end and check for
          //its existance
          nsPrefix += "_control";
          introduceNewNS = true;
        }
       
        wsdl.xml().declareNamespace(BUILDER.newNamespace(nsPrefix, serviceTns));
       
       
        WsdlMessage inputMessage = serviceWSDL.getMessage(inputMessageName.getLocalPart());
        newInputMessage = wsdl.addMessage(inputMessageName.getLocalPart());
        Iterable<WsdlMessagePart> parts = inputMessage.parts();
        for (WsdlMessagePart wsdlMessagePart : parts) {
          XmlElement newPart = null;
          if(introduceNewNS){
            XmlElement clone = wsdlMessagePart.xml().clone();
            String xmlAsString = BUILDER.serializeToString(clone).replaceAll(oldNSPrefix+":", nsPrefix+":");
            newPart= BUILDER.parseFragmentFromString(xmlAsString);
          }else{
            newPart = wsdlMessagePart.xml().clone();
          }
          newInputMessage.xml().addElement(newPart);
        }
        //add lead header part to the new input messag because this message is copied from the service wsdl.
       
        XmlElement newLeadHeaderPart = newInputMessage.xml().addElement(newInputMessage.xml().getNamespace(), "part");
        newLeadHeaderPart.setAttributeValue("name", "leadHeader");
        newLeadHeaderPart.setAttributeValue("element", "lc:context");
       
        WsdlMessage newOutputMessage = null;
        if(null != serviceOperation.getOutput()){
          QName outputMessageName = serviceOperation.getOutput().getMessage();
          WsdlMessage outputMessage = serviceWSDL.getMessage(outputMessageName.getLocalPart());
          newOutputMessage = wsdl.addMessage(outputMessageName.getLocalPart());
          Iterable<WsdlMessagePart> parts2 = outputMessage.parts();
          for (WsdlMessagePart wsdlMessagePart : parts2) {
            XmlElement newPart = null;
            if(introduceNewNS){
              XmlElement clone = wsdlMessagePart.xml().clone();
              String xmlAsString = BUILDER.serializeToString(clone).replaceAll(oldNSPrefix+":", nsPrefix+":");
View Full Code Here


              wsdlBindingOperation, wsdl);
          header.setAttributeValue(MESSAGE, inputMessage);
          body.removeAttribute(body.attribute(PARTS));
          String inputPartName = null;

          WsdlMessage wsdlMessage = wsdl
              .getMessage(findInputMessaQname(
                  wsdlBindingOperation, wsdl).getLocalPart());
          Iterable<WsdlMessagePart> parts = wsdlMessage.parts();
          Iterator<WsdlMessagePart> partsItr = parts.iterator();
          while (partsItr.hasNext()) {
            WsdlMessagePart wsdlMessagePart = (WsdlMessagePart) partsItr
                .next();
            if (!LEAD_HEADER.equals(wsdlMessagePart.getName())) {
View Full Code Here

            String key = keys.next();
            WsdlDefinitions wsdl = wsdls.get(key);
            WsdlPortType portType = wsdl.getPortType(portTypeName);
            if( null != portType){
              WsdlPortTypeOperation wsdlOperation = portType.getOperation(operation);
              WsdlMessagePart part  = wsdl.getMessage(wsdlOperation.getInput().getMessage().getLocalPart()).parts().iterator().next();
              XmlElement childElement = container.addElement(part.getElement().getLocalPart());
              Iterator<GpelAssignCopy> copyItr = assign.copyOperations().iterator();
              while(copyItr.hasNext()){
                GpelAssignCopy copyItm = copyItr.next();
                childElement.addElement(getElementName(copyItm.getTo().getQuery()));
                if(messagePartName == null){
                  messagePartName = copyItm.getTo().xml().attributeValue(PART_STR);
                }
              }
              break;
            }
          }
        }else {
          //reply
         
         
            WsdlPortType portType = workflowWSDL.getPortType(portTypeName);
            if( null != portType){
              WsdlPortTypeOperation wsdlOperation = portType.getOperation(operation);
              WsdlMessagePart part  = workflowWSDL.getMessage(wsdlOperation.getOutput().getMessage().getLocalPart()).parts().iterator().next();
              XmlElement childElement = container.addElement(part.getElement().getLocalPart());
              Iterator<GpelAssignCopy> copyItr = assign.copyOperations().iterator();
              while(copyItr.hasNext()){
                GpelAssignCopy copyItm = copyItr.next();
                childElement.addElement(getElementName(copyItm.getTo().getQuery()));
                if(messagePartName == null){
View Full Code Here

    for (WsdlPortType wsdlPortType : servicePortTypes) {
     
      serviceOperation = wsdlPortType.getOperation(operationName);
      if(serviceOperation != null){
        QName inputMessageName = serviceOperation.getInput().getMessage();
        WsdlMessagePart part = WSDLUtil.getfirst(serviceWSDL.getMessage(inputMessageName.getLocalPart()).parts());
       
        nsPrefix = part.getElement().getPrefix();
        oldNSPrefix = nsPrefix;
        introduceNewNS = false;
        while( null != wsdl.xml().lookupNamespaceByPrefix(nsPrefix)){
          //this namespace is already there so keep adding control at the end and check for
          //its existance
View Full Code Here

        WsdlPortType portType = iterator.next();
        Iterator<WsdlPortTypeOperation> operations = portType
            .operations().iterator();
        while (operations.hasNext()) {
          WsdlPortTypeOperation operation = operations.next();
          WsdlMessagePart leadHeaderPart = new WsdlMessagePart(
              LEAD_HEADER);
          leadHeaderPart.setName(LEAD_HEADER);
          // we hand set this element to xml because when you use the
          // API it doent add the namespace correctly
          leadHeaderPart.xml().setAttributeValue(ELEMENT,
              LC_CONTEXT);

          wsdl.getMessage(
              operation.getInput().getMessage().getLocalPart())
              .addPart(leadHeaderPart);
        }
      }

      Iterator<WsdlBinding> bindingItr = wsdl.bindings().iterator();
      while (bindingItr.hasNext()) {
        WsdlBinding wsdlBinding = (WsdlBinding) bindingItr.next();
        Iterator<WsdlBindingOperation> operationsItr = wsdlBinding
            .operations().iterator();
        while (operationsItr.hasNext()) {
          WsdlBindingOperation wsdlBindingOperation = (WsdlBindingOperation) operationsItr
              .next();
          org.xmlpull.infoset.XmlElement input = wsdlBindingOperation
              .xml().element(INPUT);
          org.xmlpull.infoset.XmlElement body = input.element(BODY);
          if(body == null){
            //This is a HTTP binding so continue with the next
            continue;
           
          }
         
          body.setAttributeValue(PARTS, INPUT);
          XmlNamespace ns = body.getNamespace();

          org.xmlpull.infoset.XmlElement header = input.newElement(
              ns, HEADER);
          header.setAttributeValue(PART, LEAD_HEADER);
          header.setAttributeValue(USE, LITERAL);
          String inputMessage = findInputMessage(
              wsdlBindingOperation, wsdl);
          header.setAttributeValue(MESSAGE, inputMessage);
          body.removeAttribute(body.attribute(PARTS));
          String inputPartName = null;

          WsdlMessage wsdlMessage = wsdl
              .getMessage(findInputMessaQname(
                  wsdlBindingOperation, wsdl).getLocalPart());
          Iterable<WsdlMessagePart> parts = wsdlMessage.parts();
          Iterator<WsdlMessagePart> partsItr = parts.iterator();
          while (partsItr.hasNext()) {
            WsdlMessagePart wsdlMessagePart = (WsdlMessagePart) partsItr
                .next();
            if (!LEAD_HEADER.equals(wsdlMessagePart.getName())) {
              inputPartName = wsdlMessagePart.getName();
              break;
            }
          }

          if (null == inputPartName) {
View Full Code Here

        Iterator<WsdlService> iterator = services.iterator();
        if (iterator.hasNext()) {
            Iterable<WsdlPort> ports = iterator.next().ports();
            Iterator<WsdlPort> portIterator = ports.iterator();
            if (portIterator.hasNext()) {
                WsdlPort port = portIterator.next();
                Iterable children = port.xml().children();
                Iterator childIterator = children.iterator();
                while (childIterator.hasNext()) {
                    Object next = childIterator.next();
                    if (next instanceof XmlElementWithViewsImpl) {
                        org.xmlpull.infoset.XmlAttribute epr = ((XmlElementWithViewsImpl) next).attribute("location");
View Full Code Here

    Iterator<WsdlService> serviceItr = wsdl.services().iterator();
    if (serviceItr.hasNext()) {
      WsdlService service = serviceItr.next();
      Iterator<WsdlPort> portItr = service.ports().iterator();
      if (portItr.hasNext()) {
        WsdlPort port = portItr.next();
        org.xmlpull.infoset.XmlElement address = port.xml().element(
            "address");
        if (address != null) {
          URI uri = null;
          try {
            uri = new URI(ODEEprEndingWithPort
View Full Code Here

    Iterator<WsdlService> iterator = services.iterator();
    if (iterator.hasNext()) {
      Iterable<WsdlPort> ports = iterator.next().ports();
      Iterator<WsdlPort> portIterator = ports.iterator();
      if (portIterator.hasNext()) {
        WsdlPort port = portIterator.next();
        Iterable children = port.xml().children();
        Iterator childIterator = children.iterator();
        while (childIterator.hasNext()) {
          Object next = childIterator.next();
          if (next instanceof XmlElementWithViewsImpl) {
            org.xmlpull.infoset.XmlAttribute epr = ((XmlElementWithViewsImpl) next).attribute("location");
View Full Code Here

    }else{
      throw new IllegalStateException("NO Service found in the workflow WSDL:"+workflowName);
    }
   
    Iterator<WsdlPort> ports = service.ports().iterator();
    WsdlPort port = null;
    if(ports.hasNext()){
      port = ports.next();
    }else{
      throw new IllegalStateException("NO Port found in the workflow WSDL:"+workflowName);
    }
    String targetNamespace = gpelProcess.getTargetNamespace();
    String targetNamespacePrefix = "wfns";
   
   
   
    XmlNamespace odeNs = builder.newNamespace("http://www.apache.org/ode/schemas/dd/2007/03");
    XmlElement deploy = builder.newFragment(odeNs, "deploy");
    deploy.declareNamespace(PROCESS, targetNamespace);
    deploy.declareNamespace(targetNamespacePrefix, workflowWSDL.getTargetNamespace());
   
   
    XmlElement process = deploy.addElement(odeNs, PROCESS);
    process.setAttributeValue(NAME, PROCESS+":"+workflowName);
    //active
    XmlElement active = process.addElement(odeNs, "active");
    active.addChild("true");
   
    //provide
    XmlElement provide = process.addElement
    (odeNs, "provide");
    provide.setAttributeValue("partnerLink", "workflowUserPartner");
    XmlElement providerService = provide.addElement(odeNs, "service");
    providerService.setAttributeValue("port", port.getName());
    providerService.setAttributeValue(NAME, targetNamespacePrefix+":"+service.getName());
   
   
   
    org.xmlpull.infoset.XmlElement wsdlXml = workflowWSDL.xml();
View Full Code Here

        } else {
            throw new IllegalStateException("NO Service found in the workflow WSDL:" + workflowName);
        }

        Iterator<WsdlPort> ports = service.ports().iterator();
        WsdlPort port = null;
        if (ports.hasNext()) {
            port = ports.next();
        } else {
            throw new IllegalStateException("NO Port found in the workflow WSDL:" + workflowName);
        }
        String targetNamespace = gpelProcess.getTargetNamespace();
        String targetNamespacePrefix = "wfns";

        XmlNamespace odeNs = builder.newNamespace("http://www.apache.org/ode/schemas/dd/2007/03");
        XmlElement deploy = builder.newFragment(odeNs, "deploy");
        deploy.declareNamespace(PROCESS, targetNamespace);
        deploy.declareNamespace(targetNamespacePrefix, workflowWSDL.getTargetNamespace());

        XmlElement process = deploy.addElement(odeNs, PROCESS);
        process.setAttributeValue(NAME, PROCESS + ":" + workflowName);
        // active
        XmlElement active = process.addElement(odeNs, "active");
        active.addChild("true");

        // provide
        XmlElement provide = process.addElement(odeNs, "provide");
        provide.setAttributeValue("partnerLink", "workflowUserPartner");
        XmlElement providerService = provide.addElement(odeNs, "service");
        providerService.setAttributeValue("port", port.getName());
        providerService.setAttributeValue(NAME, targetNamespacePrefix + ":" + service.getName());

        org.xmlpull.infoset.XmlElement wsdlXml = workflowWSDL.xml();
        Iterable<org.xmlpull.infoset.XmlElement> partnerLinkTypes = wsdlXml.elements(null, "partnerLinkType");
View Full Code Here

TOP

Related Classes of xsul5.wsdl.WsdlBindingOperation

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.