Package javax.xml.soap

Examples of javax.xml.soap.SOAPConnection


        String soapAction = "urn:test:echo";
       
        request.getSOAPPart().getEnvelope().getBody().addBodyElement(new QName("urn:test", "echo"));
        request.getMimeHeaders().addHeader("SOAPAction", soapAction);

        SOAPConnection sCon = SOAPConnectionFactory.newInstance().createConnection();
        sCon.call(request, getAddress());
        sCon.close();
       
        assertEquals(soapAction, lastSoapAction);
    }
View Full Code Here


        // Remove the headers since they have mustunderstand=1
        envelope.getHeader().removeContents();
        // Change the name of the body content so that the request is routed to the echo service
        ((SOAPElement)envelope.getBody().getChildElements().next()).setElementQName(new QName("echo"));
       
        SOAPConnection sCon = SOAPConnectionFactory.newInstance().createConnection();
        SOAPMessage response = sCon.call(request, getAddress());
        sCon.close();
       
        SOAPPart soapPart = response.getSOAPPart();
        SOAPElement textElement =
                (SOAPElement)soapPart.getEnvelope().getElementsByTagName("text").item(0);
        AttachmentPart ap = response.getAttachment((SOAPElement)textElement.getChildNodes().item(0));
View Full Code Here

        SOAPMessage request = mf.createMessage();
        SOAPBodyElement bodyElement = request.getSOAPBody().addBodyElement(new QName("urn:test", "echo"));
        for (int i=0; i<1000; i++) {
            bodyElement.addChildElement(new QName("test")).addTextNode("some text");
        }
        SOAPConnection conn = SOAPConnectionFactory.newInstance().createConnection();
        for (int i=0; i<100; i++) {
            // Let the Echo service trigger a SOAP fault on every second call. This allows us to check
            // that the connection cleanup is done correctly also if the response is a SOAP fault.
            triggerFault = i % 2 == 0;
            if (triggerFault) {
                try {
                    conn.call(request, getAddress());
                    fail("Expected SOAPException");
                } catch (SOAPException ex) {
                    // Expected
                }
            } else {
                SOAPMessage response = conn.call(request, getAddress());
                assertEquals(1000, ((Element)response.getSOAPBody().getFirstChild()).getChildNodes().getLength());
            }
        }
        conn.close();
    }
