You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Schwarz, Philip" <Ph...@LibertyMutual.com> on 2004/01/20 18:59:44 UTC

WSDD for Attachments sample does not produce valid WSDL

When I try to browse the WSDL for the Attachments services, I get
exceptions on the server.
Best I can tell, there are qnames or maybe type definitions or other
missing parts that never get added to the wsdl4j javax.wsdl.Definition
object from which the WSDL is emitted.

For the EchoAttachmentsService I get:
                                 WSDLException: faultCode=OTHER_ERROR:
Can't find prefix for 'EchoAttachmentsService'. Namespace prefixes must
be set on the Definition object using the addNamespace(...) method.: 
	at com.ibm.wsdl.util.xml.DOMUtils.getPrefix(Unknown Source)
	at com.ibm.wsdl.util.xml.DOMUtils.getQualifiedValue(Unknown
Source)
	at
com.ibm.wsdl.util.xml.DOMUtils.printQualifiedAttribute(Unknown Source)
	at com.ibm.wsdl.xml.WSDLWriterImpl.printParts(Unknown Source)
	at com.ibm.wsdl.xml.WSDLWriterImpl.printMessages(Unknown Source)
	at com.ibm.wsdl.xml.WSDLWriterImpl.printDefinition(Unknown
Source)
	at com.ibm.wsdl.xml.WSDLWriterImpl.writeWSDL(Unknown Source)
	at com.ibm.wsdl.xml.WSDLWriterImpl.getDocument(Unknown Source)
	at org.apache.axis.wsdl.fromJava.Emitter.emit(Emitter.java:267)
	at
org.apache.axis.providers.java.JavaProvider.generateWSDL(JavaProvider.ja
va:494)
	at
org.apache.axis.strategies.WSDLGenStrategy.visit(WSDLGenStrategy.java:72
)
	at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:150)
	at
org.apache.axis.SimpleChain.generateWSDL(SimpleChain.java:137)
	at
org.apache.axis.handlers.soap.SOAPService.generateWSDL(SOAPService.java:
375)
	at
org.apache.axis.server.AxisServer.generateWSDL(AxisServer.java:499)
	at
org.apache.axis.transport.http.AxisServlet.processWsdlRequest(AxisServle
t.java:484)
	at
org.apache.axis.transport.http.AxisServlet.doGet(AxisServlet.java:285)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
	at
org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.j
ava:339)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at
com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService(StrictSe
rvletInstance.java:110)
	at
com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._service(StrictLi
fecycleServlet.java:174)
	at
com.ibm.ws.webcontainer.servlet.IdleServletState.service(StrictLifecycle
Servlet.java:313)
	at
com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service(StrictLif
ecycleServlet.java:116)
	at
com.ibm.ws.webcontainer.servlet.ServletInstance.service(ServletInstance.
java:283)
	at
com.ibm.ws.webcontainer.servlet.ValidServletReferenceState.dispatch(Vali
dServletReferenceState.java:42)
	at
com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch(Servle
tInstanceReference.java:40)
	at
com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppDispa
tch(WebAppRequestDispatcher.java:948)
	at
com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRe
questDispatcher.java:530)
	at
com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppReq
uestDispatcher.java:176)
	at
com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java:7
9)
	at
com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook(WebAppInv
oker.java:201)
	at
com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvocati
on(CachedInvocation.java:71)
	at
com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(Servle
tRequestProcessor.java:182)
	at
com.ibm.ws.webcontainer.oselistener.OSEListenerDispatcher.service(OSELis
tener.java:334)
	at
com.ibm.ws.webcontainer.http.HttpConnection.handleRequest(HttpConnection
.java:56)
	at
com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:
610)
	at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:431)
	at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:593)

For the attachmentsTestRef service, I get:
Attempted to write schema for bad QName (no namespace) : fault
	at
org.apache.axis.wsdl.fromJava.Types.writeSchemaElement(Types.java:656)
	at
org.apache.axis.wsdl.fromJava.Emitter.writePartToMessage(Emitter.java:13
68)
	at
org.apache.axis.wsdl.fromJava.Emitter.writeFaultMessage(Emitter.java:129
0)
	at
org.apache.axis.wsdl.fromJava.Emitter.writeMessages(Emitter.java:909)
	at
org.apache.axis.wsdl.fromJava.Emitter.writePortType(Emitter.java:848)
	at
org.apache.axis.wsdl.fromJava.Emitter.getWSDL(Emitter.java:383)
	at org.apache.axis.wsdl.fromJava.Emitter.emit(Emitter.java:262)
	at
org.apache.axis.providers.java.JavaProvider.generateWSDL(JavaProvider.ja
va:494)
	at
org.apache.axis.strategies.WSDLGenStrategy.visit(WSDLGenStrategy.java:72
)
	at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:150)
	at
org.apache.axis.SimpleChain.generateWSDL(SimpleChain.java:137)
	at
org.apache.axis.handlers.soap.SOAPService.generateWSDL(SOAPService.java:
375)
	at
org.apache.axis.server.AxisServer.generateWSDL(AxisServer.java:499)
	at
org.apache.axis.transport.http.AxisServlet.processWsdlRequest(AxisServle
t.java:484)
	at
org.apache.axis.transport.http.AxisServlet.doGet(AxisServlet.java:285)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
	at
org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.j
ava:339)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at
com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService(StrictSe
rvletInstance.java:110)
	at
com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._service(StrictLi
fecycleServlet.java:174)
	at
com.ibm.ws.webcontainer.servlet.IdleServletState.service(StrictLifecycle
Servlet.java:313)
	at
com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service(StrictLif
ecycleServlet.java:116)
	at
com.ibm.ws.webcontainer.servlet.ServletInstance.service(ServletInstance.
java:283)
	at
com.ibm.ws.webcontainer.servlet.ValidServletReferenceState.dispatch(Vali
dServletReferenceState.java:42)
	at
com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch(Servle
tInstanceReference.java:40)
	at
com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppDispa
tch(WebAppRequestDispatcher.java:948)
	at
com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRe
questDispatcher.java:530)
	at
com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppReq
uestDispatcher.java:176)
	at
com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java:7
9)
	at
com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook(WebAppInv
oker.java:201)
	at
com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvocati
on(CachedInvocation.java:71)
	at
com.ibm.ws.webcontainer.cache.invocation.CacheableInvocationContext.invo
ke(CacheableInvocationContext.java:114)
	at
com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(Servle
tRequestProcessor.java:186)
	at
com.ibm.ws.webcontainer.oselistener.OSEListenerDispatcher.service(OSELis
tener.java:334)
	at
com.ibm.ws.webcontainer.http.HttpConnection.handleRequest(HttpConnection
.java:56)
	at
com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:
610)
	at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:435)
	at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:593)

Any idea what is wrong?  Are there definitions missing from the WSDD
that need to be there to generate WSDL, but don't need to be there to
actually call the services successfully?

I would like to implement an RPC-style web service that will return a
result with an attachment, and would like to understand what has to be
there in the WSDD both in order to successfully call the service, and to
generate WSDL.

Any help would be appreciated!
Please follow up via e-mail as well as on the list.
Thanks!

Phil Schwarz
Commercial Markets I/S
Liberty Mutual Insurance Group
Portsmouth, NH, USA
philip.schwarz@libertymutual.com