Hmm.. I'm wondering if the WSDL checking in the Axis org.apache.axis.client.Service initService(...) method is becoming too strict...
Given the perfectly valid schema (taken from one of IBM's Web Services Toolkit demos), I'm getting an error [2]. The schema is referenced from a WSDL file used to initialize a Service object. In one test, I modified the schema to include an <import namespace=" http://www.w3.org/2000/09/xmldsig#" /> to see if that would clear up the problem and it does not. IMHO, Axis should not die if it cannot find a schema definition for a referenced type that is not part of the targetNamespace. If Axis cannot find the definition for the referenced type, then it should treat it as a generic MessageElement without explicit type information. [1] == AriesTypes.xsd [2] == err.out.txt (error output) - James Snell IBM Emerging Technologies [EMAIL PROTECTED] (559) 587-1233 (office) (700) 544-9035 (t/l) Programming Web Services With SOAP O'Reilly & Associates, ISBN 0596000952 Have I not commanded you? Be strong and courageous. Do not be terrified, do not be discouraged, for the Lord your God will be with you whereever you go. - Joshua 1:9
AriesTypes.xsd
Description: Binary data
javax.xml.rpc.ServiceException: Error processing WSDL document: java.io.IOException: Error: Cannot find referenced type '{http://www.w3.org/2000/09/xmldsig#}X509DataType' for type '{http://com.ibm.aries/ariesTypes}X509DigitalCertificate' at org.apache.axis.client.Service.initService(Service.java:290) at org.apache.axis.client.Service.<init>(Service.java:198) at aries.pcmart.PortalServlet.sendOrder(PortalServlet.java:287) at aries.pcmart.PortalServlet.processRequest(PortalServlet.java:243) at aries.pcmart.PortalServlet.doPost(PortalServlet.java:83) at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.ibm.servlet.engine.webapp.StrictServletInstance.doService(ServletManager.java:827) at com.ibm.servlet.engine.webapp.StrictLifecycleServlet._service(StrictLifecycleServlet.java:167) at com.ibm.servlet.engine.webapp.IdleServletState.service(StrictLifecycleServlet.java:297) at com.ibm.servlet.engine.webapp.StrictLifecycleServlet.service(StrictLifecycleServlet.java:110) at com.ibm.servlet.engine.webapp.ServletInstance.service(ServletManager.java:472) at com.ibm.servlet.engine.webapp.ValidServletReferenceState.dispatch(ServletManager.java:1012) at com.ibm.servlet.engine.webapp.ServletInstanceReference.dispatch(ServletManager.java:913) at com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.handleWebAppDispatch(Unknown Source) at com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.dispatch(Unknown Source) at com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.forward(Unknown Source) at com.ibm.servlet.engine.srt.WebAppInvoker.doForward(WebAppInvoker.java:91) at com.ibm.servlet.engine.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.java:184) at com.ibm.servlet.engine.invocation.CachedInvocation.handleInvocation(CachedInvocation.java:67) at com.ibm.servlet.engine.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java:122) at com.ibm.servlet.engine.oselistener.OSEListenerDispatcher.service(OSEListener.java:315) at com.ibm.servlet.engine.http11.HttpConnection.handleRequest(HttpConnection.java:60) at com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:323) at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:252) at com.ibm.ws.util.CachedThread.run(ThreadPool.java:122)