I'll try and see if there was any change to the code paths between
4.0.3 and 4.0.5.

Do have a small piece of test code that I can run to confirm that I am
reproducing the issue? If so, can you attach that to a bug report and file
it in JIRA? Send me an email when you do that, and I will take a look.


On 11/5/07, keiji Ono <[EMAIL PROTECTED]> wrote:
>
>  Hi,
>
>  I found a problem of  SOAP action between  3.3.3 and latest nighty build
> (4.1.x).
>  With a same LZX application and using SOAP data I/F.
>  3.3.3 could send data to LPS, but the nighty could not.
>   ex.
>       send data 'burabura'
>       debugging 'lzpostbody' in SOAPDataSource.java
>            on 3.3.3:  <some tag>[![CDATA[burabura]]</some tag>
>            on 4.1.x:  <some tag/>
>            * in effect, those data were encoded.
>
>  SOAPDataSource.java had not any changes between them.
>  Are there some changing data interface specifications?
>  I confirmed it was OK till 4.0.3, but 4.0.5 and later were NG.
>
>  Regards,
>  Keiji Ono
>
>
>  Henry Minsky wrote:
>
>
>
> On 10/30/07, keiji Ono <[EMAIL PROTECTED]> wrote:
> > I have checked Apache-Axis library. And i knew where it was implemented
> > but at the same time
> > i did not understand about my issue whether it was a spec or bug. Then i
> > will ask it for Axis forum.
> > Thank you for everything.
> >
> > BTW, i have been seeing OpenLaszlo source code by now, i would like to
> > confirm and gather up my *understanding* on processing SOAP data. If
> > this is incorrect, please correct me.
> >
> > Issue: procedure SOAP message data to provide to client
> > Example data: <data tag>burabura data</data tag>
> > Process:
> > 1. read SOAP data ( like the example data )
> > 2. disintegrate in tag and data
> > 3. the data will be converted to Flash data format
> > 4. reassemble the tag and the data
> > 5. put it out it to client by HttpServletResponse
> >
> > But i did not find the point of *reassemble* clearly.
>
>
>  Hello Keiji,
>
>  I was probably the last person to touch the SOAP code, when I
>  added support for the DHTML runtime.
>
>  In SWF, the SOAP data is converted to flash, using the old data compiler
> which used to be used for XML data, but is no longer used for that.
>
>  In the DHTML  version of the SOAP code, the data is converted to
>  JSON format. This might be easier to understand than the swf code paths, if
> you look at the
>  output that is sent to the client. It is  a JSON string which is just a
> combination of string, number, and  arrays and objects.
>
>
>  It had been my intention to rewrite the SOAP server code for the SWF
> runtime, so that
>  instead of using the old data compiler, it would instead just use the JSON
>  format that we now use for DHTML, and compile the JSON string to swf with
> the regular "script compiler" that all the other Laszlo code goes through.
> This would simplify
>  the code substantially on the server, as it would eliminate the two
> duplicate
>  code paths that exist now for SWF and DHTML. Unfortunately I have not had
>  time to do that.
>
>  Henry
>
>
>
>
>
> > Best,
> > Keiji Ono
> >
> > ��� wrote:
> >
> > > We use "apache-axis" for this server-side job, see i.e. at
> > >
> org.openlaszlo.remote.swf.soap.encoding.SOAPDataEncoder#buildHeaders(org.apache.axis.message.SOAPHeader
> ).
> > >
> > >
> > > So I guess you need to check the "axis.jar" (JavaDoc:
> > >
> "http://ws.apache.org/axis/java/apiDocs/org/apache/axis/message/package-summary.html
> ")
> > > to get any further.
> > >
> > > - Andr���
> > >
> > >> Hi Ben,
> > >>
> > >> Thank you for your reply.
> > >> Yes, i also found your point and i was searching the implementation.
> > >> If it did not implement in OpenLaszlo source, it must came from
> > >> saaj.jar or other jars.
> > >> As far as i know, this class declared as Interface class in SAAJ, so
> > >> i wondered
> > >> where did it implement.
> > >> In your opinion, OpenLaszlo depend on the standard of JARs, right?
> > >> If so, i would appreciate it if you gave me the information about
> > >> JARs version and so on.
> > >>
> > >> Best,
> > >> Keiji Ono
> > >>
> > >> Benjamin Shine wrote:
> > >>
> > >> >/
> > >> />/ It looks to me like SOAPElement is imported from />/
> > >> javax.xml.soap.SOAPElement:
> > >> />/
> > >> />/ $ grep SOAPElement `find . -name "SOAP*.java"`
> > >> />/ ...
> > >> />/
> ./WEB-INF/lps/server/src/org/openlaszlo/remote/swf/soap/encoding/
> > >> />/ SOAPDataEncoder.java :
> > >> />/ import javax.xml.soap.SOAPElement;
> > >> />/ ...
> > >> />/
> > >> />/ So that implementation must come from one of the jars we ship
> > >> with, />/ but I don't know which one.
> > >> />/
> > >> />/ Is this the information you were looking for?
> > >> />/ -ben
> > >> />/
> > >> />/
> > >> />/ On Oct 25, 2007, at 6:13 PM, keiji Ono wrote:
> > >> />/
> > >> />>/ Hi
> > >> />>/
> > >> />>/ I could make in focus on this issue.
> > >> />>/ I found the method of .getChildElements() was rejecting all blanks
> > >> />>/ at the head and tail of SOAPElement class.
> > >> />>/ But as you know, SOAPElement class was declared by Interface
> > >> class in />>/ SAAJ.
> > >> />>/ As the next step, i checked how SOAPElement class had
> > >> implemented in />>/ OpenLaszlo.
> > >> />>/ but i could not find the point in OpenLaszlo source.
> > >> />>/ If i could find it, i could know it whether it was bug or spec.
> > >> />>/ Hey Server Side Men, could you give some hints for me?
> > >> />>/
> > >> />>/ Best,
> > >> />>/ Keiji Ono
> > >> />>/
> > >> />>/ keiji Ono wrote:
> > >> />>/
> > >> />>>/ I have been continuing to solve this issue.
> > >> />>>/ And i look at the point of the suspicious, but i could not know
> > >> it />>>/ clearly.
> > >> />>>/ At the point is in SOAPDataEncoder.java.
> > >> />>>/ The 'issue' code is in the method of _traverseDOM().
> > >> />>>/
> > >> />>>/ SOAPDataEncoder.java _traverseDOM()
> > >> />>>/
> > >> />>>/ iter = el.getChildElements();
> > >> />>>/ while(iter.hasNext()){
> > >> />>>/ Object o = iter.next(); <---- 1
> > >> />>>/ if( Text.class.isInstance(o) ){
> > >> />>>/ characters(((Text)o).getValue() ); <---- 2
> > >> />>>/ }else{
> > >> />>>/ .
> > >> />>>/ .
> > >> />>>/ }
> > >> />>>/ }
> > >> />>>/
> > >> />>>/ At the point of 1, when the Object o contained a string
> > >> />>>/ "<sometag><![CDATA[ Text Strings]]></sometag>",
> > >> />>>/ .getValue() at the point of 2 got the string "Text Strings" and
> > >> />>>/ set it to the method of characters(). The characters()
> > >> />>>/ push it to client through FlashBuffer class.
> > >> />>>/ The issue of it is the blank of the start strings has been
> > >> rejected />>>/ by getValue().
> > >> />>>/
> > >> />>>/ I do not know whether this is the specification of getValue()
> > >> of />>>/ org.apache.xml.message.Text class.
> > >> />>>/ Is not there the person knowing a lot about this?
> > >> />>>/
> > >> />>>/ Keiji Ono
> > >> />>>/
> > >> />>>>/ Hummm, it did not effect to the log file.
> > >> />>>>/ Basically, i did not use multibyte data, so whichever use
> > >> UTF-8 />>>>/ parameter in the properties file,
> > >> />>>>/ it did not effect to it, i think.
> > >> />>>>/
> > >> />>>>/ BTW, the reason why i am taking this issue, because i have a
> > >> />>>>/ trouble on SOAP data handling on LPS.
> > >> />>>>/ The trouble is like this.
> > >> />>>>/ When i sent data from a OpenLaszlo application, like ' ABC' to
> > >> SOAP />>>>/ server, but the return was
> > >> />>>>/ 'ABC'. Pay attention this, LPS cut out those spaces of the data.
> > >> />>>>/ I traced how to treat the data in LPS, so i reached
> > >> FileUtil.java. />>>>/ I know the data from SOAP server
> > >> />>>>/ to LPS are correct, that mean the data has the spaces.
> > >> />>>>/
> > >> />>>>/ Any advances. Thank you.
> > >> />>>>/
> > >> />>>>/ Keiji Ono
> > >> />>>>/
> > >> />>>>/
> > >> />>>>/ P T Withington wrote:
> > >> />>>>/
> > >> />>>>>/ I wonder if the problem is that log4j is not configured for
> > >> UTF8? />>>>>/ I found this with Google:
> > >> />>>>>/
> > >> />>>>>>/ Debugging can be fun with high byte characters as generally
> > >> />>>>>>/ logging to a console isn't going to show you the characters
> > >> you />>>>>>/ are expecting. If you did this:
> > >> />>>>>>/
> > >> />>>>>>/ System.out.println(new String(new byte[] { -28, -72,
> > >> -83},"UTF-8")
> > >> />>>>>>/
> > >> />>>>>>/ Then you'd probably just see a ? rather than the Chinese
> > >> />>>>>>/ character that it really should be. However, you can make
> > >> log4j />>>>>>/ log UTF-8 messages. Just add
> > >> />>>>>>/
> > >> />>>>>>/ <param name="Encoding" value="UTF-8"/>
> > >> />>>>>>/
> > >> />>>>>>/ To the appender in your log4j.xml config. Or this:
> > >> />>>>>>/
> > >> />>>>>>/ log4j.appender.myappender.Encoding=UTF-8
> > >> />>>>>>/
> > >> />>>>>>/ To your log4j.properties file. You might still only see the
> > >> UTF-8 />>>>>>/ data properly if you view the log file in an editor/
> > >> viewer that />>>>>>/ can view UTF-8 data (Windows notepad is ok for
> > >> instance).
> > >> />>>>>/
> > >> />>>>>/
> > >> />>>>>/
> > >> />>>>>/
> > >> />>>>>/
> > >> />>>>>/ [Java UTF???????????????????????????8 international character
> > >> />>>>>/ support with Tomcat and Oracle, 26/03/07, Kieran's
> > >> blog](http:// />>>>>/
> blogs.warwick.ac.uk/kieranshaw/entry/ />>>>>/
> > >> utf-8_internationalisation_with/)
> > >> />>>>>/
> > >> />>>>>/ Also, I wonder if using the Firebug extension to Firefox
> > >> might />>>>>/ help. Using the Net pane, you should be able to see the
> > >> content of />>>>>/ the http get.
> > >> />>>>>/
> > >> />>>>>/ On 2007-09-27, at 20:20 EDT, keiji Ono wrote:
> > >> />>>>>/
> > >> />>>>>>/ Who dose maintenance this Java file ?
> > >> />>>>>>/ If you give me a little tip, i can progress on it.
> > >> />>>>>>/
> > >> />>>>>>/ keiji Ono wrote:
> > >> />>>>>>/
> > >> />>>>>>>/ Ben,
> > >> />>>>>>>/
> > >> />>>>>>>/ Thank you for your suggestion, but i tried already it on
> > >> 4.0.5 />>>>>>>/ as a trial ,
> > >> />>>>>>>/ but it did not work on it.
> > >> />>>>>>>/ I know it worked till on 4.0.3. :@
> > >> />>>>>>>/
> > >> />>>>>>>/ It will be good if i can give you a sample code of it , but
> > >> as />>>>>>>/ you know
> > >> />>>>>>>/ it is not
> > >> />>>>>>>/ easy to give SOAP sample.
> > >> />>>>>>>/ And our application is now working on 3.3.3, so i would
> > >> like to />>>>>>>/ try on
> > >> />>>>>>>/ 3.3.3.
> > >> />>>>>>>/
> > >> />>>>>>>/ I am thinking as following steps now.
> > >> />>>>>>>/ 1. Check it on 3.3.3
> > >> />>>>>>>/ 2. If i find looks like bug in it, i will change it.
> > >> />>>>>>>/ 3. Then i am going to look at 4.0.5 source.
> > >> />>>>>>>/
> > >> />>>>>>>/ So could you give some advance?
> > >> />>>>>>>/ Thank you.
> > >> />>>>>>>/
> > >> />>>>>>>/ Keiji ono
> > >> />>>>>>>/
> > >> />>>>>>>/ Benjamin Shine wrote:
> > >> />>>>>>>/
> > >> />>>>>>>/
> > >> />>>>>>>/
> > >> />>>>>>>>/ Keiji, I suggest you work with lps-4.0.5. It is the most
> > >> />>>>>>>>/ current, and
> > >> />>>>>>>>/ we are more likely to be familiar with the code that
> > >> you're />>>>>>>>/ working
> > >> />>>>>>>>/ with. See
> > >> />>>>>>>>/ http://www.openlaszlo.org/node/383
> > >> />>>>>>>>/ for the announcment.
> > >> />>>>>>>>/
> > >> />>>>>>>>/ -ben
> > >> />>>>>>>>/
> > >> />>>>>>>>/ On Sep 26, 2007, at 5:03 AM, keiji Ono wrote:
> > >> />>>>>>>>/
> > >> />>>>>>>>/
> > >> />>>>>>>>/
> > >> />>>>>>>>>/ Adding, it was the source of lps-3.3.3, and the data was
> > >> not />>>>>>>>>/ multibyte
> > >> />>>>>>>>>/ character.
> > >> />>>>>>>>>/
> > >> />>>>>>>>>/ Keiji Ono
> > >> />>>>>>>>>/
> > >> />>>>>>>>>/
> > >> />>>>>>>>>/
> > >> />>>>>>>>>>/ Hi all,
> > >> />>>>>>>>>>/
> > >> />>>>>>>>>>/ I am checking about Input/Output data on LPS now.
> > >> />>>>>>>>>>/ Because when i take SOAP interface on my application,
> > >> the />>>>>>>>>>/ getting data
> > >> />>>>>>>>>>/ is wrong.
> > >> />>>>>>>>>>/ Then i would like to check data where output from LPS.
> > >> />>>>>>>>>>/ At the point of FileUtils.java, i add some code like
> > >> following
> > >> />>>>>>>>>>/ (BlockName-A).
> > >> />>>>>>>>>>/ But it got unreadable data to write lps.log as following.
> > >> />>>>>>>>>>/ How can i get 'readable' log on lps.log ?
> > >> />>>>>>>>>>/
> > >> />>>>>>>>>>/ <checking code on FileUtils.java>
> > >> />>>>>>>>>>/ public static int sendToStream(InputStream input,
> > >> />>>>>>>>>>/ OutputStream output, int size)
> > >> />>>>>>>>>>/ throws IOException {
> > >> />>>>>>>>>>/ int c = 0;
> > >> />>>>>>>>>>/ byte[] buffer = new byte[size];
> > >> />>>>>>>>>>/ int b = 0;
> > >> />>>>>>>>>>/ while(true) {
> > >> />>>>>>>>>>/ try {
> > >> />>>>>>>>>>/ // Until end of stream
> > >> />>>>>>>>>>/ if ((b = input.read(buffer)) <= 0) {
> > >> />>>>>>>>>>/ return c;
> > >> />>>>>>>>>>/ }
> > >> />>>>>>>>>>/ } catch (IOException e) {
> > >> />>>>>>>>>>/ throw new StreamReadingException( e.getMessage());
> > >> />>>>>>>>>>/ }
> > >> />>>>>>>>>>/ c += b;
> > >> />>>>>>>>>>/ try {
> > >> />>>>>>>>>>/ output.write(buffer, 0, b);
> > >> />>>>>>>>>>/
> > >> />>>>>>>>>>/ //=== adding from here BlockName-A
> > >> />>>>>>>>>>/ {
> > >> />>>>>>>>>>/ String aString = new String(buffer, "UTF-8");
> > >> />>>>>>>>>>/ mLogger.debug( "OUTPUT: " + aString );
> > >> />>>>>>>>>>/ }
> > >> />>>>>>>>>>/ //=== to here
> > >> />>>>>>>>>>/
> > >> />>>>>>>>>>/ <lps.log>
> > >> />>>>>>>>>>/ OUTPUT: FWS 4  x  F  ?    `
> > >> />>>>>>>>>>/ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx? ?  ?0
> _m _t CSPCHD id
> > >> />>>>>>>>>>/ AddLongResponse AddLongResult ?  _m _root /?  _m N
> > >> ?  _t >>>>>>>>>>/ _root /?
> > >> >>>>>>>>>>/ _t N
> > >> /?    ?  _root ?
> > >> >>>>>>>>>>/ _rootndi RL?      C?       =L?      C?       =L?;
> > >> />>>>>>>>>>/
> > >> 0000000100001gUD5zy4000000XKonfBejSj6FIgaG0jaWHQ--
>   =   ?
> > >> />>>>>>>>>>/    ?
> > >> />>>>>>>>>>/ _root /?  _finishndi R?     B?    ?  _root ?
> > >> >>>>>>>>>>/ _rootndi RL?      C?       =L?      C?       =L?
> > >> />>>>>>>>>>/ GHGHGH      =   ?     ?  _root /?  _finishndi R?     B?
> > >> >>>>>>>>>>/ _parent /?      ?
> > >> >>>>>>>>>>/ _parent /?  loader N?  returnData R  @
> > >> >>>>>>>>>>/
> > >> />>>>>>>>>>/ Thanks any advance.
> > >> />>>>>>>>>>/
> > >> />>>>>>>>>>/ Keiji Ono
> > >> />>>>>>>>>>
> > >
> >
> >
>
>
>
>  --
>  Henry Minsky
>  Software Architect
>  [EMAIL PROTECTED]
>
>


-- 
Henry Minsky
Software Architect
[EMAIL PROTECTED]

Reply via email to