Charles,
The QName looks that was cause I set the
return type as "call.setReturnType(new QName("http://ws.cdyne.com/",
"QuoteData"));"
I got this value from the wsdl file.
This is a publicly hosted service. I am trying to
write the client for that. So I dont have the control over the
service.
Moreover the client generated from the wsdl2java
also looks the same.
I am attaching the wsdl file
Thanks
Sudhir
The trouble with the world is that the stupid are cocksure and the
intelligent are full of doubt. Integrity without knowledge is weak and
useless, and knowledge without integrity is dangerous and dreadful.
----- Original Message -----
Sent: Thursday, June 06, 2002 3:02
PM
Subject: RE: Deserializer exception
I
think you are mixing up WSDL and WSDD. The ".wsdd" file
describes the QName <--> Java type mappings. From the
error you have given, it looks like there is no Java type mapped for the
QName "http://ws.cdyne.com/:QuoteData".
That QName looks a bit odd. Did someone mix up the namespace prefix and
the namespace URI?
Rohit,
This is a publicly hosted service. I have
no control on that.
Thanks
Sudhir
The trouble with the world is that the stupid are cocksure and the
intelligent are full of doubt. Integrity without knowledge is weak and
useless, and knowledge without integrity is dangerous and dreadful.
----- Original Message -----
Sent: Thursday, June 06, 2002 2:48
PM
Subject: RE: Deserializer
exception
Do you specify a type mapping for QuoteData in the Web Service
deployment descriptor?
Sorry for re-posting this. I havent gotten
any replies for this query. I would really appreciate any help on
this
I have written a client for a soap document
based service. When I try this I am getting the following
exception
at
org.apache.axis.message.RPCHandler.onStartChild(RPCHandle r.java:227)
at
org.apache.axis.encoding.DeserializationContextImpl.start Element(DeserializationContextImpl.java:831)
at
org.apache.axis.message.SAX2EventRecorder.replay(SAX2Even tRecorder.java:199)
at
org.apache.axis.message.MessageElement.publishToHandler(M essageElement.java:589)
at
org.apache.axis.message.RPCElement.deserialize(RPCElement .java:224)
at
org.apache.axis.message.RPCElement.getParams(RPCElement.j ava:248)
at
org.apache.axis.client.Call.invoke(Call.java:1701)
at
org.apache.axis.client.Call.invoke(Call.java:1608)
at
org.apache.axis.client.Call.invoke(Call.java:1169)
at
GetQuote.invokeService(GetQuote.java:43)
at GetQuote.main(GetQuote.java:50) org.xml.sax.SAXException:
Deserializing parameter 'GetQuoteResult': could not find
deserializer for type http://ws.cdyne.com/:QuoteData
I have attached the wsdl file as
well..
What could be wrong here?
I have the QuoteData class in the
classpath.
import
org.apache.axis.client.Call; import
org.apache.axis.client.Service; import
javax.xml.rpc.namespace.QName; import
javax.xml.rpc.ParameterMode; import
org.apache.axis.encoding.XMLType; import
com.infolead.servicetester.client.ClientInterface; import
java.math.*; import java.util.*;
public class GetQuote implements
ClientInterface{ private Call call=null; private
Object response;
public GetQuote(){ try
{ String endPoint=null; Class
beansf =
org.apache.axis.encoding.ser.BeanSerializerFactory.class; Class
beandf =
org.apache.axis.encoding.ser.BeanDeserializerFactory.class; Class
arraysf =
org.apache.axis.encoding.ser.ArraySerializerFactory.class; Class
arraydf =
org.apache.axis.encoding.ser.ArrayDeserializerFactory.class; Service
service = new Service(); call = (Call)
service.createCall(); javax.xml.rpc.namespace.QName
qName; qName = new
javax.xml.rpc.namespace.QName("http://ws.cdyne.com/",
"QuoteData"); call.registerTypeMapping(QuoteData
qName, beansf, beandf, true); endPoint = "http://ws.cdyne.com/delayedstockquote/delayedstockquote.asmx"; call.setUseSOAPAction(true); call.setTargetEndpointAddress(
new java.net.URL(endPoint)
); call.setOperationStyle("wrapped"); call.setSOAPActionURI("http://ws.cdyne.com/GetQuote"); call.setOperationName(new
javax.xml.rpc.namespace.QName("http://ws.cdyne.com/",
"GetQuote")); call.setEncodingStyle(null); java.lang.String
LicenseKey; call.addParameter("LicenseKey", new
QName("http://www.w3.org/2001/XMLSchema",
"java.lang.String"), java.lang.String.class,
ParameterMode.IN); java.lang.String
StockSymbol; call.addParameter("StockSymbol", new
QName("http://www.w3.org/2001/XMLSchema",
"java.lang.String"), java.lang.String.class,
ParameterMode.IN); call.setReturnType(new QName("http://ws.cdyne.com/", "QuoteData"),
QuoteData.class); } catch (Exception ex)
{ ex.printStackTrace(); } } public
Object invokeService(Object[] args) throws
Exception{ Object returnValue =
call.invoke(args); return
returnValue; }
public static void main(String[]
args){ try{ GetQuote sa = new
GetQuote(); QuoteData b = (QuoteData)sa.invokeService(new
Object[] {"0",
"SUNW"}); System.out.println(b); }catch(Exception
e){ e.printStackTrace(); } } }
The trouble with the world is that the
stupid are cocksure and the intelligent are full of doubt. Integrity
without knowledge is weak and useless, and knowledge without integrity
is dangerous and
dreadful.
This message may contain privileged and/or
confidential information. If you have received this e-mail in error or are not
the intended recipient, you may not use, copy, disseminate or distribute it;
do not open any attachments, delete it immediately from your system and notify
the sender promptly by e-mail that you have done so. Thank
you.
|