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 

Reply via email to