File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes Web Services and the fly likes Axis Complex Type Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Murach's Java Servlets and JSP this week in the Servlets forum!
JavaRanch » Java Forums » Java » Web Services
Bookmark "Axis Complex Type" Watch "Axis Complex Type" New topic
Author

Axis Complex Type

Suman Majumder
Greenhorn

Joined: Mar 08, 2004
Posts: 5
Can anyone help me with this ??
Retrieving document at 'http://localhost:9080/WebServiceTest/wsdl/com/xyz/classes/GetDataFromDB.wsdl#GetDataFromDB'.

Axis parameters gathered:
TargetNamespace = http://classes.xyz.com
Service Name = GetDataFromDB
Port Name = {http://classes.xyz.com}GetDataFromDBService
Operation Name = getData
Input Parameters = BENTCD

Invoking service >> GetDataFromDB <<...
Error invoking service : org.xml.sax.SAXException: No deserializer for {http://entity.xyz.com}Description

I am trying to invoke a WEBService which has complex types in WSAD5.1 using Axis runtime
Ulf Dittmer
Marshal

Joined: Mar 22, 2005
Posts: 41035
    
  43
Do you have a serializer/deserializer for the "Description" class, and did you declare it in the WSDD file or in your code? Axis can't just transport any Java object, it needs to know how to convert it to something cross-platform compatible. Even if you can use the BeanSerializer, that still needs to be registered with the SOAP code.


Ping & DNS - my free Android networking tools app
Suman Majumder
Greenhorn

Joined: Mar 08, 2004
Posts: 5
My wsdd file looks like ...

<?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">

<!-- Services from GetDataFromDBService WSDL service -->

<service name="GetDataFromDB" provider="java:RPC">
<parameter name="wsdlTargetNamespace" value="http://classes.xyz.com"/>
<parameter name="wsdlServiceElement" value="GetDataFromDBService"/>
<parameter name="wsdlServicePort" value="GetDataFromDB"/>
<parameter name="className" value="com.xyz.classes.GetDataFromDB"/>
<parameter name="wsdlPortType" value="GetDataFromDB"/>
<operation xmlns perNS="http://classes.xyz.com" xmlns:rtns="http://www.w3.org/2001/XMLSchema" name="getData" qname="operNS:getData" returnQName="getDataReturn" returnType="rtns:anyType">
<parameter xmlns:tns="http://www.w3.org/2001/XMLSchema" name="param" type="tns:string"/>
</operation>
<operation xmlns perNS="http://classes.xyz.com" xmlns:rtns="http://entity.xyz.com" name="getEntity" qname="operNS:getEntity" returnQName="getEntityReturn" returnType="rtns escription">
</operation>
<parameter name="allowedMethods" value="getData getEntity"/>

<typeMapping xmlns:ns="http://entity.xyz.com" qname="ns escription" type="java:com.xyz.entity.Description" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</service>
</deployment>


Do I have do do anything special to make my Web Service use the wsdd file while deployment. I converted the Java bean into a Web Service and the wsdd file was generated.Then I made the web service run on server and deployed it in a UDDI.....
 
It is sorta covered in the JavaRanch Style Guide.
 
subject: Axis Complex Type
 
Similar Threads
Parameter names in wsdl - axis2
AXIS-JAVA2WSDL ClassNotFoundException
SOAP messaging !
Axis and JBOSS
Wrong element appearing in soap message