You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Sascha Kulawik <sa...@kulawik.de> on 2002/11/22 18:44:13 UTC

Java2WSDL: Can't find prefix for 'http://www.w3.org/1999/XMLSchema'

Hello,

Here is my Problem:
I will use Axis for deploying Stateless Session Beans. 
Following my WSDD:

<deployment name="CMS.net" targetNameSpace="http://www.juwimm.de/cms"
xmlns="http://xml.apache.org/axis/wsdd/"
xmlns:jmx="http://net.jboss.org/jmx"
xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
	<ejb-ref>
		<ejb-ref-name>cmr.ContentSession</ejb-ref-name>
		<ejb-link>cmr.ContentSession</ejb-link>
	</ejb-ref>
	<service name="ContentSession" provider="java:EJB">
		<parameter name="beanJndiName"
value="java:cmr.ContentSession"/>
		<parameter name="allowedMethods" value="*"/>
		<parameter name="homeInterfaceName"
value="de.juwimm.cms.interfaces.ContentSessionHome"/>
		<parameter name="remoteInterfaceName"
value="de.juwimm.cms.interfaces.ContentSession"/>
	</service>
</deployment>

I'm using Jetty inside Jboss 3.2.0beta with axis deployed as WAR instead
of using JBOSS.NET.
With http://192.168.2.35:8080/axis/servlet/AxisServlet I can see all of
the Methods that are posted to the remote Interface.

But if I want to call
http://192.168.2.35:8080/axis/services/ContentSession?wsdl I will get
the Message at the end.
I've tested with Axis 1.0 final and with the Nightly Build from
11/22/2002. This one has worked in JBOSS.NET. 

WSDLException: faultCode=OTHER_ERROR: Can't find prefix for
'http://www.w3.org/1
. Namespace prefixes must be set on the Definition object using th
e addNamespace(...) method.:
        at org.apache.axis.AxisFault.makeFault(AxisFault.java:120)
        at
org.apache.axis.providers.java.JavaProvider.generateWSDL(JavaProvider
.java:426)
        at
org.apache.axis.strategies.WSDLGenStrategy.visit(WSDLGenStrategy.java
:72)
        at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:156)
        at
org.apache.axis.SimpleChain.generateWSDL(SimpleChain.java:143)
        at
org.apache.axis.handlers.soap.SOAPService.generateWSDL(SOAPService.ja
va:355)
        at
org.apache.axis.server.AxisServer.generateWSDL(AxisServer.java:490)
        at
org.apache.axis.transport.http.AxisServlet.processWsdlRequest(AxisSer
vlet.java:428)
        at
org.apache.axis.transport.http.AxisServlet.doGet(AxisServlet.java:280
)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
        at
org.apache.axis.transport.http.AxisServletBase.service(AxisServletBas
e.java:335)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:366
)
        at
org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicati
onHandler.java:293)
        at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:5
72)
        at org.mortbay.http.HttpContext.handle(HttpContext.java:1700)
        at
org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplication
Context.java:554)
        at org.mortbay.http.HttpContext.handle(HttpContext.java:1650)
        at org.mortbay.http.HttpServer.service(HttpServer.java:894)
        at org.jboss.jetty.Jetty.service(Jetty.java:497)
        at
org.mortbay.http.HttpConnection.service(HttpConnection.java:816)
        at
org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:966)
        at
org.mortbay.http.HttpConnection.handle(HttpConnection.java:833)
        at
org.mortbay.http.SocketListener.handleConnection(SocketListener.java:
204)
        at
org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:289)
        at
org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:504)
Caused by: WSDLException: faultCode=OTHER_ERROR: Can't find prefix for
'http://w
ww.w3.org/1999/XMLSchema'. Namespace prefixes must be set on the
Definition obje
ct 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:236)
        at
org.apache.axis.providers.java.JavaProvider.generateWSDL(JavaProvider
.java:418)
        ... 24 more


Another Bean returns this Message (with aquivalent configuration):

