Search in sources :

Example 1 with WSIFMessageElement

use of xsul.wsif.impl.WSIFMessageElement in project airavata by apache.

the class SimpleWSClient method sendSOAPMessage.

/**
 * @param wclient
 * @param args
 * @param opName
 * @return The output
 * @throws ComponentRegistryException
 */
public WSIFMessage sendSOAPMessage(WSIFClient wclient, Object[][] args, String opName) throws ComponentRegistryException {
    WSIFPort port = wclient.getPort();
    WSIFOperation operation = port.createOperation(opName);
    WSIFMessage outputMessage = operation.createOutputMessage();
    WSIFMessage faultMessage = operation.createFaultMessage();
    String messageName = operation.createInputMessage().getName();
    XmlElement inputMsgElem = builder.newFragment(this.requestNS, messageName);
    for (int i = 0; i < args.length; i++) {
        createMessage((String) args[i][0], args[i][1], inputMsgElem);
    }
    WSIFMessageElement inputMessage = new WSIFMessageElement(inputMsgElem);
    boolean success = operation.executeRequestResponseOperation(inputMessage, outputMessage, faultMessage);
    if (success) {
        logger.debug("" + outputMessage);
        return outputMessage;
    } else {
        throw new ComponentRegistryException("Excpetion at server " + faultMessage);
    }
}
Also used : WSIFMessageElement(xsul.wsif.impl.WSIFMessageElement) WSIFOperation(xsul.wsif.WSIFOperation) WSIFPort(xsul.wsif.WSIFPort) XmlElement(org.xmlpull.v1.builder.XmlElement) ComponentRegistryException(org.apache.airavata.workflow.model.component.ComponentRegistryException) WSIFMessage(xsul.wsif.WSIFMessage)

Aggregations

ComponentRegistryException (org.apache.airavata.workflow.model.component.ComponentRegistryException)1 XmlElement (org.xmlpull.v1.builder.XmlElement)1 WSIFMessage (xsul.wsif.WSIFMessage)1 WSIFOperation (xsul.wsif.WSIFOperation)1 WSIFPort (xsul.wsif.WSIFPort)1 WSIFMessageElement (xsul.wsif.impl.WSIFMessageElement)1