Hi, My Java-Apache Soap client is trying to connect to Microsoft OLAP Server 2000(Provider) using their XML for Analysis (<http://msdn.microsoft.com/library/default.asp?> URL=/library/techart/xmlanalysis.htm).
The Provider is returning the following fault code... //////////////////////////////// Generated fault: Fault Code = XMLAnalysisError.88BA0500 Fault String = Unable to process the request, because the DataSourceInfo property was missing or not correctly specifie d. ///////////////// The required Input (as per Microsoft is).... //////////////REQUEST//////////////// <SOAP-ENV:Envelope xmlns:SOAP- ENV="<http://schemas.xmlsoap.org/soap/envelope/>" xmlns:xsi="<http://www.w3.org/2001/XMLSchema-instance>" xmlns:xsd="<http://www.w3.org/2001/XMLSchema>"> <SOAP-ENV:Body> <Discover xmlns="urn:schemas-microsoft-com:xml-analysis" SOAP- ENV:encodingStyle="<http://schemas.xmlsoap.org/soap/encoding/>"> <RequestType>MDSCHEMA_CUBES</RequestType> <Restrictions> <RestrictionList> <CATALOG_NAME>FoodMart 2000</CATALOG_NAME> </RestrictionList> </Restrictions> <Properties> <PropertyList> <DataSourceInfo>Provider=MSOLAP;Data Source=s152969</DataSourceInfo> <Format>Tabular</Format> <Catalog>FoodMart 2000</Catalog> </PropertyList> </Properties> </Discover> </SOAP-ENV:Body> </SOAP-ENV:Envelope> ///////////////// End Request /////////// The following is my java client code......... /////////////JAVA client code //////////// URL url = new URL ("<http://localhost/xmla/msxisapi.dll>"); SOAPMappingRegistry smr = new SOAPMappingRegistry (); StringDeserializer sd = new StringDeserializer (); smr.mapTypes (Constants.NS_URI_SOAP_ENC, new QName ("", "Result"), null, null, sd); // create the transport and set parameters SOAPHTTPConnection st = new SOAPHTTPConnection(); // build the call. Call call = new Call (); call.setSOAPTransport(st); call.setSOAPMappingRegistry (smr); call.setTargetObjectURI ("urn:schemas-microsoft- com:xml-analysis"); call.setMethodName("Discover"); call.setEncodingStyleURI ("<http://schemas.xmlsoap.org/soap/encoding/>"); Vector params = new Vector(); params.addElement(new Parameter("RequestType", String.class, "MDSCHEMA_CUBES", null)); params.addElement(new Parameter("Restrictions", String.class, "<RestrictionList><CATALOG_NAME>FoodMart 2000</CATALOG_NAME></RestrictionList>", null )); params.addElement(new Parameter("Properties", String.class, "<PropertyList><DataSourceInfo>Data Source=s152969;Provider=msolap;</DataSourceInfo><Catalog>Foodmart 2000</Catalog></PropertyList>", null )); call.setParams(params); Response resp = null; try { resp = call.invoke (url, "urn:schemas-microsoft- com:xml-analysis:Discover"); } catch (SOAPException e) { System.err.println("Caught SOAPException (" + e.getFaultCode () + "): " + e.getMessage ()); return; } //////////////////////End Client Code //////////////// Any help from gurus on this interoperability...? Thanks in advance, Vasu