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 lio axis <li...@gmail.com> on 2005/03/30 16:02:50 UTC

newbie to wsdl document styled

Hello world,

I'm trying to generate a proper wsdl from a wsdd that SHOULD be 
like this :

<wsdl:operation name="getConfigurationRelease">
      <wsdlsoap:operation
soapAction="http://ipcfm/GetConfigurationV2/GetConfigurationRelease"
style="document"/>
      <wsdl:input>
        <wsdlsoap:body namespace="http://ipcfm/GetConfigurationV2"
use="literal"/>
      </wsdl:input>
      <wsdl:output>
        <wsdlsoap:body namespace="http://ipcfm/GetConfigurationV2"
use="literal"/>
      </wsdl:output>
    </wsdl:operation>

So i made a wsdd like this :

<namespace>http://ipcfm/GetConfigurationV2</namespace>  
		<parameter name="beanJndiName" value="GetConfigurationBean"/>
		<parameter name="homeInterfaceName"
value="com.equant.refce.ipcfm.bouchon.GetConfigurationHome"/>
		<parameter name="remoteInterfaceName"
value="com.equant.refce.ipcfm.bouchon.GetConfiguration"/>
		<parameter name="allowedMethods" value="getConfiguration,
getConfigurationVersion, getConfigurationRelease"/>
		<operation name="getConfiguration">
			<parameter name="GetConfRequest" mode="IN" minOccur="1" nillable="false"/>
		</operation>
.../...
with a mapping type like this :

<typeMapping qname="ns:GetConfRequest"
xmlns:ns="http://ipcfm/GetConfigurationV2"
				languageSpecificType="java:com.equant.refce.ipcfm.bouchon.getConfiguration._GetConfRequest"
				serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
				deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"/>

nothing tremedious, isn't it.