18:30:52,862 WARN  [jbossweb] WARNING: Error for
/axis/services/ViewSession?wsdl
java.lang.Error: PropertyDescriptor: internal error while merging PDs:
type mism
atch between read and write methods
        at
java.beans.PropertyDescriptor.<init>(PropertyDescriptor.java:343)
        at
java.beans.Introspector.processPropertyDescriptors(Introspector.java:
626)
        at
java.beans.Introspector.getTargetPropertyInfo(Introspector.java:549)
        at java.beans.Introspector.getBeanInfo(Introspector.java:372)
        at java.beans.Introspector.getBeanInfo(Introspector.java:144)
        at org.apache.axis.utils.BeanUtils$1.run(BeanUtils.java:126)
        at java.security.AccessController.doPrivileged(Native Method)
        at
org.apache.axis.utils.BeanUtils.getPropertyDescriptors(BeanUtils.java
:113)
        at org.apache.axis.utils.BeanUtils.getPd(BeanUtils.java:103)
        at
org.apache.axis.encoding.ser.BeanSerializerFactory.<init>(BeanSeriali
zerFactory.java:100)
        at org.apache.axis.wsdl.fromJava.Types.writeType(Types.java:639)
        at
org.apache.axis.wsdl.fromJava.Types.writeTypeForPart(Types.java:271)
        at
org.apache.axis.wsdl.fromJava.Emitter.writePartToMessage(Emitter.java
:1088)
        at
org.apache.axis.wsdl.fromJava.Emitter.writeResponseMessage(Emitter.ja
va:979)
        at
org.apache.axis.wsdl.fromJava.Emitter.writeMessages(Emitter.java:785)

        at
org.apache.axis.wsdl.fromJava.Emitter.writePortType(Emitter.java:742)

        at
org.apache.axis.wsdl.fromJava.Emitter.getWSDL(Emitter.java:333)
        at org.apache.axis.wsdl.fromJava.Emitter.emit(Emitter.java:235)
        at
org.apache.axis.providers.java.JavaProvider.generateWSDL(JavaProvider
.java:418)
        at
org.apache.axis.strategies.WSDLGenStrategy.visit(WSDLGenStrategy.java
:72)
        at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:156)
        at
org.apache.axis.SimpleChain.generateWSDL(SimpleChain.java:143)
        at
org.apache.axis.handlers.soap.SOAPService.generateWSDL(SOAPService.ja
va:355)
        at
org.apache.axis.server.AxisServer.generateWSDL(AxisServer.java:490)
        at
org.apache.axis.transport.http.AxisServlet.processWsdlRequest(AxisSer
vlet.java:428)
        at
org.apache.axis.transport.http.AxisServlet.doGet(AxisServlet.java:280
)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
        at
org.apache.axis.transport.http.AxisServletBase.service(AxisServletBas
e.java:335)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:366
)
        at
org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicati
onHandler.java:293)
        at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:5
72)
        at org.mortbay.http.HttpContext.handle(HttpContext.java:1700)
        at
org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplication
Context.java:554)
        at org.mortbay.http.HttpContext.handle(HttpContext.java:1650)
        at org.mortbay.http.HttpServer.service(HttpServer.java:894)
        at org.jboss.jetty.Jetty.service(Jetty.java:497)
        at
org.mortbay.http.HttpConnection.service(HttpConnection.java:816)
        at
org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:966)
        at
org.mortbay.http.HttpConnection.handle(HttpConnection.java:833)
        at
org.mortbay.http.SocketListener.handleConnection(SocketListener.java:
204)
        at
org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:289)
        at
org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:504)

I'm returning in this Bean some DAO's, generated by Xdoclet. If I remove
all methods that posting this DAO's, It's the same as above (or would
work with JBOSS.NET)
Also one question:
To serialize the DAO's, is it correct to use following syntax ?
<beanMapping qname="ns:ViewDocumentDao" xmlns:ns="urn:dao.cms.juwimm.de"
languageSpecificType="java:de.juwimm.cms.dao.ViewDocumentDao"/>

Regards,

A frustrated Sascha