private CacheEntry _get(String cacheName,String method,String key) throws ServiceException, MalformedURLException, RemoteException { Service service = new Service(); Call call = (Call) service.createCall(); call.registerTypeMapping( Element.class, element, BeanSerializerFactory.class, BeanDeserializerFactory.class); call.setTargetEndpointAddress( new java.net.URL(endpoint) ); call.setOperationName(new QName("http://soap.server.ehcache.sf.net/", method)); call.addParameter("arg0", Constants.XSD_STRING, String.class, ParameterMode.IN); call.addParameter("arg1", Constants.XSD_STRING, String.class, ParameterMode.IN); call.setReturnClass(Element.class); call.setReturnQName(element); return new SoapCacheEntry((Element) call.invoke( new Object[] {cacheName,key } )); }
private boolean _remove(String cacheName,String method,String key) throws ServiceException, MalformedURLException, RemoteException { Service service = new Service(); Call call = (Call) service.createCall(); call.registerTypeMapping( Element.class, element, BeanSerializerFactory.class, BeanDeserializerFactory.class); call.setTargetEndpointAddress( new java.net.URL(endpoint) ); call.setOperationName(new QName("http://soap.server.ehcache.sf.net/", method)); call.addParameter("arg0", Constants.XSD_STRING, String.class, ParameterMode.IN); call.addParameter("arg1", Constants.XSD_STRING, String.class, ParameterMode.IN); call.setReturnClass(boolean.class); call.setReturnQName(Constants.XSD_BOOLEAN); return ((Boolean)call.invoke( new Object[] {cacheName,key } )).booleanValue(); }
private void _put(String cacheName,String method,Element el) throws ServiceException, MalformedURLException, RemoteException { Service service = new Service(); Call call = (Call) service.createCall(); el.setResourceUri(endpoint); call.registerTypeMapping( Element.class, element, BeanSerializerFactory.class, BeanDeserializerFactory.class); call.setTargetEndpointAddress( new java.net.URL(endpoint) ); call.setOperationName(new QName("http://soap.server.ehcache.sf.net/", method)); call.addParameter("arg0", Constants.XSD_STRING, String.class, ParameterMode.IN); call.addParameter("arg1", element, Element.class, ParameterMode.IN); call.setReturnType(Constants.XSD_ANYSIMPLETYPE); call.invoke( new Object[] {cacheName,el } ); //call.invokeOneWay(new Object[] {cacheName,el } ); }
/** * Creates and returns an RPC SOAP call. * * @return an RPC SOAP call */ protected Call createCall() throws Exception { QName workFlowInputQName = new QName(RPROT_DATA_NAMESPACE, "WorkFlowInputType"); QName workFlowOuputQName = new QName(RPROT_DATA_NAMESPACE, "WorkFlowOutputType"); Service service = new Service(); Call call = (Call) service.createCall(); System.out.println("Calling : " + urlString); call.setTargetEndpointAddress(new java.net.URL(urlString)); call.setOperationName("startWorkFlow"); call.addParameter("parameters", workFlowInputQName, ParameterMode.IN); call.setReturnType(workFlowOuputQName, WorkFlowOutputType.class); register(call, WorkFlowInputType.class, workFlowInputQName); register(call, WorkFlowOutputType.class, workFlowOuputQName); return call; }
public static void main(String args[]) { try { Options opts = new Options( args ); args = opts.getRemainingArgs(); if ( args == null || args.length % 2 != 0 ) { System.err.println( "Usage: GetInfo <symbol> <datatype>" ); System.exit(1); } String symbol = args[0] ; Service service = new Service(); Call call = (Call) service.createCall(); call.setTargetEndpointAddress( new java.net.URL(opts.getURL()) ); call.setOperationName( new QName("urn:cominfo", "getInfo") ); call.addParameter( "symbol", XMLType.XSD_STRING, ParameterMode.IN ); call.addParameter( "info", XMLType.XSD_STRING, ParameterMode.IN ); call.setReturnType( XMLType.XSD_STRING ); call.setUsername( opts.getUser() ); call.setPassword( opts.getPassword() ); String res = (String) call.invoke( new Object[] { args[0], args[1] } ); System.out.println( symbol + ": " + res ); } catch( Exception e ) { e.printStackTrace(); } }
public void register(String registryURL, samples.bidbuy.Service s) throws Exception { try { Service service = new Service(); Call call = (Call) service.createCall(); call.setTargetEndpointAddress( new URL(registryURL) ); call.setOperationName( new QName("http://www.soapinterop.org/Register", "Register" )); call.addParameter("ServiceName", XMLType.XSD_STRING, ParameterMode.IN); call.addParameter("ServiceUrl", XMLType.XSD_STRING, ParameterMode.IN); call.addParameter("ServiceType", XMLType.XSD_STRING, ParameterMode.IN); call.addParameter("ServiceWSDL", XMLType.XSD_STRING, ParameterMode.IN); call.invoke( new Object[] { s.getServiceName(), s.getServiceUrl(), s.getServiceType(), s.getServiceWsdl() } ); } catch( Exception e ) { e.printStackTrace(); throw e ; } }
public void unregister(String registryURL, String name) throws Exception { try { Service service = new Service(); Call call = (Call) service.createCall(); call.setTargetEndpointAddress( new URL(registryURL) ); call.setOperationName( new QName("http://www.soapinterop.org/Unregister", "Unregister" )); call.addParameter( "ServiceName", XMLType.XSD_STRING, ParameterMode.IN); call.invoke( new Object[] { name } ); } catch( Exception e ) { e.printStackTrace(); throw e ; } }
public double requestForQuote(String serverURL) throws Exception { try { Service service = new Service(); Call call = (Call) service.createCall(); call.setTargetEndpointAddress( new URL(serverURL) ); call.setOperationName(new QName("http://www.soapinterop.org/Bid", "RequestForQuote") ); call.setReturnType( XMLType.XSD_DOUBLE ); call.setUseSOAPAction( true ); call.setSOAPActionURI( "http://www.soapinterop.org/RequestForQuote" ); call.addParameter( "ProductName", XMLType.XSD_STRING, ParameterMode.IN); call.addParameter( "Quantity", XMLType.XSD_INT, ParameterMode.IN); Object r = call.invoke( new Object[] { "widget", new Integer(10) } ); /* sd.addOutputParam("RequestForQuoteResult", SOAPTypeMappingRegistry.XSD_DOUBLE); sd.addOutputParam("Result", SOAPTypeMappingRegistry.XSD_DOUBLE); sd.addOutputParam("return", SOAPTypeMappingRegistry.XSD_DOUBLE); */ // ??? if ( r instanceof Float ) r = ((Float)r).toString(); if ( r instanceof String ) r = new Double((String) r); Double res = (Double) r ; return( res.doubleValue() ); } catch( Exception e ) { e.printStackTrace(); throw e ; } }
public String simpleBuy(String serverURL, int quantity ) throws Exception { try { Service service = new Service(); Call call = (Call) service.createCall(); call.setTargetEndpointAddress( new URL(serverURL) ); call.setUseSOAPAction( true ); call.setSOAPActionURI( "http://www.soapinterop.org/SimpleBuy" ); call.setOperationName( new QName("http://www.soapinterop.org/Bid", "SimpleBuy") ); call.setReturnType( XMLType.XSD_STRING ); call.addParameter( "Address", XMLType.XSD_STRING, ParameterMode.IN ); call.addParameter( "ProductName", XMLType.XSD_STRING, ParameterMode.IN); call.addParameter( "Quantity", XMLType.XSD_INT, ParameterMode.IN ); String res = (String) call.invoke(new Object[] { "123 Main St.", "Widget", new Integer(quantity)}); /* sd.addOutputParam("SimpleBuyResult", SOAPTypeMappingRegistry.XSD_STRING); sd.addOutputParam("Result", SOAPTypeMappingRegistry.XSD_STRING); sd.addOutputParam("return", SOAPTypeMappingRegistry.XSD_STRING); */ return( res ); } catch( Exception e ) { e.printStackTrace(); throw e ; } }
public static void main(String [] args) { try { Options options = new Options(args); String endpointURL = options.getURL(); String textToSend; args = options.getRemainingArgs(); if ((args == null) || (args.length < 1)) { textToSend = "<nothing>"; } else { textToSend = args[0]; } Service service = new Service(); Call call = (Call) service.createCall(); call.setTargetEndpointAddress( new java.net.URL(endpointURL) ); call.setOperationName( new QName("http://example3.userguide.samples", "serviceMethod") ); call.addParameter( "arg1", XMLType.XSD_STRING, ParameterMode.IN); call.setReturnType( org.apache.axis.encoding.XMLType.XSD_STRING ); String ret = (String) call.invoke( new Object[] { textToSend } ); System.out.println("You typed : " + ret); } catch (Exception e) { System.err.println(e.toString()); } }
public static void main(String [] args) throws Exception { Options options = new Options(args); Order order = new Order(); order.setCustomerName("Glen Daniels"); order.setShippingAddress("275 Grove Street, Newton, MA"); String [] items = new String[] { "mp3jukebox", "1600mahBattery" }; int [] quantities = new int [] { 1, 4 }; order.setItemCodes(items); order.setQuantities(quantities); Service service = new Service(); Call call = (Call) service.createCall(); QName qn = new QName( "urn:BeanService", "Order" ); call.registerTypeMapping(Order.class, qn, new org.apache.axis.encoding.ser.BeanSerializerFactory(Order.class, qn), new org.apache.axis.encoding.ser.BeanDeserializerFactory(Order.class, qn)); String result; try { call.setTargetEndpointAddress( new java.net.URL(options.getURL()) ); call.setOperationName( new QName("OrderProcessor", "processOrder") ); call.addParameter( "arg1", qn, ParameterMode.IN ); call.setReturnType( org.apache.axis.encoding.XMLType.XSD_STRING ); result = (String) call.invoke( new Object[] { order } ); } catch (AxisFault fault) { result = "Error : " + fault.toString(); } System.out.println(result); }
public static void main(String [] args) throws Exception { Options options = new Options(args); String endpoint = "http://localhost:" + options.getPort() + "/axis/Calculator.jws"; args = options.getRemainingArgs(); if (args == null || args.length != 3) { System.err.println("Usage: CalcClient <add|subtract> arg1 arg2"); return; } String method = args[0]; if (!(method.equals("add") || method.equals("subtract"))) { System.err.println("Usage: CalcClient <add|subtract> arg1 arg2"); return; } Integer i1 = new Integer(args[1]); Integer i2 = new Integer(args[2]); Service service = new Service(); Call call = (Call) service.createCall(); call.setTargetEndpointAddress( new java.net.URL(endpoint) ); call.setOperationName( method ); call.addParameter( "op1", XMLType.XSD_INT, ParameterMode.IN ); call.addParameter( "op2", XMLType.XSD_INT, ParameterMode.IN ); call.setReturnType( XMLType.XSD_INT ); Integer ret = (Integer) call.invoke( new Object [] { i1, i2 }); System.out.println("Got result : " + ret); }
public static void main(String args[]) throws Exception { FileReader reader = new FileReader(); reader.setDaemon(true); reader.start(); Options opts = new Options( args ); args = opts.getRemainingArgs(); if ( args == null ) { System.err.println( "Usage: GetQuote <symbol>" ); System.exit(1); } String symbol = args[0] ; Service service = new Service(new XMLStringProvider(wsdd)); Call call = (Call) service.createCall(); call.setOperationName( new QName("urn:xmltoday-delayed-quotes", "getQuote") ); call.addParameter( "symbol", XMLType.XSD_STRING, ParameterMode.IN ); call.setReturnType( XMLType.XSD_FLOAT ); call.setTransport( new FileTransport() ); call.setUsername(opts.getUser() ); call.setPassword(opts.getPassword() ); call.setTimeout(new Integer(10000)); Float res = new Float(0.0F); res = (Float) call.invoke( new Object[] {symbol} ); System.out.println( symbol + ": " + res ); reader.halt(); }
public static void main(String args[]) throws Exception { Options opts = new Options(args); args = opts.getRemainingArgs(); if (args == null || args.length % 2 != 0) { System.err.println("Usage: GetInfo <symbol> <datatype>"); System.exit(1); } String symbol = args[0]; Service service = ServiceFactory.newInstance().createService(null); Call call = service.createCall(); call.setTargetEndpointAddress(opts.getURL()); call.setOperationName(new QName("urn:cominfo", "getInfo")); call.addParameter("symbol", XMLType.XSD_STRING, ParameterMode.IN); call.addParameter("info", XMLType.XSD_STRING, ParameterMode.IN); call.setReturnType(XMLType.XSD_STRING); if(opts.getUser()!=null) call.setProperty(Call.USERNAME_PROPERTY, opts.getUser()); if(opts.getPassword()!=null) call.setProperty(Call.PASSWORD_PROPERTY, opts.getPassword()); String res = (String) call.invoke(new Object[] {args[0], args[1]}); System.out.println(symbol + ": " + res); }
public static Result validateToken(String remoteAddr, String token) throws ServiceException, RemoteException { Call call = (Call) service.createCall(); call.setTargetEndpointAddress(url); call.setEncodingStyle(nameSpace);//传非字符串类型参数需要明确 QName qn = new QName(nameSpace, "Result"); call.setReturnType(qn, Result.class); call.registerTypeMapping(Result.class, qn, BeanSerializerFactory.class, BeanDeserializerFactory.class); call.setOperationName(new QName(nameSpace, "userLogon")); call.addParameter("remoteAddr", XMLType.XSD_STRING, ParameterMode.IN); call.addParameter("appID", XMLType.XSD_STRING, ParameterMode.IN); call.addParameter("token", XMLType.XSD_STRING, ParameterMode.IN); call.addParameter("timestamp", XMLType.XSD_LONG, ParameterMode.IN); call.addParameter("msgAbstract", XMLType.XSD_STRING, ParameterMode.IN); long timestamp = new java.util.Date().getTime(); String msgBofore = remoteAddr + appID + token + timestamp + key; String msg = ""; Result user = null; try { byte[] msgByte = java.security.MessageDigest.getInstance("MD5").digest(msgBofore.getBytes()); msg = bytes2HexString(msgByte); user = (Result) call.invoke(new Object[]{remoteAddr, appID, token, timestamp, msg}); } catch (Exception e) { e.printStackTrace(); } return user; }
public static Result getSinglePerson(String personID) throws ServiceException, RemoteException { Call call = (Call) service.createCall(); call.setTargetEndpointAddress(personUrl); QName qn = new QName(personNameSpace, "Result"); call.setReturnType(qn, Result.class); call.registerTypeMapping(Result.class, qn, BeanSerializerFactory.class, BeanDeserializerFactory.class); call.setOperationName(new QName(personNameSpace, "getSinglePerson")); call.addParameter("personID", XMLType.XSD_STRING, ParameterMode.IN); call.addParameter("euid", XMLType.XSD_STRING, ParameterMode.IN); call.addParameter("personName", XMLType.XSD_STRING, ParameterMode.IN); call.addParameter("nameAbbr", XMLType.XSD_STRING, ParameterMode.IN); call.addParameter("deptID", XMLType.XSD_STRING, ParameterMode.IN); call.addParameter("userType", XMLType.XSD_STRING, ParameterMode.IN); call.addParameter("appID", XMLType.XSD_STRING, ParameterMode.IN); call.addParameter("appIP", XMLType.XSD_STRING, ParameterMode.IN); call.addParameter("messageAbstract", XMLType.XSD_STRING, ParameterMode.IN); String msgBofore = personID + "7696baa1fa4ed9679441764a271e556e"; String msg = ""; try { byte[] msgByte = java.security.MessageDigest.getInstance("MD5").digest(msgBofore.getBytes()); msg = bytes2HexString(msgByte); } catch (Exception e) { e.printStackTrace(); } Result user = (Result) call.invoke(new Object[]{personID, "", "", "", "", "", "dvn", "162.105.138.117", msg}); return user; }
private Object getKeysWithExpiryCheckRaw(String cacheName) throws MalformedURLException, RemoteException, ServiceException { Service service = new Service(); Call call = (Call) service.createCall(); QName any = new QName("http://www.w3.org/2001/XMLSchema", "anyType[0,unbounded]"); QName string = new QName("http://www.w3.org/2001/XMLSchema", "string"); call.setTargetEndpointAddress( new java.net.URL(endpoint) ); call.setOperationName(new QName("http://soap.server.ehcache.sf.net/", "getKeysWithExpiryCheck")); call.addParameter("arg0", string, String.class, ParameterMode.IN); call.setReturnType(any); return call.invoke( new Object[] {cacheName } ); }
public static void main(String[] args) { try { // String endpointURL = " http://cbioqa101.nci.nih.gov:49080/caAdapterWS/ws/caAdapterTransformationService"; // String endpointURL = " http://cbiovdev5054.nci.nih.gov/caAdapterWS/ws/caAdapterTransformationService"; // String endpointURL = " http://caadapter-stage.nci.nih.gov/caAdapterWS/ws/caAdapterTransformationService"; // String endpointURL = " http://caadapter.nci.nih.gov/caAdapterWS/ws/caAdapterTransformationService"; if (args.length<3) { System.out.println("TestCaadapterWebservice Usage:[scenarioName][cvsString]|[endURL]"); return; } System.out.println("TestCaadapterWebservice...scenarioName:"+args[0]); System.out.println("TestCaadapterWebservice...cvsString:"+args[1]); System.out.println("TestCaadapterWebservice...endURL:"+args[2]); //read WS paramters String scenarioName= args[0]; String cvsFileName=args[1]; String csvString =TestCaadapterWebservice.buildCsvString(cvsFileName); String endpointURL =args[2]; //build service call Service service = new Service(); Call call = (Call)service.createCall(); call.setTargetEndpointAddress(new java.net.URL(endpointURL)); String methodName = "transformationService"; call.setOperationName(methodName); call.addParameter("parameter_name", XMLType.XSD_STRING,ParameterMode.IN ); call.addParameter("csvstringname", XMLType.XSD_STRING, ParameterMode.IN ); call.setReturnClass(java.util.ArrayList.class); ArrayList res = (ArrayList)call.invoke(new Object[]{scenarioName,csvString}); System.out.println(res); }catch(Exception e) { e.printStackTrace(); } }
public float getQuote (String args[]) throws Exception { Options opts = new Options( args ); args = opts.getRemainingArgs(); if ( args == null ) { System.err.println( "Usage: GetQuote <symbol>" ); System.exit(1); } symbol = args[0] ; // useful option for profiling - perhaps we should remove before // shipping? String countOption = opts.isValueSet('c'); int count=1; if ( countOption != null) { count=Integer.valueOf(countOption).intValue(); System.out.println("Iterating " + count + " times"); } URL url = new URL(opts.getURL()); String user = opts.getUser(); String passwd = opts.getPassword(); Service service = new Service(); Float res = new Float(0.0F); for (int i=0; i<count; i++) { Call call = (Call) service.createCall(); call.setTargetEndpointAddress( url ); call.setOperationName( new QName("urn:xmltoday-delayed-quotes", "getQuote") ); call.addParameter( "symbol", XMLType.XSD_STRING, ParameterMode.IN ); call.setReturnType( XMLType.XSD_FLOAT ); // TESTING HACK BY ROBJ if (symbol.equals("XXX_noaction")) { symbol = "XXX"; } call.setUsername( user ); call.setPassword( passwd ); Object ret = call.invoke( new Object[] {symbol} ); if (ret instanceof String) { System.out.println("Received problem response from server: "+ret); throw new AxisFault("", (String)ret, null, null); } res = (Float) ret; } return res.floatValue(); }
/** * This will do everything manually (ie. no WSDL). */ public float getQuote2(String args[]) throws Exception { Options opts = new Options( args ); args = opts.getRemainingArgs(); if ( args == null ) { System.err.println( "Usage: GetQuote <symbol>" ); System.exit(1); } /* Create default/empty Service and Call object */ /************************************************/ Service service = new Service(); Call call = (Call) service.createCall(); /* Strange - but allows the user to change just certain portions of */ /* the URL we're gonna use to invoke the service. Useful when you */ /* want to run it thru tcpmon (ie. put -p81 on the cmd line). */ /********************************************************************/ opts.setDefaultURL( "http://localhost:8080/axis/servlet/AxisServlet" ); /* Set all of the stuff that would normally come from WSDL */ /***********************************************************/ call.setTargetEndpointAddress( new URL(opts.getURL()) ); call.setUseSOAPAction( true ); call.setSOAPActionURI( "getQuote" ); call.setEncodingStyle( "http://schemas.xmlsoap.org/soap/encoding/" ); call.setOperationName( new QName("urn:xmltoday-delayed-quotes", "getQuote") ); call.addParameter( "symbol", XMLType.XSD_STRING, ParameterMode.IN ); call.setReturnType( XMLType.XSD_FLOAT ); /* Define some service specific properties */ /*******************************************/ call.setUsername( opts.getUser() ); call.setPassword( opts.getPassword() ); /* Get symbol and invoke the service */ /*************************************/ Object result = call.invoke( new Object[] { symbol = args[0] } ); return( ((Float) result).floatValue() ); }
public String buy(String serverURL, int quantity, int numItems, double price) throws Exception { try { int i ; Service service = new Service(); Call call = (Call) service.createCall(); call.setTargetEndpointAddress( new URL(serverURL) ); call.setUseSOAPAction( true ); call.setSOAPActionURI( "http://www.soapinterop.org/Buy" ); call.setReturnType( XMLType.XSD_STRING ); /* sd.addOutputParam("BuyResult", SOAPTypeMappingRegistry.XSD_STRING); sd.addOutputParam("Result", SOAPTypeMappingRegistry.XSD_STRING); sd.addOutputParam("return", SOAPTypeMappingRegistry.XSD_STRING); */ // register the PurchaseOrder class QName poqn = new QName("http://www.soapinterop.org/Bid", "PurchaseOrder"); Class cls = PurchaseOrder.class; call.registerTypeMapping(cls, poqn, BeanSerializerFactory.class, BeanDeserializerFactory.class); // register the Address class QName aqn = new QName("http://www.soapinterop.org/Bid", "Address"); cls = Address.class; call.registerTypeMapping(cls, aqn, BeanSerializerFactory.class, BeanDeserializerFactory.class); // register the LineItem class QName liqn = new QName("http://www.soapinterop.org/Bid", "LineItem"); cls = LineItem.class; call.registerTypeMapping(cls, liqn, BeanSerializerFactory.class, BeanDeserializerFactory.class); LineItem[] lineItems = new LineItem[numItems]; for ( i = 0 ; i < numItems ; i++ ) lineItems[i] = new LineItem("Widget"+i,quantity,new BigDecimal(price)); PurchaseOrder po = new PurchaseOrder( "PO1", Calendar.getInstance(), new Address("Mr Big", "40 Wildwood Lane", "Weston", "CT", "06883"), new Address("Mr Big's Dad", "40 Wildwood Lane", "Weston", "CT", "06883"), lineItems ); call.addParameter( "PO", poqn, ParameterMode.IN ); call.setOperationName( new QName("http://www.soapinterop.org/Bid", "Buy") ); String res = (String) call.invoke( new Object[] { po } ); return( res ); } catch( Exception e ) { e.printStackTrace(); throw e ; } }
/** * Main entry point. Tests a variety of echo methods and reports * on their results. * * Arguments are of the form: * -h localhost -p 8080 -s /soap/servlet/rpcrouter */ public static void main(String args[]) throws Exception { // set up the call object Options opts = new Options(args); service = new Service(); call = (Call) service.createCall(); call.setTargetEndpointAddress( new URL(opts.getURL()) ); call.setUseSOAPAction(true); call.setSOAPActionURI("http://www.soapinterop.org/Bid"); // register the PurchaseOrder class QName poqn = new QName("http://www.soapinterop.org/Bid", "PurchaseOrder"); Class cls = PurchaseOrder.class; call.registerTypeMapping(cls, poqn, BeanSerializerFactory.class, BeanDeserializerFactory.class); // register the Address class QName aqn = new QName("http://www.soapinterop.org/Bid", "Address"); cls = Address.class; call.registerTypeMapping(cls, aqn, BeanSerializerFactory.class, BeanDeserializerFactory.class); // register the LineItem class QName liqn = new QName("http://www.soapinterop.org/Bid", "LineItem"); cls = LineItem.class; call.registerTypeMapping(cls, liqn, BeanSerializerFactory.class, BeanDeserializerFactory.class); try { // Default return type based on what we expect call.setOperationName( new QName("http://www.soapinterop.org/Bid", "Buy" )); call.addParameter( "PO", poqn, ParameterMode.IN ); call.setReturnType( XMLType.XSD_STRING ); LineItem[] li = new LineItem[2]; li[0] = new LineItem("Tricorder", 1, "2500.95"); li[1] = new LineItem("Phasor", 3, "7250.95"); PurchaseOrder po = new PurchaseOrder( "NCC-1701", Calendar.getInstance(), new Address("Sam Ruby", "Home", "Raleigh", "NC", "27676"), new Address("Lou Gerstner", "Work", "Armonk", "NY", "15222"), li ); // issue the request String receipt = (String) call.invoke( new Object[] {po} ); System.out.println(receipt); } catch (Exception e) { System.out.println("Buy failed: " + e); throw e; } }
public float getQuote (String args[]) throws Exception { Call.addTransportPackage("samples.transport"); Call.setTransportForProtocol("tcp", TCPTransport.class); Options opts = new Options( args ); args = opts.getRemainingArgs(); if ( args == null ) { System.err.println( "Usage: GetQuote <symbol>" ); System.exit(1); } String namespace = "urn:xmltoday-delayed-quotes"; symbol = args[0] ; EngineConfiguration defaultConfig = (new DefaultEngineConfigurationFactory()). getClientEngineConfig(); SimpleProvider config = new SimpleProvider(defaultConfig); SimpleTargetedChain c = new SimpleTargetedChain(new TCPSender()); config.deployTransport("tcp", c); Service service = new Service(config); Call call = (Call)service.createCall(); call.setTransport(new TCPTransport()); call.setTargetEndpointAddress( new URL(opts.getURL()) ); call.setOperationName( new QName("urn:xmltoday-delayed-quotes", "getQuote") ); call.addParameter( "symbol", XMLType.XSD_STRING, ParameterMode.IN ); call.setReturnType( XMLType.XSD_FLOAT ); // TESTING HACK BY ROBJ if (symbol.equals("XXX_noaction")) { symbol = "XXX"; } call.setUsername( opts.getUser() ); call.setPassword( opts.getPassword() ); // useful option for profiling - perhaps we should remove before // shipping? String countOption = opts.isValueSet('c'); int count=1; if ( countOption != null) { count=Integer.valueOf(countOption).intValue(); System.out.println("Iterating " + count + " times"); } Float res = new Float(0.0F); for (int i=0; i<count; i++) { Object ret = call.invoke(new Object[] {symbol} ); if (ret instanceof String) { System.out.println("Received problem response from server: "+ret); throw new AxisFault("", (String)ret, null, null); } res = (Float) ret; } return res.floatValue(); }
public static void main(String args[]) throws Exception { Options opts = new Options( args ); // first check if we should print usage if ((opts.isFlagSet('?') > 0) || (opts.isFlagSet('h') > 0)) printUsage(); HashMap connectorMap = SimpleJMSListener.createConnectorMap(opts); HashMap cfMap = SimpleJMSListener.createCFMap(opts); String destination = opts.isValueSet('d'); String username = opts.getUser(); String password = opts.getPassword(); // create the jms listener SimpleJMSListener listener = new SimpleJMSListener(connectorMap, cfMap, destination, username, password, false); listener.start(); args = opts.getRemainingArgs(); if ( args == null || args.length == 0) printUsage(); Service service = new Service(new XMLStringProvider(wsdd)); // create the transport JMSTransport transport = new JMSTransport(connectorMap, cfMap); // create a new Call object Call call = (Call) service.createCall(); call.setOperationName( new QName("urn:xmltoday-delayed-quotes", "getQuote") ); call.addParameter( "symbol", XMLType.XSD_STRING, ParameterMode.IN ); call.setReturnType( XMLType.XSD_FLOAT ); call.setTransport(transport); // set additional params on the call if desired //call.setUsername(username ); //call.setPassword(password ); //call.setProperty(JMSConstants.WAIT_FOR_RESPONSE, Boolean.FALSE); //call.setProperty(JMSConstants.PRIORITY, new Integer(5)); //call.setProperty(JMSConstants.DELIVERY_MODE, // new Integer(javax.jms.DeliveryMode.PERSISTENT)); //call.setProperty(JMSConstants.TIME_TO_LIVE, new Long(20000)); call.setProperty(JMSConstants.DESTINATION, destination); call.setTimeout(new Integer(10000)); Float res = new Float(0.0F); // invoke a call for each of the symbols and print out for (int i = 0; i < args.length; i++) { try { res = (Float) call.invoke(new Object[] {args[i]}); System.out.println(args[i] + ": " + res); } catch(AxisFault af) { System.out.println(af.dumpToString()); } } // shutdown listener.shutdown(); transport.shutdown(); }
/** * This will do everything manually (ie. no WSDL). */ public float getQuote2(String args[]) throws Exception { Options opts = new Options(args); args = opts.getRemainingArgs(); if (args == null) { System.err.println("Usage: GetQuote <symbol>"); System.exit(1); } /* Create default/empty Service and Call object */ /************************************************/ Service service = ServiceFactory.newInstance().createService(null); Call call = service.createCall(); /* Strange - but allows the user to change just certain portions of */ /* the URL we're gonna use to invoke the service. Useful when you */ /* want to run it thru tcpmon (ie. put -p81 on the cmd line). */ /********************************************************************/ opts.setDefaultURL("http://localhost:8080/axis/servlet/AxisServlet"); /* Set all of the stuff that would normally come from WSDL */ /***********************************************************/ call.setTargetEndpointAddress(opts.getURL()); call.setProperty(Call.SOAPACTION_USE_PROPERTY, Boolean.TRUE); call.setProperty(Call.SOAPACTION_URI_PROPERTY, "getQuote"); call.setProperty(Call.ENCODINGSTYLE_URI_PROPERTY, "http://schemas.xmlsoap.org/soap/encoding/"); call.setOperationName(new QName("urn:xmltoday-delayed-quotes", "getQuote")); call.addParameter("symbol", XMLType.XSD_STRING, ParameterMode.IN); call.setReturnType(XMLType.XSD_FLOAT); /* Define some service specific properties */ /*******************************************/ call.setProperty(Call.USERNAME_PROPERTY, opts.getUser()); call.setProperty(Call.PASSWORD_PROPERTY, opts.getPassword()); /* Get symbol and invoke the service */ /*************************************/ Object result = call.invoke(new Object[] {symbol = args[0]}); return ((Float) result).floatValue(); }
private void testGetAssociation(String url, Service service, Object containingObj, Class associationClass, String rolename) throws Exception { //Sample Scenario: http://localhost:8080/example/GetHTML?query=Bank&Credit[@id=3]&roleName=issuingBank Call call = (Call) service.createCall(); for(Class klassToMap:getClasses()) { QName searchClassQNameToMap = new QName("urn:"+getInversePackageName(klassToMap), klassToMap.getSimpleName()); call.registerTypeMapping(klassToMap, searchClassQNameToMap, new org.apache.axis.encoding.ser.BeanSerializerFactory(klassToMap, searchClassQNameToMap), new org.apache.axis.encoding.ser.BeanDeserializerFactory(klassToMap, searchClassQNameToMap)); } QName searchClassQName = new QName("urn:"+getInversePackageName(associationClass), associationClass.getSimpleName()); call.setTargetEndpointAddress(new java.net.URL(url)); call.setOperationName(new QName("DmrService", "getAssociation")); call.addParameter("arg1", searchClassQName, ParameterMode.IN); call.addParameter("arg2", org.apache.axis.encoding.XMLType.XSD_STRING, ParameterMode.IN); call.addParameter("arg3", searchClassQName, ParameterMode.IN); call.setReturnType(org.apache.axis.encoding.XMLType.SOAP_ARRAY); /* //This block inserts the security headers in the service call SOAPHeaderElement headerElement = new SOAPHeaderElement(call.getOperationName().getNamespaceURI(),"CSMSecurityHeader"); headerElement.setPrefix("csm"); headerElement.setMustUnderstand(false); SOAPElement usernameElement = headerElement.addChildElement("username"); usernameElement.addTextNode("userId"); SOAPElement passwordElement = headerElement.addChildElement("password"); passwordElement.addTextNode("password"); call.addHeader(headerElement); */ System.out.println("Searching for association: " + containingObj.getClass().getName() + "." + rolename); Object[] results = (Object[])call.invoke(new Object[] { containingObj, rolename, 0 }); if (results!=null && results.length> 0) { for(Object obj : results) { printObject(obj, associationClass); break; } } }
public static void main(String[] args) { try { if (args.length<4) { System.out.println("TestCaadapterWebservice Usage:[scenarioName]|[sourceData]|[endURL]|[operationName]"); return; } System.out.println("CmtsWebserviceClient.main...scenarioName:"+args[0]); System.out.println("CmtsWebserviceClient.main...sourceData:"+args[1]); System.out.println("CmtsWebserviceClient.main...endURL:"+args[2]); System.out.println("CmtsWebserviceClient.main()...operation:"+args[3]); //read WS parameters String scenarioName= args[0]; String sourceDataResource=args[1]; String endpointURL =args[2]; String operationnName=args[3]; //build service call Service service = new Service(); Call call = (Call)service.createCall(); call.setTargetEndpointAddress(new java.net.URL(endpointURL)); call.setOperationName(operationnName); call.addParameter("arg0", XMLType.XSD_STRING,ParameterMode.IN ); call.addParameter("arg1", XMLType.XSD_STRING, ParameterMode.IN ); call.setReturnClass(java.lang.String.class); Object result; if(operationnName.equalsIgnoreCase("transferData")) { String sourceDataString =CmtsWebserviceClient.buildCsvString(sourceDataResource); result = call.invoke(new Object[]{scenarioName,sourceDataString}); } else result = call.invoke(new Object[]{scenarioName,sourceDataResource});//, sourceType}); // call.addParameter("mappingScenario", XMLType.XSD_STRING,ParameterMode.IN ); // call.addParameter("sourceDataString", XMLType.XSD_STRING, ParameterMode.IN ); // call.addParameter("sourceType", XMLType.XSD_STRING,ParameterMode.IN ); // call.setReturnClass(java.util.ArrayList.class); // ArrayList<String> res = (ArrayList<String>)call.invoke(new Object[]{scenarioName,sourceDataString});//, sourceType}); System.out.println("CmtsWebserviceClient.main()..\n"+result); }catch(Exception e) { e.printStackTrace(); } }
public Cache getCache(String cacheName) throws Exception { Service service = new Service(); TypeMapping tm = service.getTypeMappingRegistry().getDefaultTypeMapping(); TypeMappingUtil.registerBeanTypeMapping(tm, CacheConfiguration.class, cacheConfiguration); TypeMappingUtil.registerBeanTypeMapping(tm, Cache.class, cache); Call call = (Call) service.createCall(); call.registerTypeMapping( Cache.class, cache, BeanSerializerFactory.class, BeanDeserializerFactory.class); call.registerTypeMapping( CacheConfiguration.class, cacheConfiguration, BeanSerializerFactory.class, BeanDeserializerFactory.class); call.setTargetEndpointAddress( new java.net.URL(endpoint) ); call.setOperationName(new QName("http://soap.server.ehcache.sf.net/", "getCache")); call.addParameter("arg0", Constants.XSD_STRING, String.class, ParameterMode.IN); call.setReturnClass(Element.class); call.setReturnQName(cache); //Object ret = call.invoke( new Object[] { } ); return (Cache) call.invoke( new Object[] {cacheName } ); }