I think I've found a bug in the same vein as XFIRE-828[1].
I believe the same bug applies to rendering elements as well with no
namespace (not just attributes as XFIRE-828 specifies).
Here's a sample stack trace from a JAXB-JAXWS based web service:
org.jdom.IllegalNameException: The name "" is not legal for JDOM/XML
namespaces: Namespace URIs must be non-null and non-empty Strings.
org.jdom.Namespace.getNamespace(Namespace.java:164)
org.codehaus.xfire.util.NamespaceHelper.getUniquePrefix(NamespaceHelper.java:58)
org.codehaus.xfire.wsdl.AbstractWSDL.getNamespacePrefix(AbstractWSDL.java:291)
org.codehaus.xfire.wsdl11.builder.WSDLBuilder.writeParametersSchema(WSDLBuilder.java:644)
org.codehaus.xfire.wsdl11.builder.WSDLBuilder.createDocumentType(WSDLBuilder.java:612)
org.codehaus.xfire.wsdl11.builder.WSDLBuilder.createWrappedInputParts(WSDLBuilder.java:580)
org.codehaus.xfire.wsdl11.builder.WSDLBuilder.createInputMessage(WSDLBuilder.java:371)
org.codehaus.xfire.wsdl11.builder.WSDLBuilder.createAbstractInterface(WSDLBuilder.java:234)
org.codehaus.xfire.wsdl11.builder.WSDLBuilder.write(WSDLBuilder.java:161)
org.codehaus.xfire.wsdl11.builder.WSDLBuilderAdapter.write(WSDLBuilderAdapter.java:40)
org.codehaus.xfire.DefaultXFire.generateWSDL(DefaultXFire.java:104)
org.codehaus.xfire.transport.http.XFireServletController.generateWSDL(XFireServletController.java:377)
org.codehaus.xfire.transport.http.XFireServletController.doService(XFireServletController.java:126)
org.codehaus.xfire.transport.http.XFireServlet.doGet(XFireServlet.java:107)
javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
I ran into this while trying to generate WSDL for a web service
described using JAXB2 and JAX-WS. Web service is similar to the
following
@XmlRootElement(name="my_data")
@XmlType(name="", ...
class MyData
...
@WebService
class WebService
@WebMethod
public void processMyData(MyData d)
...
To alleviate the above exception, all I have to do is add a namespace
to MyData. However, in my particular environment, we are working with
a 3rd party XML definition and hence can't just add a schema.
From the stack trace it looks like the exception comes from
org.codehaus.xfire.util.NamespaceHelper
And it happens when .getUniquePrefix(Element e, String nsURI) is
called with an nsURI of empty string (saw this in the debugger too).
I tried to add this comment to the issue in JIRA, but didn't seem to
have permission to do that. Any chance this is caused by the same
problem in XFIRE-828?
-Mark
[1] http://jira.codehaus.org/browse/XFIRE-828
---------------------------------------------------------------------
To unsubscribe from this list please visit:
http://xircles.codehaus.org/manage_email