axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sascha Kulawik" <sas...@kulawik.de>
Subject RE: Java2WSDL: Can't find prefix for 'http://www.w3.org/1999/XMLSchema'
Date Fri, 22 Nov 2002 19:22:35 GMT
Right,

Ive seen, that I had the JBOSS.NET files in classpath - so I haven't
really used the nightly build axis files.
Currently I have the same problem with another class described
following:

Fault - WSDLException: faultCode=OTHER_ERROR: Can't find prefix for
'http://ejb.javax'. Namespace prefixes must be set on the Definition
object using the addNamespace(...) method.:  
AxisFault
 faultCode:
{http://www.w3.org/2002/06/soap-envelope}Server.userException
 faultSubcode: 
 faultString: WSDLException: faultCode=OTHER_ERROR: Can't find prefix
for 'http://ejb.javax'. Namespace prefixes must be set on the Definition
object using the addNamespace(...) method.: 
 faultActor: null
 faultNode: null
 faultDetail: 
	stackTrace: WSDLException: faultCode=OTHER_ERROR: Can't find
prefix for 'http://ejb.javax'. Namespace prefixes must be set on the
Definition object using the addNamespace(...) method.: 
	at com.ibm.wsdl.util.xml.DOMUtils.getPrefix(Unknown Source)

Because of that I've added these TypeMappings without any effect:
<typeMapping xmlns:ns="http://ejb.javax.others" qname="ns:SessionBean"
type="java:javax.ejb.SessionBean" 
serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<typeMapping xmlns:ns="http://ejb.javax.others"
qname="ns:SessionContext" type="java:javax.ejb.SessionContext" 
serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<typeMapping xmlns:ns="http://ejb.javax.others" qname="ns:EntityContext"
type="java:javax.ejb.EntityContext" 
serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<typeMapping xmlns:ns="http://ejb.javax.others" qname="ns:EJBObject"
type="java:javax.ejb.EJBObject" 
serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<typeMapping xmlns:ns="http://ejb.javax.others" qname="ns:EJBLocalHome"
type="java:javax.ejb.EJBLocalHome" 
serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<typeMapping xmlns:ns="http://ejb.javax.others" qname="ns:EJBContext"
type="java:javax.ejb.EJBContext" 
serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>




> -----Original Message-----
> From: Douglas Bitting [mailto:Douglas.Bitting@agile.com] 
> Sent: Friday, November 22, 2002 6:57 PM
> To: 'axis-user@xml.apache.org'
> Subject: RE: Java2WSDL: Can't find prefix for 
> 'http://www.w3.org/1999/XMLSchema'
> 
> 
> Try a nightly build... this defect was fixed a week or two ago.
> 
> Cheers,
> --Doug
> 
> -----Original Message-----
> From: Sascha Kulawik [mailto:sascha@kulawik.de]
> Sent: Friday, November 22, 2002 9:44 AM
> To: axis-user@xml.apache.org
> Subject: 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
> 
> 


Mime
View raw message