Package org.apache.axis

Examples of org.apache.axis.Message


        service.getEngine().invoke( msgContext );

        if (transport != null)
            transport.processReturnedMessageContext(msgContext);

        Message resMsg = msgContext.getResponseMessage();

        if (resMsg == null) {
          if (this.FAULT_ON_NO_RESPONSE) {
            throw new AxisFault(Messages.getMessage("nullResponse00"));
          } else {
            return;
          }
        }

        /** This must happen before deserialization...
         */
        resMsg.setMessageType(Message.RESPONSE);

        SOAPEnvelope resEnv = resMsg.getSOAPEnvelope();

        SOAPBodyElement respBody = resEnv.getFirstBody();
        if (respBody instanceof SOAPFault) {
            if(returnJavaType == null || returnJavaType != javax.xml.soap.SOAPMessage.class)
                throw ((SOAPFault)respBody).getFault();
View Full Code Here


        return output;
    }

    public void echoVoidSoapHeader() throws java.rmi.RemoteException {
        MessageContext context = MessageContext.getCurrentContext();
        Message request = context.getRequestMessage();
        Message response = context.getResponseMessage();
        Vector headers = request.getSOAPEnvelope().getHeaders();
        for (int i=0;i<headers.size();i++) {
            SOAPHeaderElement header = (SOAPHeaderElement)headers.get(i);
            response.getSOAPEnvelope().addHeader(header);
        }
    }
View Full Code Here

     * Verify that a given XML deserialized produces the expected result
     */
    protected void roundtrip(String data)
       throws Exception
    {
       Message message = new Message(header + data + footer);
       message.setMessageContext(new MessageContext(server));

       message.getSOAPEnvelope();

       assertEquals(header+data+footer, message.getSOAPPartAsString());
    }
View Full Code Here

     * Verify that a given XML deserialized produces the expected result
     */
    protected void deserialize(String data, Object expected)
       throws Exception
    {
       Message message = new Message(header + data + footer);
       message.setMessageContext(new MessageContext(server));

       SOAPEnvelope envelope = (SOAPEnvelope)message.getAsSOAPEnvelope();
       assertNotNull("envelope", envelope);

       RPCElement body = (RPCElement)envelope.getFirstBody();
       assertNotNull("body", body);

View Full Code Here

           if (pos == i)
               msgString += data;
           msgString += messageParts[i];
       }
      
       Message message = new Message(msgString);
       message.setMessageContext(new MessageContext(new AxisServer()));

       SOAPEnvelope envelope = (SOAPEnvelope)message.getAsSOAPEnvelope();
       assertNotNull("envelope", envelope);

       RPCElement body = (RPCElement)envelope.getFirstBody();
       assertNotNull("body", body);
View Full Code Here

        Thread.sleep( 100 );   // let the other side finish writing
        FileInputStream fis = new FileInputStream( file );

        int thisNum = nextNum++; // increment early to avoid infinite loops
       
        Message msg = new Message( fis );
        msg.getAsBytes();

        fis.close();
        file.delete();

        MessageContext  msgContext = new MessageContext(server);
        msgContext.setRequestMessage( msg );

        try {
            server.invoke( msgContext );
            msg = msgContext.getResponseMessage();
        } catch (AxisFault af) {
            msg = new Message(af);
            msg.setMessageContext(msgContext);
        } catch (Exception e) {
            msg = new Message(new AxisFault(e.toString()));
            msg.setMessageContext(msgContext);
        }
       
        byte[] buf = (byte[]) msg.getAsBytes();
        FileOutputStream fos = new FileOutputStream( "xml" + thisNum + ".res" );
        fos.write( buf );
        fos.close();
      }
      catch( Exception e ) {
View Full Code Here

        RPCElement rpc = new RPCElement("namespace", "response", new Object []
                            { retVal, outParam1, outParam2 });

        env.addBodyElement(rpc);

        msgContext.setResponseMessage(new Message(env));
    }
View Full Code Here

     * Return the target service (should be this!)
     */
    public String argAsDOM(MessageContext mc, Data input) throws Exception {

       // get the first parameter
       Message message = mc.getRequestMessage();
       RPCElement body = (RPCElement)message.getAsSOAPEnvelope().getFirstBody();
       NodeList parms = body.getAsDOM().getChildNodes();
       Node parm1 = null;
       for (int i=0; i<parms.getLength(); i++) {
           parm1 = parms.item(i);
           if (parm1.getNodeType() == Node.ELEMENT_NODE) break;
View Full Code Here

public class FileSender extends BasicHandler {
  static int nextNum = 1 ;

  public void invoke(MessageContext msgContext) throws AxisFault {
    Message  msg = msgContext.getRequestMessage();
    byte[]   buf = (byte[]) msg.getAsBytes();
    boolean timedOut = false;
    try {
      FileOutputStream fos = new FileOutputStream( "xml" + nextNum + ".req" );

      fos.write( buf );
      fos.close();
    }
    catch( Exception e ) {
      e.printStackTrace();
    }

    long timeout = Long.MAX_VALUE;
    if (msgContext.getTimeout()!=0)
      timeout=(new Date()).getTime()+msgContext.getTimeout();

    for (; timedOut == false;) {
      try {
        Thread.sleep( 100 );
        File file = new File( "xml" + nextNum + ".res" );

        if ((new Date().getTime())>=timeout)
            timedOut = true;

        if ( !file.exists() ) continue ;
        Thread.sleep( 100 );   // let the other side finish writing
        FileInputStream fis = new FileInputStream( "xml" + nextNum + ".res" );
        msg = new Message( fis );
        msg.getAsBytes()// just flush the buffer
        fis.close();
         Thread.sleep( 100 );
        (new File("xml" + nextNum + ".res")).delete();
        msgContext.setResponseMessage( msg );
        break ;
View Full Code Here

            /** Unfortunately, this is transport-specific.  However, no one
            * but the HTTP transport should pick this property up.
            */
            client.set(HTTPConstants.MC_HTTP_SOAPACTION, "AdminService");
           
            Message         inMsg      = new Message( input, true );
           
            client.setRequestMessage( inMsg );
           
            client.set( Transport.USER, opts.getUser() );
            client.set( Transport.PASSWORD, opts.getPassword() );

            String tName = opts.isValueSet( 't' );
            if ( tName != null && !tName.equals("") )
                client.setTransportName( tName );
           
            client.invoke();
           
            Message outMsg = client.getMessageContext().
                                                        getResponseMessage();
            if (outMsg == null) {
                log("Null response message!");
                return null;
            }
           
            client
              .getMessageContext()
               .setServiceDescription(new ServiceDescription("Admin", false));
           
            input.close();
            SOAPEnvelope envelope =
                                   (SOAPEnvelope) outMsg.getAsSOAPEnvelope();
            SOAPBodyElement body = envelope.getFirstBody();
            StringWriter writer = new StringWriter();
            client.addOption(AxisEngine.PROP_XML_DECL, new Boolean(false));
            SerializationContext ctx = new SerializationContext(writer,
                                                  client.getMessageContext());
View Full Code Here

TOP

Related Classes of org.apache.axis.Message

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.