Example usage for javax.xml.soap SOAPConnectionFactory createConnection

List of usage examples for javax.xml.soap SOAPConnectionFactory createConnection

Introduction

In this page you can find the example usage for javax.xml.soap SOAPConnectionFactory createConnection.

Prototype

public abstract SOAPConnection createConnection() throws SOAPException;

Source Link

Document

Create a new SOAPConnection .

Usage

From source file:org.apache.ws.scout.transport.SaajTransport.java

public Element send(Element request, URI endpointURL) throws TransportException {
    if (log.isDebugEnabled()) {
        String requestMessage = XMLUtils.convertNodeToXMLString(request);
        log.debug("Request message: %s\n%s" + endpointURL + ":" + requestMessage);
    }//from www .  j  a  va2 s.  c om

    Element response = null;
    try {
        SOAPMessage message = this.createSOAPMessage(request);
        //Make the SAAJ Call now
        SOAPConnectionFactory soapConnectionFactory = SOAPConnectionFactory.newInstance();
        SOAPConnection connection = soapConnectionFactory.createConnection();
        SOAPMessage soapResponse = connection.call(message, endpointURL.toURL());

        SOAPBody soapBody = soapResponse.getSOAPBody();
        boolean hasFault = soapBody.hasFault();
        if (hasFault) {
            SOAPFault soapFault = soapBody.getFault();
            String faultStr = soapFault.getFaultCode() + "::" + soapFault.getFaultString();
            throw new RegistryException(faultStr);
        }
        response = getFirstChildElement(soapBody);
    } catch (Exception ex) {
        log.error("Exception::" + ex.getMessage(), ex);
        throw new TransportException(ex);
    }
    if (log.isDebugEnabled()) {
        String responseMessage = XMLUtils.convertNodeToXMLString(response);
        log.debug("Response message: %s" + responseMessage);
    }

    return response;
}

From source file:org.belio.service.gateway.SafcomGateway.java

private boolean sendMessage(QueueType queueType, Outbox outbox) {
    try {//from   ww w .j  a va2s.  c o  m
        String now = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());
        MessageDigest md = MessageDigest.getInstance("MD5");
        String serviceId = outbox.getServiceID();
        String endpointDef = "";
        //            if (queueType.equals(QueueType.BULK)) {
        //                endpointDef = networkproperties.getProperty("safcom_mt_endpoint");
        //            } else {
        endpointDef = networkproperties.getProperty("safcom_endpoint");
        // }
        String code = outbox.getShortCode();
        String spIdString = outbox.getSdpId();
        String spPasswordString = createSpPass(spIdString, now, md);
        String recepient = "tel:" + outbox.getMsisdn();
        String actualmessage = URLDecoder.decode(URLEncoder.encode(outbox.getText(), "UTF-8"), "UTF-8");
        Launcher.LOG.info("T----------------------------------------J" + actualmessage);
        String gencorrelator = String.valueOf(outbox.getRefNo());
        // Create SOAP Connection
        SOAPConnectionFactory soapConnectionFactory = SOAPConnectionFactory.newInstance();
        SOAPConnection soapConnection = soapConnectionFactory.createConnection();
        // Send SOAP Message to SOAP Server
        SOAPMessage messageToSend = getSoapMessageFromString(getMessage(spIdString, spPasswordString, recepient,
                serviceId, now, actualmessage, code, gencorrelator, endpointDef));
        Calendar start = Calendar.getInstance();
        SOAPMessage soapResponse = soapConnection.call(messageToSend,
                networkproperties.getProperty("safcom_sms"));
        Launcher.LOG.info(
                recepient + " - took " + (Calendar.getInstance().getTimeInMillis() - start.getTimeInMillis()));
        //            SOAPMessage soapResponse = null;
        System.out.println("XXXXXXXXXXXXXXXXXXX====Sending Safaricom message");
        //            printSOAPResponse(soapResponse);//TODO log
        SOAPBody body = soapResponse.getSOAPBody();
        if (body.hasFault()) {
            SOAPFault newFault = body.getFault();
            //                QName fcode = newFault.getFaultCodeAsQName();
            //                String string = newFault.getFaultString();
            //                String actor = newFault.getFaultActor();
            // System.out.println(">>>>>>>>>>>>>"+fcode);
            System.out.println(">>>>>>>>>>>>>" + newFault.getFaultString());
            soapConnection.close();
            return false;
        } else {
            //TO DO log
            soapConnection.close();
            return true;

        }
    } catch (Exception ex) {
        Launcher.LOG.info(ex.getMessage());
    }

    return false;
}

From source file:org.cerberus.service.soap.impl.SoapService.java

