Now I send the string from the VB client to the Apache service via Literal encoding(change the WSDL->Operation->Use from encoded to literal ). At the service side, I changed the DeploymentDescriptor to use the XMLParameterSerializer to be the deserializer of the large input String parameter s4(pls see below). In order to use the XMLParameterSerializer , I changed the Java function's input parameter to "Parameter" type(otherwise I would receive a "signature type not match" if I still use String type). I then tried to cast this "Parameter" back to a string but somehow the "Parameter" the java function received from the SOAP layer is always NULL. Could anyone tell what might be wrong?
I am now at my wit's end and any of your help is highly appreciated. Thank you in advance. -Chengmin ============================================================================ =============== <isd:service xmlns:isd="http://xml.apache.org/xml-soap/deployment" id="urn:sendvis-service"> <isd:provider type="java" scope="Request" methods="updateVIS getVIS importVIS"> <isd:java class="com.iss.vis.SendVIS" static="false"/> </isd:provider> <isd:mappings> <isd:map encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:x="urn:sendvis-service" qname="x:s" xml2JavaClassName="org.apache.soap.encoding.soapenc.StringDeserializer"/> <isd:map encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:x="urn:sendvis-service" qname="x:s1" xml2JavaClassName="org.apache.soap.encoding.soapenc.StringDeserializer"/> <isd:map encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:x="urn:sendvis-service" qname="x:s2" xml2JavaClassName="org.apache.soap.encoding.soapenc.StringDeserializer"/> <isd:map encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:x="urn:sendvis-service" qname="x:s3" xml2JavaClassName="org.apache.soap.encoding.soapenc.StringDeserializer"/> <isd:map encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:x="urn:sendvis-service" qname="x:s4" xml2JavaClassName="org.apache.soap.encoding.literalxml.XMLParameterSerialize r"/> <isd:map encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:x="" qname="x:strings" xml2JavaClassName="org.apache.soap.encoding.soapenc.ArraySerializer"/> </isd:mappings> <isd:faultListener>org.apache.soap.server.DOMFaultListener</isd:faultListene r> </isd:service> -----Original Message----- From: Barnaby James [mailto:[EMAIL PROTECTED]] Sent: Thursday, October 25, 2001 6:56 PM To: [EMAIL PROTECTED] Subject: RE: What is the best way to send Large String from the Client to the Service? Did you try sending it as a data base64 encoded parameter rather than a string? i.e. a parameter of xsi:type="SOAP-ENC:base64"? I would think this would be handled more efficiently than an xsi:type="xsd:string" parameter. If your class on the Apache SOAP side is byte[] it will be automagically converted to SOAP-ENC:base64. Barnaby -----Original Message----- From: Paramdeep Singh [mailto:[EMAIL PROTECTED]] Sent: Thursday, October 25, 2001 3:13 AM To: [EMAIL PROTECTED] Subject: Re: What is the best way to send Large String from the Client to the Service? Hi, I think that if the size of the string is too large, then you should send it as an attachment. I remember of seeing an article somewhere, which mentioned that if the string that you are sending is of a very large length, then it may not get the correct results as well. I think that I read it on this mailing list only, but cant remember it off-hand. Regards Paramdeep ----- Original Message ----- From: "Ding, Chengmin" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Thursday, October 25, 2001 2:05 AM Subject: What is the best way to send Large String from the Client to the Service? > HI, Soap folks, > Our web service is based on Apache Soap 2.2 and the web service client is > based on Microsoft Soap Tool kit 2.0. > The client periodically sends an XML String as one of an array parameter to > the web service and the web service will do some manipulations of that > string. The input string used to be below 100 KB and the performance is > satisfactory. Recently the input XML string increases to around 1 MB and the > web service starts to respond extremely slow. > We put some output statement at the beginning of the web service function, > now it takes about 15 minutes before we see those output. We want to know > why it takes Apache Soap 2.2 so long to respond? We found some previous post > that mentions using XML_LITERAL_ENCODING will make it faster, but since we > are using MS SOAPtoolkit, we don't know how to sent this encoding. > > Any of your help will be highly appreciated. > > Thanks. > > -Chengmin _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com