Hi All, The problem I am experiencing is with accessing web services deployed on JBoss4.0.3 SP1. When I execute the following line of code javax.xml.rpc.Service service = factory.createService(wsdlLocation, serviceName); I get the following error "org.jboss.axis.ConfigurationException: No engine configuration file" The following extract explains the problem and proposes a workaround. However I am not sure howto implement this workaround. The default org.jboss.axis.client.Service constructor will throw this exception. My particular case involves creating a new Service object from within an EJB, but this should occur with any client. Tracing through the code, I discovered that org.jboss.axis.configuration.EngineConfigurationFactoryDefault defines the default filenames for the client configuration as "client-config.wsdd", while the actual file distributed with jboss-ws4ee-client.jar is "axis-client-config.xml". When the Service object is constructed, org.jboss.axis.configuration.FileProvider looks on the classpath for "client-config.wsdd", and of course can't find it. The workaround specified in JBAS-1106 puts a file with the correct name but possibly the wrong configuration information onto the classpath, where FileProvider can find it. This will work for a standalone client, but not for client code within an EJB, since the Axis packages appear to be loaded with a different classloader than that for the EJB. The workaround is to provide the Service constructor with a FileProvider that specifies the correct configuration file: new Service(new FileProvider("META-INF/axis-client-config.xml")) My source code to invoke the web service is as follows // create service factory javax.xml.rpc.ServiceFactory factory = javax.xml.rpc.ServiceFactory.newInstance(); // define targetNameSpace String targetNamespace = "http://www.openkm.org/"; // + "wsdl/net.xmethods.services.stockquote.StockQuote/"; // define qname QName serviceName = new QName(targetNamespace,"OKMAuthService"); // define porname QName portName = new QName(targetNamespace,"OKMAuthPort"); // define operation name QName operationName = new QName("http://localhost:8080/OpenKM/OKMAuth", "login"); //Specify wsdl location java.net.URL wsdlLocation = new java.net.URL("http://localhost:8080/OpenKM/OKMAuth?wsdl"); // create service javax.xml.rpc.Service service = factory.createService(wsdlLocation, serviceName); // create call javax.xml.rpc.Call call = service.createCall(portName, operationName); Thanks in advance Denzil