View Full Code Here

    Object[][] data = null;

    int columnCount = 0;
    int rowCount = 0;

    SOAPConnection connection = null;
    SOAPMessage reply = null;

    try {
      connection = scf.createConnection();
      SOAPMessage msg = mf.createMessage();

      MimeHeaders mh = msg.getMimeHeaders();
      mh.setHeader( "SOAPAction", XMLABaseComponent.EXECUTE_ACTION ); //$NON-NLS-1$

      SOAPPart soapPart = msg.getSOAPPart();
      SOAPEnvelope envelope = soapPart.getEnvelope();
      envelope.setEncodingStyle( XMLABaseComponent.ENCODING_STYLE );

      SOAPBody body = envelope.getBody();
      Name nEx = envelope.createName( "Execute", "", XMLABaseComponent.XMLA_URI ); //$NON-NLS-1$//$NON-NLS-2$

      SOAPElement eEx = body.addChildElement( nEx );
      eEx.setEncodingStyle( XMLABaseComponent.ENCODING_STYLE );

      // add the parameters

      // COMMAND parameter
      // <Command>
      // <Statement>select [Measures].members on Columns from
      // Sales</Statement>
      // </Command>
      Name nCom = envelope.createName( "Command", "", XMLABaseComponent.XMLA_URI ); //$NON-NLS-1$ //$NON-NLS-2$
      SOAPElement eCommand = eEx.addChildElement( nCom );
      Name nSta = envelope.createName( "Statement", "", XMLABaseComponent.XMLA_URI ); //$NON-NLS-1$ //$NON-NLS-2$
      SOAPElement eStatement = eCommand.addChildElement( nSta );
      eStatement.addTextNode( query );

      // <Properties>
      // <PropertyList>
      // <DataSourceInfo>Provider=MSOLAP;Data
      // Source=local</DataSourceInfo>
      // <Catalog>Foodmart 2000</Catalog>
      // <Format>Multidimensional</Format>
      // <AxisFormat>TupleFormat</AxisFormat> oder "ClusterFormat"
      // </PropertyList>
      // </Properties>
      Map paraList = new HashMap();
      paraList.put( "DataSourceInfo", dataSource ); //$NON-NLS-1$
      paraList.put( "Catalog", catalog ); //$NON-NLS-1$
      paraList.put( "Format", "Multidimensional" ); //$NON-NLS-1$ //$NON-NLS-2$
      paraList.put( "AxisFormat", "TupleFormat" ); //$NON-NLS-1$ //$NON-NLS-2$
      addParameterList( envelope, eEx, "Properties", "PropertyList", paraList ); //$NON-NLS-1$ //$NON-NLS-2$

      msg.saveChanges();

      debug( "Request for Execute" ); //$NON-NLS-1$
      logSoapMsg( msg );

      // run the call
      reply = connection.call( msg, url );

      debug( "Reply from Execute" ); //$NON-NLS-1$
      logSoapMsg( reply );

      // error check
      errorCheck( reply );

      // process the reply
      SOAPElement eRoot = findExecRoot( reply );

      // for each axis, get the positions (tuples)
      Name name = envelope.createName( "Axes", "", XMLABaseComponent.MDD_URI ); //$NON-NLS-1$ //$NON-NLS-2$
      SOAPElement eAxes = selectSingleNode( eRoot, name );
      if ( eAxes == null ) {
        throw new XMLAException( "Excecute result has no Axes element" ); //$NON-NLS-1$
      }

      name = envelope.createName( "Axis", "", XMLABaseComponent.MDD_URI ); //$NON-NLS-1$ //$NON-NLS-2$
      Iterator itAxis = eAxes.getChildElements( name );

    AxisLoop:
      for ( int iOrdinal = 0; itAxis.hasNext(); ) {
        SOAPElement eAxis = (SOAPElement) itAxis.next();
        name = envelope.createName( "name" ); //$NON-NLS-1$
        String axisName = eAxis.getAttributeValue( name );
        int axisOrdinal;
        if ( axisName.equals( "SlicerAxis" ) ) { //$NON-NLS-1$
          continue;
        } else {
          axisOrdinal = iOrdinal++;
        }

        name = envelope.createName( "Tuples", "", XMLABaseComponent.MDD_URI ); //$NON-NLS-1$//$NON-NLS-2$
        SOAPElement eTuples = selectSingleNode( eAxis, name );
        if ( eTuples == null ) {
          continue AxisLoop; // what else?
        }

        name = envelope.createName( "Tuple", "", XMLABaseComponent.MDD_URI ); //$NON-NLS-1$//$NON-NLS-2$
        Iterator itTuple = eTuples.getChildElements( name );

        // loop over tuples
        int positionOrdinal = 0;
        while ( itTuple.hasNext() ) { // TupleLoop

          SOAPElement eTuple = (SOAPElement) itTuple.next();

          if ( ( axisOrdinal == XMLABaseComponent.AXIS_COLUMNS ) && ( columnHeaders == null ) ) {
            columnCount = getChildCount( envelope, eTuples, "Tuple" ); //$NON-NLS-1$
            columnHeaders = new Object[ getChildCount( envelope, eTuple, "Member" ) ][ columnCount ]; //$NON-NLS-1$
          } else if ( ( axisOrdinal == XMLABaseComponent.AXIS_ROWS ) && ( rowHeaders == null ) ) {
            rowCount = getChildCount( envelope, eTuples, "Tuple" ); //$NON-NLS-1$
            rowHeaders = new Object[ rowCount ][ getChildCount( envelope, eTuple, "Member" ) ]; //$NON-NLS-1$
          }

          int index = 0;
          name = envelope.createName( "Member", "", XMLABaseComponent.MDD_URI ); //$NON-NLS-1$//$NON-NLS-2$
          Iterator itMember = eTuple.getChildElements( name );
          while ( itMember.hasNext() ) { // MemberLoop
            SOAPElement eMem = (SOAPElement) itMember.next();
            // loop over children nodes
            String caption = null;
            Iterator it = eMem.getChildElements();
          InnerLoop:
            while ( it.hasNext() ) {
              Node n = (Node) it.next();
              if ( !( n instanceof SOAPElement ) ) {
                continue InnerLoop;
              }
              SOAPElement el = (SOAPElement) n;
              String enam = el.getElementName().getLocalName();
              if ( enam.equals( "Caption" ) ) { //$NON-NLS-1$
                caption = el.getValue();
              }
            }
            if ( axisOrdinal == XMLABaseComponent.AXIS_COLUMNS ) {
              columnHeaders[ index ][ positionOrdinal ] = caption;
            } else if ( axisOrdinal == XMLABaseComponent.AXIS_ROWS ) {
              rowHeaders[ positionOrdinal ][ index ] = caption;
            }
            ++index;
          } // MemberLoop

          ++positionOrdinal;
        } // TupleLoop
      } // AxisLoop

      data = new Object[ rowCount ][ columnCount ];
      // loop over cells in result set
      name = envelope.createName( "CellData", "", XMLABaseComponent.MDD_URI ); //$NON-NLS-1$//$NON-NLS-2$
      SOAPElement eCellData = selectSingleNode( eRoot, name );
      name = envelope.createName( "Cell", "", XMLABaseComponent.MDD_URI ); //$NON-NLS-1$//$NON-NLS-2$
      Iterator itSoapCell = eCellData.getChildElements( name );
      while ( itSoapCell.hasNext() ) { // CellLoop
        SOAPElement eCell = (SOAPElement) itSoapCell.next();
        name = envelope.createName( "CellOrdinal", "", "" ); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
        String cellOrdinal = eCell.getAttributeValue( name );
        int ordinal = Integer.parseInt( cellOrdinal );
        name = envelope.createName( "Value", "", XMLABaseComponent.MDD_URI ); //$NON-NLS-1$//$NON-NLS-2$
        Object value = selectSingleNode( eCell, name ).getValue();

        int rowLoc = ordinal / columnCount;
        int columnLoc = ordinal % columnCount;

        data[ rowLoc ][ columnLoc ] = value;
      } // CellLoop

      MemoryResultSet resultSet = new MemoryResultSet();
      MemoryMetaData metaData = new MemoryMetaData( columnHeaders, rowHeaders );
      resultSet.setMetaData( metaData );
      for ( Object[] element : data ) {
        resultSet.addRow( element );
      }
      rSet = resultSet;
      if ( resultSet != null ) {
        if ( getResultOutputName() != null ) {
          setOutputValue( getResultOutputName(), resultSet );
        }
        return true;
      }
      return false;

    } catch ( SOAPException se ) {
      throw new XMLAException( se );
    } finally {
      if ( connection != null ) {
        try {
          connection.close();
        } catch ( SOAPException e ) {
          // log and ignore
          error( "?", e ); //$NON-NLS-1$
        }
      }
View Full Code Here

   */
  private void discover( final String request, final URL discoverUrl, final Map restrictions, final Map properties,
                         final Rowhandler rh ) throws XMLAException {

    try {
      SOAPConnection connection = scf.createConnection();

      SOAPMessage msg = mf.createMessage();

      MimeHeaders mh = msg.getMimeHeaders();
      mh.setHeader( "SOAPAction", "\"urn:schemas-microsoft-com:xml-analysis:Discover\"" ); //$NON-NLS-1$ //$NON-NLS-2$

      SOAPPart soapPart = msg.getSOAPPart();
      SOAPEnvelope envelope = soapPart.getEnvelope();
      envelope.addNamespaceDeclaration( "xsi", "http://www.w3.org/2001/XMLSchema-instance" ); //$NON-NLS-1$//$NON-NLS-2$
      envelope.addNamespaceDeclaration( "xsd", "http://www.w3.org/2001/XMLSchema" ); //$NON-NLS-1$ //$NON-NLS-2$
      SOAPBody body = envelope.getBody();
      Name nDiscover = envelope.createName( "Discover", "", XMLABaseComponent.XMLA_URI ); //$NON-NLS-1$//$NON-NLS-2$

      SOAPElement eDiscover = body.addChildElement( nDiscover );
      eDiscover.setEncodingStyle( XMLABaseComponent.ENCODING_STYLE );

      Name nPara = envelope.createName( "RequestType", "", XMLABaseComponent.XMLA_URI ); //$NON-NLS-1$//$NON-NLS-2$
      SOAPElement eRequestType = eDiscover.addChildElement( nPara );
      eRequestType.addTextNode( request );

      // add the parameters
      if ( restrictions != null ) {
        addParameterList( envelope, eDiscover, "Restrictions", "RestrictionList",
          restrictions ); //$NON-NLS-1$ //$NON-NLS-2$
      }
      addParameterList( envelope, eDiscover, "Properties", "PropertyList", properties ); //$NON-NLS-1$//$NON-NLS-2$

      msg.saveChanges();

      debug(
        Messages.getInstance().getString( "XMLABaseComponent.DEBUG_0006_DISCOVER_REQUEST" ) + request ); //$NON-NLS-1$
      logSoapMsg( msg );

      // run the call
      SOAPMessage reply = connection.call( msg, discoverUrl );

      debug(
        Messages.getInstance().getString( "XMLABaseComponent.DEBUG_0007_DISCOVER_RESPONSE" ) + request ); //$NON-NLS-1$
      logSoapMsg( reply );

      errorCheck( reply );

      SOAPElement eRoot = findDiscoverRoot( reply );

      Name nRow = envelope.createName( "row", "", XMLABaseComponent.ROWS_URI ); //$NON-NLS-1$ //$NON-NLS-2$
      Iterator itRow = eRoot.getChildElements( nRow );
      while ( itRow.hasNext() ) { // RowLoop

        SOAPElement eRow = (SOAPElement) itRow.next();
        rh.handleRow( eRow, envelope );

      } // RowLoop

      connection.close();
    } catch ( UnsupportedOperationException e ) {
      throw new XMLAException( e );
    } catch ( SOAPException e ) {
      throw new XMLAException( e );
    }
View Full Code Here

            // Create a url endpoint for the recipient of the message.
            URL urlEndpoint = new URL("http://localhost:8080/ReceivingSOAP11Servlet");

            // Send the message to the endpoint using the connection.
            SOAPConnection con = new SOAPConnectionImpl();
            SOAPMessage replymsg = con.call(msg, urlEndpoint);

            // Check if reply message
            if (!validateReplyMessage(replymsg, 1)) {
                //Reply message is correct
            } else {
View Full Code Here

                "Japanese : \u3088\u3046\u3053\u305d");
    }

    public void testSynchronization() throws Exception {
        SOAPConnectionFactory scFactory = SOAPConnectionFactory.newInstance();
        SOAPConnection con = scFactory.createConnection();
        MessageFactory factory = MessageFactory.newInstance();
        SOAPMessage message = factory.createMessage();
        String requestEncoding = "UTF-16";
        message.setProperty(SOAPMessage.CHARACTER_SET_ENCODING, requestEncoding);
        SOAPEnvelope envelope = message.getSOAPPart().getEnvelope();
        SOAPBody body = envelope.getBody();
        Name bodyName = envelope.createName("echo");
        SOAPBodyElement bodyElement = body.addBodyElement(bodyName);
        Name name = envelope.createName("arg0");
        SOAPElement symbol = bodyElement.addChildElement(name);
        symbol.addTextNode("Hello");
        URLEndpoint endpoint = new URLEndpoint(AxisGeronimoUtils.getURL("axis/EchoHeaders.jws").toString());
        SOAPMessage response = con.call(message, endpoint);
        String responseEncoding = (String) response.getProperty(SOAPMessage.CHARACTER_SET_ENCODING);
        assertEquals(requestEncoding.toLowerCase(), responseEncoding.toLowerCase());
    }
View Full Code Here

      AttachmentPart ap2 = msg.createAttachmentPart();
      ap2.setContent("Attachment content - Part 2", "text/plain");
      msg.addAttachmentPart(ap2);
      msg.saveChanges();

      SOAPConnection con = conFac.createConnection();

      final String serviceURL = "http://" + getServerHost() + ":8080/saaj-soap-connection";

      URL endpoint = new URL(serviceURL);
      SOAPMessage response = con.call(msg, endpoint);
      QName sayHiResp = new QName("http://www.jboss.org/jbossws/saaj", "sayHelloResponse");

      Iterator<?> sayHiRespIterator = response.getSOAPBody().getChildElements(sayHiResp);
      SOAPElement soapElement = (SOAPElement) sayHiRespIterator.next();
      assertNotNull(soapElement);
View Full Code Here

     * @throws SOAPException
     *             if unable to send request
     */
    private static SOAPMessage sendRequest(String url, SOAPMessage message)
            throws SOAPException {
        SOAPConnection connection = null;
        SOAPMessage response = null;
        try {
            connection = createConnection();
            response = connection.call(message, url);
        } finally {
            if (connection != null) {
                closeConnection(connection);
            }
        }
View Full Code Here

     *             if unable to create connection
     */
    private static SOAPConnection createConnection() throws SOAPException {
        SOAPConnectionFactory soapConnectionFactory = SOAPConnectionFactory
                .newInstance();
        SOAPConnection connection = soapConnectionFactory.createConnection();
        return connection;
    }
View Full Code Here

TOP

Related Classes of javax.xml.soap.SOAPConnection

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.