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 Cédric Chabanois <CC...@cognicase.fr> on 2002/10/18 16:30:01 UTC

Axis with ejb

Hi,

I tried to deploy an EJB as a web service using Axis 1.0 & Jboss (I am not
using JBoss.net)

I deployed axis on Jboss. No problem. I deployed my EJB on JBoss. No
problem. 

Note :
I added an ejb-ref in axis/WEB-INF/web.xml. I also configured all jboss
specific xml files.

I used the wsdd to deploy the ejb with axis. No errors.
It also appears on http://localhost:8080/axis/services but with more methods
than expected.
Methods remove, getEJBHome, getHandle, getPrimaryKey, isIdentical are also
present.

Here is the intersting part from my wsdd file :
  <service name="TEST1" provider="java:EJB">
    <parameter name="allowedMethods" value="*" />
    <parameter name="wsdlPortType" value="TEST1"/>
    <parameter name="className"
value="fr.cognicase.webservices.TEST1.TEST1"/>
    <parameter name="wsdlTargetNamespace" value="http://soapNcl/TEST1/"/>
    <parameter name="scope" value="request"/>
    <parameter name="beanJndiName" value="java:comp/env/ejb/TEST1"/>
    <parameter name="homeInterfaceName"
value="fr.cognicase.webservices.TEST1.TEST1Home"/>
    <parameter name="remoteInterfaceName"
value="fr.cognicase.webservices.TEST1.TEST1"/>

I don't know if className is still necessary but I tried with and without
with same results.

When I click on http://localhost:8080/axis/services/TEST1?wsdl to get the
wsdl, I get the following error 
:
"
Fault - WSDLException: faultCode=OTHER_ERROR: Can't find prefix for
'http://www.w3.org/1999/XMLSchema'. Namespace prefixes must be set on the
Definition object using the addNamespace(...) method.:  
AxisFault
 faultCode: {http://xml.apache.org/axis/}Server.userException
 faultString: WSDLException: faultCode=OTHER_ERROR: Can't find prefix for
'http://www.w3.org/1999/XMLSchema'. Namespace prefixes must be set on the
Definition object using the addNamespace(...) method.: 
 faultActor: null
 faultDetail: 
	stackTrace: WSDLException: faultCode=OTHER_ERROR: Can't find prefix
for 'http://www.w3.org/1999/XMLSchema'. 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:236)
	at
org.apache.axis.providers.java.JavaProvider.generateWSDL(JavaProvider.java:4
18)
[...]
"

Have I done something wrong ?

Thanks,

Cédric Chabanois