• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Axis Complex Type

 
Greenhorn
Posts: 5
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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
 
Rancher
Posts: 43081
77
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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.
 
Suman Majumder
Greenhorn
Posts: 5
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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.....
 
With a little knowledge, a cast iron skillet is non-stick and lasts a lifetime.
reply
    Bookmark Topic Watch Topic
  • New Topic