I think you should be okay, but I am in the process of
migrating from rpc/encoded to wrapped/literal, so I can't
say for sure.
Anand
On Thu, 15 Jul 2004 [EMAIL PROTECTED] wrote:
:
: Can I get away with wrapped/literal for .net compatibilty?
:
: In a message dated 7/15/2004 10:28:41 AM Eastern Standard Time,
: [EMAIL PROTECTED] writes:
:
: James,
:
: I noticed the SOAP response I pasted below when I used an
: interactive tool to send/receive SOAP messages. That tool
: is good for testing, not production. For production, I
: switched to wrapped/literal, and clients targetting that
: get back an array just fine.
:
: wrapped/literal is supposed to be equivalent to document/literal
: (except, of course, for an additional enclosing tag). Would
: it be possible for you to change your server to wrapped/literal?
:
: Anand
:
: On Thu, 15 Jul 2004 [EMAIL PROTECTED] wrote:
:
: : Thank you for your responses,
: :
: : I was wondering if you could tell me exactly what you did to get it ot
: work.
: : Currently an array is is the needed type in my java (yes I use Doc/Lit),
: : however the error occurs anyway.
: :
: : Please help,
: : James
: :
: : In a message dated 7/14/2004 7:00:42 PM Eastern Standard Time,
: : [EMAIL PROTECTED] writes:
: :
: : James,
: :
: : I'll back off from my claim that there's a problem.
: : When I write a class/interface that has a method
: : that returns a string array, the WSDL seems to indicate
: : that the return is a single xsd:string. Even the
: : stubs generated from the WSDL show a return of String.
: : However, when I actually invoke the method, I do get
: : back the array, just in different namespaces:
: :
: : ...
: : <soapenv:Body>
: : <echoArrReturn xmlns="urn:EchoDocLit">vlad</echoArrReturn>
: : <ns1:echoArrReturn xmlns:ns1="urn:EchoDocLit">is</ns1:echoArrReturn>
: : <ns2:echoArrReturn
: xmlns:ns2="urn:EchoDocLit">sanguine</ns2:echoArrReturn>
: : </soapenv:Body>
: : ...
: :
: : Perhaps that's what the spec for doc/lit indicates, but
: : it seems unintuitive to me.
: :
: : I'm moving over to wrapped/literal after this experience;
: : perhaps you could do the same.
: :
: : Anand
: :
: : On Wed, 14 Jul 2004, Anand Natrajan wrote:
: :
: : : Is your web service exposed as a document/literal?
: : : If yes, I face a similar problem - Axis 1.2 beta
: : : (June 14th release) makes the return type of the
: : : method a String, instead of String[]. The problem
: : : is right where I do java2wsdl - even the WSDL, I
: : : think, is incorrrect. The problem does not occur
: : : with rpc/encoded, rpc/literal or wrapped/literal.
: : :
: : : I mailed a post about this a week or so ago but got
: : : no response. I'm compiling a test case along with
: : : the WSDL and sample clients to illustrate the issue.
: : : Next post...
: : :
: : : Anand
: : :
: : : On Wed, 14 Jul 2004 [EMAIL PROTECTED] wrote:
: : :
: : : :
: : : : I have a very nice Axis Web Service running in which I call a "query"
: : : : function which returns an arbitrarily sized array of type String[].
: : : :
: : : : I call the axis implementation file with the following call (Assume
: all
: : : : setup of service is correct):
: : : :
: : : : java.lang.String[] yes_list =
: : (java.lang.String[])handler.query(groupName,
: : : : password, accountName, conditions);
: : : :
: : : : handler.query is the function which returns the String[]. Regardless,
: : this
: : : : function, while actually successfully running through Axis, brings
: about
: : the
: : : : following exception on the local machine:
: : : :
: : : : java.lang.ClassCastException
: : : : java.lang.ClassCastException
: : : : at $Proxy0.query(Unknown Source)
: : : : at
: : : :
: :
:
_2._0._0._127.axis.services.adminHandlerServicePort.adminHandlerClient2.main(adminHandler
: : : : Client2.java:77)
: : : :
: : : : I have checked the mailing list for possible causes but to know avail.
: : Would
: : : : somebody be kind enough to offer some advice as to how I could stop
: this
: : : : message from coming up?
: : : :
: : : : Below is my client program:
: : : : package placeholder.axis.services.clientHandlerServicePort;
: : : :
: : : : public class clientHandlerClient2
: : : : {
: : : : static String url =
: : : : "_http://placeholder/axis/services/clientHandlerServicePort_
: : (http://placeholder/axis/services/clientHandlerServicePort) ";
: : : : static String router = "_http://placeholder/axis/clientDirect_
: : : : (http://placeholder/axis/clientDirect) ";
: : : :
: : : : static String service = "clientDirectService.wsdl";
: : : :
: : : :
: : : : public static void main(String[] args)
: : : : {
: : : : try
: : : : {
: : : : System.err.println("This Client tests getReport");
: : : :
: : : : ServiceFactory sf = ServiceFactory.newInstance();
: : : : URL u = new URL(router + "/" + service);
: : : : QName serviceName = new QName(url,"clientHandlerService");
: : : : Service s = sf.createService(u,serviceName);
: : : :
: : : : QName portName = new QName(url,"clientHandlerServicePort");
: : : :
: : : : List handlerChain =
: : : : s.getHandlerRegistry().getHandlerChain(portName);
: : : : HandlerInfo hi = new HandlerInfo(LoggingHandler.class,null,null);
: : : : handlerChain.add(hi);
: : : :
: : : : //Checking for proper syntax of call
: : : : if (args.length!=3)
: : : : {
: : : : System.err.println("Incorrect usage of Client. Please use the
: : following:");
: : : : System.err.println("clientHandlerClient" + " [Account Name]" + "
: : : : [Password]" + " [Conditions]");
: : : : }
: : : : else
: : : : {
: : : : System.out.println("Thank You. Processing. . .");
: : : : ClientHandler handler = (ClientHandler) s.getPort(portName,
: : : : ClientHandler.class);
: : : :
: : : : String accountName = args[0];
: : : : String password = args[1];
: : : : String conditions = args[2];
: : : :
: : : : if(s == null)
: : : : System.out.println("Service Not Working Properly");
: : : :
: : : : String[] queryList = handler.query(accountName, password,
: : conditions);
: : : :
: : : : System.out.println("Testing in csv format");
: : : : String format = "csv";
: : : :
: : : : String[] rawQueryList = handler.getQuery(accountName, password,
: : queryList,
: : : : format);
: : : :
: : : : System.out.println("Finished.");
: : : : }
: : : : }
: : : : catch(Exception e)
: : : : {
: : : : System.err.println("Error running Client:");
: : : : System.err.println(e);
: : : : e.printStackTrace();
: : : : }
: : : : }
: : : : }
: : : :
: : : : I would appreciate any comments on this manner. I have checked the
: : : : axis-mailing list for previous solutions however have found none have
: : been helpful for
: : : : me to diagnose.
: : : :
: : : : Sincere Thanks,
: : : : James Crosson
: :
: :
: :
: :
: :
:
:
:
:
: