- From: Libby Miller <Libby.Miller@bristol.ac.uk>
- Date: Mon, 3 Sep 2001 11:58:53 +0100 (BST)
- To: Dan Brickley <danbri@w3.org>
- cc: www-archive <www-archive@w3.org>, Glen Daniels <gdaniels@macromedia.com>, "libby.miller" <libby.miller@bristol.ac.uk>
very cool :) On Mon, 3 Sep 2001, Dan Brickley wrote: > > Seems to work. The 3rd argument to the server specifies the serialization > policy (ie. whether to use the Map construct); this may turn out to be an > interop headache, dunno. > > Dan > > > ps. still some bits in code below I could strip out; it's a recycled Axis test > ---------- Forwarded message ---------- > Date: Mon, 3 Sep 2001 11:06:12 +0100 > > /* stolen from apache Axis examples by Doug and Glen */ > // http://lists.w3.org/Archives/Public/www-archive/2001Jul/0020.html > // for perl equiv i'm trying to clone > > package org.w3c.inkling.soap; > > import java.net.*; > import java.io.*; > import java.util.*; > > import org.apache.axis.*; > import org.apache.axis.utils.*; > import org.apache.axis.client.*; > import org.apache.axis.transport.http.HTTPTransport ; > import java.lang.reflect.Array; > import org.apache.axis.message.*; > import org.apache.axis.encoding.*; > import org.apache.axis.server.AxisServer; > import org.apache.axis.utils.QName; > import org.xml.sax.InputSource; > > > public class RDFQClient { > > public static String query = "SELECT ?x, ?l, ?c" + > "FROM http://xmlns.com/wordnet/1.6/Job "+ > "WHERE "+ > " (web::type ?x rdfs::Class) "+ > " (rdfs::label ?x ?l) "+ > " (rdfs::description ?x ?c) "+ > "USING web FOR http://www.w3.org/1999/02/22-rdf-syntax-ns# "+ > "rdfs FOR http://www.w3.org/2000/01/rdf-schema#"; > > public static String data = "http://xmlns.com/wordnet/1.6/Job"; > > public static String msg = "<SOAP-ENV:Envelope " + > "xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\" " + > "xmlns:soapenc=\"http://schemas.xmlsoap.org/soap/encoding/\" > " + > "<SOAP-ENV:Body>\n" + > "<rq:squish xmlns:rq=\"http://rdfweb.org/RDF/RDFWeb/SOAPDemo\">\n" + > "<rq:query>" + query + "</rq:query>"+ > "<rq:data>"+ data +"</rq:data>"+ > "<rq:hashmap>1</rq:hashmap>" + > "</rq:squish>\n" + > "</SOAP-ENV:Body></SOAP-ENV:Envelope>\n"; > > /** > * Send a hardcoded message to the server, and print the response. > */ > public static String doTest (String args[], String service) throws Exception { > Options opts = new Options( args ); > String url = opts.getURL(); > String action = "EchoService" ; > > if (service != null) { > action = service; > } > > Debug.setDebugLevel( opts.isFlagSet( 'd' ) ); > > args = opts.getRemainingArgs(); > if ( args != null ) action = args[0]; > > ServiceClient client = new ServiceClient(new HTTPTransport()); > > url = "http://fireball.dyndns.org/cgi-bin/soap"; // danbri hack > action = "http://rdfweb.org/RDF/RDFWeb/SOAPDemo#squish"; > > client.set(HTTPTransport.URL, url); > client.set(HTTPTransport.ACTION, action); > > Message reqMsg = new Message( msg ); > Message resMsg = null ; > > System.out.println( "Request:\n" + msg ); > System.out.println( "Url: " + url ); > System.out.println( "soap action is: " + action ); > client.setRequestMessage( reqMsg ); > client.invoke(); > > resMsg = client.getMessageContext().getResponseMessage(); > > // System.out.println("XML serialization: "+ resMsg.getAsString()); > > SOAPEnvelope envelope = (SOAPEnvelope)resMsg.getAsSOAPEnvelope(); > > RPCElement body = (RPCElement)envelope.getFirstBody(); > Vector arglist = body.getParams(); > RPCParam param = (RPCParam) arglist.get(0); > > System.out.println("Restoring object from xml..."); > Object result = param.getValue(); > > ArrayList rows = (ArrayList)result; > System.out.println("\n\nGot rows: "+ rows +"\n\n"); > > System.out.println("result = " +result ) ; > Object[] answers = (Object[])rows.toArray(); > for (int i=0; i<answers.length; i++) { > HashMap h = (HashMap)answers[i]; > System.out.println("Answer "+i+" = "+ h +"\n\n"); > } > return (String)resMsg.getAsString(); > } > > public static void main(String args[]) throws Exception{ > doTest(args, null); > } > public static void mainWithService(String args[], String service) throws Exception{ > doTest(args, service); > } > } > >
Received on Monday, 3 September 2001 07:00:23 UTC