import java.io.* ;

import java.util.* ;

import java.math.BigInteger ;
import java.math.BigDecimal ;

import org.apache.axis2.Constants ;

import org.apache.axis2.client.Stub ;
import org.apache.axis2.client.Options ;
import org.apache.axis2.client.ServiceClient ;

import org.apache.axis2.databinding.ADBBean ;

import org.apache.axis2.context.MessageContext ;

import org.apache.axis2.description.AxisService ;

import org.apache.axis2.transport.http.HTTPConstants ;

import com.acme.service.soap.EveryNumberServiceServiceStub ;


public class Test
{

    public static void main ( String[] args ) throws Exception
    {
        System.setOut ( new PrintStream ( new FileOutputStream ( new File ( "STDOUT.TXT" ) ), true ) ) ;

        System.setErr ( new PrintStream ( new FileOutputStream ( new File ( "STDERR.TXT" ) ), true ) ) ;

        EveryNumberServiceServiceStub stub = new EveryNumberServiceServiceStub () ;

        ServiceClient serviceClient = stub._getServiceClient () ;

        AxisService axisService = serviceClient.getAxisService () ;

        Options options = serviceClient.getOptions () ;

//        options.setTo ( new EndpointReference ( endpoint ) ) ;
//        options.setProperty ( HTTPConstants.BASIC_AUTHENTICATION, basicAuth ) ;
//        options.setProperty ( HTTPConstants.SO_TIMEOUT, new Integer(180*1000) ) ;
//        options.setProperty ( HTTPConstants.CONNECTION_TIMEOUT, new Integer(180*1000) ) ;
        options.setProperty ( HTTPConstants.HTTP_PROTOCOL_VERSION, HTTPConstants.HEADER_PROTOCOL_11 ) ;
        options.setProperty ( HTTPConstants.CHUNKED, Constants.VALUE_FALSE ) ;

        
        EveryNumberServiceServiceStub.EveryNumber param1 = new EveryNumberServiceServiceStub.EveryNumber () ;

//        param1.setA_byte ( null ) ;

        int[] intArray = new int[]{ 2, 3, 4 } ;

        EveryNumberServiceServiceStub.ArrayOf_xsd_int valueArray = new EveryNumberServiceServiceStub.ArrayOf_xsd_int () ;

        valueArray.setItem ( intArray ) ;

        param1.setA_int ( valueArray ) ;

        param1.setN_double ( 22.5 ) ;

        param1.setN_float ( 23.4f ) ;

        param1.setN_int ( 123 ) ;

        param1.setN_long ( 3456 ) ;

        param1.setO_bigdecimal ( new BigDecimal ( "567.67" ) ) ;

        param1.setO_biginteger ( new BigInteger ( "98765" ) ) ;

        param1.setO_double ( 345.67 ) ;

        param1.setO_int ( 7585 ) ;

        EveryNumberServiceServiceStub.GetNumber request = new EveryNumberServiceServiceStub.GetNumber () ;

        request.setParam1 ( param1 ) ;

        EveryNumberServiceServiceStub.GetNumberResponse response = stub.getNumber ( request ) ;


    }

    public final static byte[] readFile ( File file ) throws IOException
    {
        int length = (int)file.length () ;

        byte[] content = new byte[length] ;

        FileInputStream inputStream = new FileInputStream ( file ) ;

        inputStream.read ( content ) ;

        inputStream.close () ;

        return content ;
    }
}
