import javax.xml.rpc.*; import javax.xml.rpc.namespace.*; import javax.xml.rpc.encoding.*; import com.sun.xml.rpc.encoding.*; import com.sun.xml.rpc.wsdl.document.schema.*; import com.sun.xml.rpc.encoding.soap.*; import com.sun.xml.rpc.encoding.simpletype.*; public class MathsDIIClient { private static final String nsXSD="http://www.w3.org/2001/XMLSchema"; private static final String nsSOAPEncoding="http://schemas.xmlsoap.org/soap/encoding/"; private static final String nsWSDLTarget="http://develop.com/maths/simple/arrays/wsdl"; private static final String nsTypesTarget="http://develop.com/maths/simple/arrays/schema"; public static void main(String[] args) { try { ServiceFactory factory = ServiceFactory.newInstance(); QName svc = new QName(nsWSDLTarget, "MathsService"); Service service = factory.createService(svc); Call call = service.createCall(); QName port = new QName(nsWSDLTarget, "MathsIFPort"); call.setPortTypeName(port); call.setTargetEndpointAddress(args[0]); call.setProperty(Call.SOAPACTION_USE_PROPERTY, new Boolean(true)); call.setProperty(Call.SOAPACTION_URI_PROPERTY, ""); System.out.println("Client using DII:"); // You must call one of these methods only (add or add1) as I cannot figure out how to register // two type mappings for the same QName. // Either call this... //QName primitiveDoubleArrayType = addPrimitiveDoubleArraySerializer(service); //System.out.print("Answer 1: "); //double[] ret = (double[])calladd(primitiveDoubleArrayType, call, port); //for (int i=0;i