But when i invoke the service only to see the wsdl (http://blahblah?wsdl)
axis try to explain things to me in this terms :

Attempted to write schema for bad QName (no namespace) : GetConfRequest
	at org.apache.axis.wsdl.fromJava.Types.writeSchemaElement(Types.java:656)
	at org.apache.axis.wsdl.fromJava.Emitter.writePartToMessage(Emitter.java:1368)
.../...


Maybe anybody could help to translate this?
Thx,

Re: newbie to wsdl document styled

Posted by lio axis <li...@gmail.com>.
ok here is the whole piece :

<?xml version="1.0" encoding="UTF-8"?>

<deployment xmlns="http://xml.apache.org/axis/wsdd/"
    xmlns:java="http://xml.apache.org/axis/wsdd/providers/java" >    

	<service name="GetConfigurationV2Service" provider="java:EJB"
style="document" use="literal">
		<namespace>http://ipcfm/GetConfigurationV2</namespace>  
		<parameter name="beanJndiName" value="GetConfigurationBean"/>
		<parameter name="homeInterfaceName"
value="com.equant.refce.ipcfm.bouchon.GetConfigurationHome"/>
		<parameter name="remoteInterfaceName"
value="com.equant.refce.ipcfm.bouchon.GetConfiguration"/>
		<parameter name="allowedMethods" value="getConfiguration,
getConfigurationVersion, getConfigurationRelease"/>
		<operation name="getConfiguration">
			<parameter name="GetConfRequest" mode="IN" minOccur="1" nillable="false"/>
		</operation>
			</service>


	<typeMapping qname="ns:GetConfRequest" 
				languageSpecificType="com.equant.refce.ipcfm.bouchon.getConfiguration._GetConfRequest"
				serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
				deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"/>
</deployment>

this is my last try. it doesn't work either...
it tells me :

10:03:47,905 DEBUG [enterprise] Mapping Exception to AxisFault
java.lang.reflect.InvocationTargetException 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
.../..
Caused by: java.lang.NullPointerException
	at org.apache.axis.deployment.wsdd.WSDDDeployment.deployMapping(WSDDDeployment.java:357)

In fact, it don't know where i should declare the java namespace
you're talking about.

I also made a try with
languageSpecificType="java:com.equant.refce.ipcfm.bouchon.getConfiguration._GetConfRequest"
and it provokes this kind of failure :

10:29:04,374 DEBUG [ProjectResourceBundle]
org.apache.axis.i18n.resource::handleGetObject(badXmlType)
10:29:04,390 DEBUG [ConfigurationException] Exception: 
javax.xml.rpc.JAXRPCException: Null qualified name specified.
	at org.apache.axis.encoding.TypeMappingImpl.internalRegister(TypeMappingImpl.java:273)

The last possibility in my level of comprehension was to declare my
mapping type this way :

<typeMapping qname="ns:GetConfRequest"
xmlns:ns="http://ipcfm/GetConfigurationV2"
				languageSpecificType="com.equant.refce.ipcfm.bouchon.getConfiguration._GetConfRequest"
				serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
				deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"/>

With no more success :

10:35:21,780 ERROR [WSDDDeployment] Unable to deploy typemapping:
{http://ipcfm/GetConfigurationV2}GetConfRequest
java.lang.ClassNotFoundException: Found languageSpecificType namespace
'', expected 'http://xml.apache.org/axis/wsdd/providers/java'
	at org.apache.axis.deployment.wsdd.WSDDTypeMapping.getLanguageSpecificType(WSDDTypeMapping.java:213)
.../...

The only thing i'm sure is don't understand anything.
What's wrong and where?

Thanks for your help,



On Wed, 30 Mar 2005 10:21:28 -0500, Anne Thomas Manes <at...@gmail.com> wrote:
> Can you please post the entire WSDD file?
> Also, did you declare the java namespace?
> Since you are using languageSpecificType, you should not use the java
> prefix. so your typeMapping should contain either this:
> 
> languageSpecificType="com.equant.refce.ipcfm.bouchon.getConfiguration._GetConfRequest"
> 
> or this:
> 
> type="java:com.equant.refce.ipcfm.bouchon.getConfiguration._GetConfRequest"
> 
> But, if you go with the second version, you must declare the java namespace.
> 
> Anne
> 
> ps - in a valid document/literal WSDL, you must not include the
> namespace attribute in the <wsdlsoap:body> descriptions.That attribute
> is used only for RPC style services.
> 
> 
> On Wed, 30 Mar 2005 16:02:50 +0200, lio axis <li...@gmail.com> wrote:
> > Hello world,
> >
> > I'm trying to generate a proper wsdl from a wsdd that SHOULD be
> > like this :
> >
> > <wsdl:operation name="getConfigurationRelease">
> >       <wsdlsoap:operation
> > soapAction="http://ipcfm/GetConfigurationV2/GetConfigurationRelease"
> > style="document"/>
> >       <wsdl:input>
> >         <wsdlsoap:body namespace="http://ipcfm/GetConfigurationV2"
> > use="literal"/>
> >       </wsdl:input>
> >       <wsdl:output>
> >         <wsdlsoap:body namespace="http://ipcfm/GetConfigurationV2"
> > use="literal"/>
> >       </wsdl:output>
> >     </wsdl:operation>
> >
> > So i made a wsdd like this :
> >
> > <namespace>http://ipcfm/GetConfigurationV2</namespace>
> >                 <parameter name="beanJndiName" value="GetConfigurationBean"/>
> >                 <parameter name="homeInterfaceName"
> > value="com.equant.refce.ipcfm.bouchon.GetConfigurationHome"/>
> >                 <parameter name="remoteInterfaceName"
> > value="com.equant.refce.ipcfm.bouchon.GetConfiguration"/>
> >                 <parameter name="allowedMethods" value="getConfiguration,
> > getConfigurationVersion, getConfigurationRelease"/>
> >                 <operation name="getConfiguration">
> >                         <parameter name="GetConfRequest" mode="IN" minOccur="1" nillable="false"/>
> >                 </operation>
> > .../...
> > with a mapping type like this :
> >
> > <typeMapping qname="ns:GetConfRequest"
> > xmlns:ns="http://ipcfm/GetConfigurationV2"
> >                                 languageSpecificType="java:com.equant.refce.ipcfm.bouchon.getConfiguration._GetConfRequest"
> >                                 serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
> >                                 deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"/>
> >
> > nothing tremedious, isn't it.
> >
> > But when i invoke the service only to see the wsdl (http://blahblah?wsdl)
> > axis try to explain things to me in this terms :
> >
> > Attempted to write schema for bad QName (no namespace) : GetConfRequest
> >         at org.apache.axis.wsdl.fromJava.Types.writeSchemaElement(Types.java:656)
> >         at org.apache.axis.wsdl.fromJava.Emitter.writePartToMessage(Emitter.java:1368)
> > .../...
> >
> > Maybe anybody could help to translate this?
> > Thx,
> >
>

Re: newbie to wsdl document styled

Posted by Anne Thomas Manes <at...@gmail.com>.
Can you please post the entire WSDD file?
Also, did you declare the java namespace?
Since you are using languageSpecificType, you should not use the java
prefix. so your typeMapping should contain either this:

languageSpecificType="com.equant.refce.ipcfm.bouchon.getConfiguration._GetConfRequest"

or this:

type="java:com.equant.refce.ipcfm.bouchon.getConfiguration._GetConfRequest"

But, if you go with the second version, you must declare the java namespace.

Anne

ps - in a valid document/literal WSDL, you must not include the
namespace attribute in the <wsdlsoap:body> descriptions.That attribute
is used only for RPC style services.



On Wed, 30 Mar 2005 16:02:50 +0200, lio axis <li...@gmail.com> wrote:
> Hello world,
> 
> I'm trying to generate a proper wsdl from a wsdd that SHOULD be
> like this :
> 
> <wsdl:operation name="getConfigurationRelease">
>       <wsdlsoap:operation
> soapAction="http://ipcfm/GetConfigurationV2/GetConfigurationRelease"
> style="document"/>
>       <wsdl:input>
>         <wsdlsoap:body namespace="http://ipcfm/GetConfigurationV2"
> use="literal"/>
>       </wsdl:input>
>       <wsdl:output>
>         <wsdlsoap:body namespace="http://ipcfm/GetConfigurationV2"
> use="literal"/>
>       </wsdl:output>
>     </wsdl:operation>
> 
> So i made a wsdd like this :
> 
> <namespace>http://ipcfm/GetConfigurationV2</namespace>
>                 <parameter name="beanJndiName" value="GetConfigurationBean"/>
>                 <parameter name="homeInterfaceName"
> value="com.equant.refce.ipcfm.bouchon.GetConfigurationHome"/>
>                 <parameter name="remoteInterfaceName"
> value="com.equant.refce.ipcfm.bouchon.GetConfiguration"/>
>                 <parameter name="allowedMethods" value="getConfiguration,
> getConfigurationVersion, getConfigurationRelease"/>
>                 <operation name="getConfiguration">
>                         <parameter name="GetConfRequest" mode="IN" minOccur="1" nillable="false"/>
>                 </operation>
> .../...
> with a mapping type like this :
> 
> <typeMapping qname="ns:GetConfRequest"
> xmlns:ns="http://ipcfm/GetConfigurationV2"
>                                 languageSpecificType="java:com.equant.refce.ipcfm.bouchon.getConfiguration._GetConfRequest"
>                                 serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
>                                 deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"/>
> 
> nothing tremedious, isn't it.
> 
> But when i invoke the service only to see the wsdl (http://blahblah?wsdl)
> axis try to explain things to me in this terms :
> 
> Attempted to write schema for bad QName (no namespace) : GetConfRequest
>         at org.apache.axis.wsdl.fromJava.Types.writeSchemaElement(Types.java:656)
>         at org.apache.axis.wsdl.fromJava.Emitter.writePartToMessage(Emitter.java:1368)
> .../...
> 
> Maybe anybody could help to translate this?
> Thx,
>