@Override
public AnswerItem<SOAPExecution> callSOAP(String envelope, String servicePath, String method,
        String attachmentUrl) {/*from  ww  w. j  a  v  a  2s  .  co m*/
    AnswerItem result = new AnswerItem();
    SOAPExecution executionSOAP = new SOAPExecution();
    ByteArrayOutputStream out = null;
    MessageEvent message = null;

    if (StringUtils.isNullOrEmpty(servicePath)) {
        message = new MessageEvent(MessageEventEnum.ACTION_FAILED_CALLSOAP_SERVICEPATHMISSING);
        result.setResultMessage(message);
        return result;
    }
    if (StringUtils.isNullOrEmpty(method)) {
        message = new MessageEvent(MessageEventEnum.ACTION_FAILED_CALLSOAP_METHODMISSING);
        result.setResultMessage(message);
        return result;
    }
    if (StringUtils.isNullOrEmpty(envelope)) {
        message = new MessageEvent(MessageEventEnum.ACTION_FAILED_CALLSOAP_ENVELOPEMISSING);
        result.setResultMessage(message);
        return result;
    }

    SOAPConnectionFactory soapConnectionFactory;
    SOAPConnection soapConnection = null;
    try {
        //Initialize SOAP Connection
        soapConnectionFactory = SOAPConnectionFactory.newInstance();
        soapConnection = soapConnectionFactory.createConnection();
        MyLogger.log(SoapService.class.getName(), Level.DEBUG, "Connection opened");

        // Create SOAP Request
        MyLogger.log(SoapService.class.getName(), Level.DEBUG, "Create request");
        SOAPMessage input = createSoapRequest(envelope, method);

        //Add attachment File if specified
        //TODO: this feature is not implemented yet therefore is always empty!
        if (!StringUtils.isNullOrEmpty(attachmentUrl)) {
            this.addAttachmentPart(input, attachmentUrl);
        }

        // Store the SOAP Call
        out = new ByteArrayOutputStream();
        input.writeTo(out);
        MyLogger.log(SoapService.class.getName(), Level.DEBUG, "WS call : " + out.toString());
        executionSOAP.setSOAPRequest(input);
        result.setItem(executionSOAP);

        // Call the WS
        MyLogger.log(SoapService.class.getName(), Level.DEBUG, "Calling WS");
        SOAPMessage soapResponse = soapConnection.call(input, servicePath);
        MyLogger.log(SoapService.class.getName(), Level.DEBUG, "Called WS");
        out = new ByteArrayOutputStream();

        // Store the response
        soapResponse.writeTo(out);
        MyLogger.log(SoapService.class.getName(), Level.DEBUG, "WS response received");
        MyLogger.log(SoapService.class.getName(), Level.DEBUG, "WS response : " + out.toString());
        executionSOAP.setSOAPResponse(soapResponse);

        message = new MessageEvent(MessageEventEnum.ACTION_SUCCESS_CALLSOAP);
        message.setDescription(
                message.getDescription().replace("%SERVICEPATH%", servicePath).replace("%SOAPMETHOD%", method));
        result.setItem(executionSOAP);

    } catch (SOAPException | UnsupportedOperationException | IOException | SAXException
            | ParserConfigurationException | CerberusException e) {
        MyLogger.log(SoapService.class.getName(), Level.ERROR, e.toString());
        message = new MessageEvent(MessageEventEnum.ACTION_FAILED_CALLSOAP);
        message.setDescription(message.getDescription().replace("%SERVICEPATH%", servicePath)
                .replace("%SOAPMETHOD%", method).replace("%DESCRIPTION%", e.getMessage()));
        result.setResultMessage(message);
        return result;
    } finally {
        try {
            if (soapConnection != null) {
                soapConnection.close();
            }
            if (out != null) {
                out.close();
            }
        } catch (SOAPException | IOException ex) {
            Logger.getLogger(SoapService.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } finally {
            result.setResultMessage(message);
        }
    }

    return result;
}

From source file:org.energy_home.jemma.ah.internal.greenathome.GreenathomeAppliance.java

private void getPVForecast() {
    try {/*from  w  ww  . j ava 2  s  .  c  om*/
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
        Calendar cal = new GregorianCalendar();
        if (cal.get(Calendar.HOUR_OF_DAY) < 11)
            cal.add(Calendar.DAY_OF_MONTH, -1);
        String date = format.format(cal.getTime());
        // Create SOAP Connection
        SOAPConnectionFactory soapConnectionFactory = SOAPConnectionFactory.newInstance();
        SOAPConnection soapConnection = soapConnectionFactory.createConnection();
        // Send SOAP Message to SOAP Server
        String url = "http://ws.i-em.eu/v4/iem.asmx";
        SOAPMessage soapResponse = soapConnection.call(createSOAPRequest(date), url);
        // Process the SOAP Response
        double[] val = getValuesFromSOAPResponse(soapResponse);
        if (val != null) {
            if (val.length > 0)
                forecast = new ArrayList<Double>();
            for (int i = 0; i < val.length; i++) {
                if (Double.isNaN(val[i]))
                    val[i] = 0;
                forecast.add(val[i]);
            }
        }
        forecast_debug += "---fsize: " + forecast.size();
        soapConnection.close();
    } catch (Exception e) {
        forecast_debug += "---EXCEPT: " + e.getMessage();
    }
}

From source file:org.jboss.jaxr.juddi.transport.SaajTransport.java

/**
 * @see Transport#send(org.w3c.dom.Element, java.net.URL)
 *///from   www . j  a  va 2  s .c  om
public Element send(Element request, URL endpointURL) throws RegistryException {
    String requestMessage = XMLUtils.toString(request);
    log.debug("Request message:" + requestMessage);

    Element response = null;
    try {
        SOAPMessage message = this.createSOAPMessage(request);
        //Make the SAAJ Call now
        SOAPConnectionFactory soapConnectionFactory = SOAPConnectionFactory.newInstance();
        SOAPConnection connection = soapConnectionFactory.createConnection();
        SOAPMessage soapResponse = connection.call(message, endpointURL);

        SOAPBody soapBody = soapResponse.getSOAPBody();
        boolean hasFault = soapBody.hasFault();
        if (hasFault) {
            SOAPFault soapFault = soapBody.getFault();
            String faultStr = soapFault.getFaultCode() + "::" + soapFault.getFaultString();
            throw new RegistryException(faultStr);
        }
        response = getFirstChildElement(soapBody);
    } catch (Exception ex) {
        log.error("Exception::", ex);
        throw new RegistryException(ex);
    }

    log.debug("Response message:" + XMLUtils.getText(response));
    return response;
}

From source file:org.jboss.jaxr.juddi.transport.WS4EESaajTransport.java

public Element send(Element request, URL endpointURL) throws RegistryException {
    log.debug("Request message:" + XMLUtils.toString(request));
    if ("true".equalsIgnoreCase(debugProp))
        System.out.println("Request Element:" + XMLUtils.toString(request));

    Element response = null;//from   w ww .j a  va2s .c o m
    try {
        MessageFactory msgFactory = MessageFactory.newInstance();
        SOAPMessage message = msgFactory.createMessage();
        message.getSOAPHeader().detachNode();
        SOAPPart soapPart = message.getSOAPPart();
        SOAPBody soapBody = soapPart.getEnvelope().getBody();
        soapBody.addChildElement(getSOAPElement(soapBody, request));
        //There seems to be a bug in the Saaj/Axis implementation that requires
        //message to be written to an output stream
        ByteArrayOutputStream by = new ByteArrayOutputStream();
        message.writeTo(by); //Does not do anything
        by.close();
        if ("true".equalsIgnoreCase(debugProp))
            message.writeTo(System.out);

        //Make the SAAJ Call now
        SOAPConnectionFactory soapConnectionFactory = SOAPConnectionFactory.newInstance();
        SOAPConnection connection = soapConnectionFactory.createConnection();
        SOAPMessage soapResponse = connection.call(message, endpointURL);
        if ("true".equalsIgnoreCase(debugProp)) {
            System.out.println("Response is:");
            soapResponse.writeTo(System.out);
        }

        soapBody = soapResponse.getSOAPBody();
        boolean hasFault = soapBody.hasFault();
        if (hasFault) {
            SOAPFault soapFault = soapBody.getFault();
            String faultStr = soapFault.getFaultCode() + "::" + soapFault.getFaultString();
            throw new RegistryException(faultStr);
        }
        response = getFirstChildElement(soapBody);
    } catch (Exception ex) {
        ex.printStackTrace();
        log.error(ex);
        throw new RegistryException(ex);
    }

    log.debug("Response message:" + XMLUtils.getText(response));

    return response;
}

From source file:org.libreplan.importers.TimSoapClient.java

/**
 * Creates a SOAP connection to the SOAP server
 *
 * @return the SOAPconnection object/*from ww w  .  j ava 2 s  .c o m*/
 * @throws SOAPException
 *             if unable to create connection
 */
private static SOAPConnection createConnection() throws SOAPException {
    SOAPConnectionFactory soapConnectionFactory = SOAPConnectionFactory.newInstance();

    return soapConnectionFactory.createConnection();
}

From source file:org.mule.modules.paypal.util.PayPalAPIHelper.java

public static void getPalDetails(@NotNull String url, @NotNull String username, @NotNull String password,
        @NotNull String appId, String signature) throws Exception {
    SOAPConnectionFactory soapConnectionFactory = SOAPConnectionFactory.newInstance();
    SOAPConnection soapConnection = soapConnectionFactory.createConnection();
    // Send SOAP Message to SOAP Server
    SOAPMessage soapResponse;//from  ww  w.ja  va 2 s  .co  m
    try {
        soapResponse = soapConnection.call(createGetPalDetailsSOAPRequest(username, password, appId, signature),
                url);
    } catch (Exception e) {
        throw new org.mule.api.ConnectionException(ConnectionExceptionCode.UNKNOWN_HOST, "",
                "PayPal SOAP Endpoint not reachable.", e);
    }
    if (soapResponse.getSOAPBody().hasFault()) {
        Exception e = processException(soapResponse);
        throw e;
    }
    NodeList palList = soapResponse.getSOAPBody().getElementsByTagName("Pal");
    if (palList == null || (palList != null && palList.getLength() == 0)) {
        Exception e = processException(soapResponse);
        throw e;
    }
    String pal = soapResponse.getSOAPBody().getElementsByTagName("Pal").item(0).getTextContent();
    if (StringUtils.isEmpty(pal)) {
        Exception e = processException(soapResponse);
        throw e;
    }
    soapConnection.close();
}

From source file:org.openhie.test.xds.util.SoapMessageSender.java

public static void main(String args[]) throws Exception {
    SoapMessageSender test = new SoapMessageSender();

    // Create SOAP Connection
    SOAPConnectionFactory soapConnectionFactory = SOAPConnectionFactory.newInstance();
    SOAPConnection soapConnection = soapConnectionFactory.createConnection();

    // Send SOAP Message to SOAP Server
    String url = "http://iol.test.ohie.org:5001/xdsrepository";
    SOAPMessage so = test.getSoapMessageFromString();
    SOAPHeader header = so.getSOAPHeader();

    log.info(soapConnection.call(test.getSoapMessageFromString(), url));

    // print SOAP Response
    System.out.print("Response SOAP Message:");
    //soapResponse.writeTo(System.out);

    soapConnection.close();/*from  ww  w  .  ja  v  a  2 s  .com*/
}

From source file:org.overlord.rtgov.tests.platforms.jbossas.activityserver.JBossASActivityServerServiceTest.java

@Test
@OperateOnDeployment("orders-app")
public void testQueryActivityServer() {

    try {//from ww w .  jav a  2 s. c  om
        SOAPConnectionFactory factory = SOAPConnectionFactory.newInstance();
        SOAPConnection con = factory.createConnection();

        java.net.URL url = new java.net.URL(ORDER_SERVICE_URL);

        String mesg = "<soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">"
                + "   <soap:Body>"
                + "       <orders:submitOrder xmlns:orders=\"urn:switchyard-quickstart-demo:orders:1.0\">"
                + "            <order>" + "                <orderId>1</orderId>"
                + "                <itemId>BUTTER</itemId>" + "                <quantity>100</quantity>"
                + "                <customer>Fred</customer>" + "            </order>"
                + "        </orders:submitOrder>" + "    </soap:Body>" + "</soap:Envelope>";

        long startTime = System.currentTimeMillis();

        java.io.InputStream is = new java.io.ByteArrayInputStream(mesg.getBytes());

        SOAPMessage request = MessageFactory.newInstance().createMessage(null, is);

        is.close();

        SOAPMessage response = con.call(request, url);

        java.io.ByteArrayOutputStream baos = new java.io.ByteArrayOutputStream();

        response.writeTo(baos);

        baos.close();

        // Wait for events to propagate
        Thread.sleep(4000);

        java.util.List<ActivityType> acts = getActivityEvents(startTime, System.currentTimeMillis());

        if (acts == null) {
            fail("Activity event list is null");
        }

        System.out.println("LIST SIZE=" + acts.size());

        System.out.println("LIST=" + acts);

        if (acts.size() != 12) {
            fail("Expecting 12 activity events: " + acts.size());
        }

        // RTGOV-256 Check that first activity type has header value extracted as a property
        ActivityType at = acts.get(0);

        if (!at.getProperties().containsKey("contentType")) {
            fail("Property 'contentType' not found");
        }

        if (!at.getProperties().get("contentType")
                .equals("{urn:switchyard-quickstart-demo:orders:1.0}submitOrder")) {
            fail("Incorrect content type, expecting '{urn:switchyard-quickstart-demo:orders:1.0}submitOrder' but got: "
                    + at.getProperties().get("contentType"));
        }

        if (!at.getProperties().containsKey("gateway")) {
            fail("Property 'gateway' not found");
        }

        if (!at.getProperties().get("gateway").equals("soap")) {
            fail("Incorrect gateway, expecting 'soap' but got: " + at.getProperties().get("gateway"));
        }

    } catch (Exception e) {
        e.printStackTrace();
        fail("Failed to invoke service: " + e);
    }
}