Hi Alick,
Thanks for the reply. Below is the code I'm running.
I am returning an instance of a class called PlayerSession from my
web service. How do I specify the return type? Is this call
correct?
call.setReturnType(new QName("PlayerSession"));
I'm getting the error when I run my DII client:
org.xml.sax.SAXException: Deserializing parameter 'getSessionReturn':
could not find deserializer for type {disney.dis}PlayerSession
at
org.apache.axis.message.RPCHandler.onStartChild(RPCHandler.java:277)
at
org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1035)
Here is the "whole" code:
ServiceFactory serviceFactory = ServiceFactory.newInstance();
Service service = new org.apache.axis.client.Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(new java.net.URL(sessionEndpoint));
call.addParameter(new QName("uid"),
new QName("int"),
ParameterMode.IN);
call.addParameter(new QName("productId"),
new QName("string"),
ParameterMode.IN);
call.addParameter(new QName("sessionId"),
new QName("int"),
ParameterMode.IN);
call.addParameter(new QName("context"),
new QName("string"),
ParameterMode.IN);
call.setReturnType(new QName("PlayerSession"));
Integer userID = new Integer(100);
String productID = new String("PP_TTO");
Integer sessionID = new Integer(98765);
String context = new String("Some string with text! ");
Object [] args =
new Object [] {userID, productID, sessionID, context};
QName opName = new QName("getSession");
call.invoke(opName, args);
Many thanks,
Vartan
--- Alick Buckley <[EMAIL PROTECTED]> wrote:
>
> Hi Rhimbo,
>
> I have been setting the return type on the OperationDesc using the
> following
> QNames.
>
> In this example the "com.acme.service.soap.Employee" bean is being
> returned.
>
> new javax.xml.namespace.QName ( "http://soap.service.acme.com",
> "Employee" )
> ) ;
>
> For primitive types
>
> new javax.xml.namespace.QName ( "http://www.w3.org/2001/XMLSchema",
> "int" )
> ) ;
> new javax.xml.namespace.QName ( "http://www.w3.org/2001/XMLSchema",
> "long" )
> ) ;
> new javax.xml.namespace.QName ( "http://www.w3.org/2001/XMLSchema",
> "float"
> ) ) ;
> new javax.xml.namespace.QName ( "http://www.w3.org/2001/XMLSchema",
> "double"
> ) ) ;
> new javax.xml.namespace.QName ( "http://www.w3.org/2001/XMLSchema",
> "boolean" ) ) ;
>
> new javax.xml.namespace.QName ( "http://www.w3.org/2001/XMLSchema",
> "base64Binary" ) ) ;
> new javax.xml.namespace.QName ( "http://www.w3.org/2001/XMLSchema",
> "string"
> ) ) ;
>
>
> -----Original Message-----
> From: Rhimbo [mailto:[EMAIL PROTECTED]
> Sent: Friday, 14 April 2006 3:18 AM
> To: Axis users
> Subject: How to set return type with QName in DII client?
>
>
> Can anyone point me to a _good_ explanation of QName? Specifically,
> I'm having trouble setting the return type for a call to a web
> service client that returns a Java Bean.
>
> A web service end point returns an instance of "Session", which is
> an interface I defined. Actually it returns an instance of
> "PlayerSession", which is a Java Bean that implements the "Session"
> interface.
>
> I'm trying this:
>
> String myEndpoint = "http://localhost:8080/axis/services/....."
>
> Service service = new Service();
> Call call = (Call) service.createCall();
> call.setTargetEndpointAddress(new java.net.URL(myEndpoint));
> call.setOperationName("getSession");
>
> call.addParameter(new QName("uid"),
> new QName("int"),
> ParameterMode.IN);
> Integer i1 = new Integer(100);
> call.setReturnType(new QName("Session")); <--------
>
> call.invoke(new QName("getSession"), new Object [] {i1});
>
> The line at "<---" is giving me trouble. What do I enter here?
>
> The org.apache.axis.client.Call Javadoc for
> setReturnType(QName type)
> says
> type - QName of the return value type.
>
> (not terribly useful).
>
> The Javadoc for
> setReturnType(QName xmlType,
> java.lang.Class javaType)
> says
> xmlType - - QName of the data type of the return value
> javaType - - Java class of the return value
>
> Hmm. What is the QName? What is the "local part" and what is
> the namespace URI?
>
> When I execute my client, I get the following exception:
>
> ; nested exception is:
> org.xml.sax.SAXParseException: Premature end of file.
>
>
> Can anyone point me to some good documentation, something other
> than the W3C "Namespaces in XML" document?
>
>
> Thanks,
>
> V
>
>
>
> __________________________________________________
> Do You Yahoo!?
> Tired of spam? Yahoo! Mail has the best spam protection around
> http://mail.yahoo.com
>
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com