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: FWS4 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
/>>>>>>>>>>

Reply via email to