Sorry I accidentally hit send.

Here's the complete list:

1. changes in wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/

literal/WrapWriter.java
literal/BeanParamWriter.java
literal/ParamCPPFileWriter.java
WrapWriter.java
ParmHeaderFileWriter.java 

(1) fixed wrong code generation for <xsd:all> elements that were
mistakenly treated as <xsd:choice>
(2) fixed <xsd:all> not handling random ordered elements correctly
(3) In a result of fixing the above two bugs, I had to modify the way
how wrapper classes invoke a user web service  function, so that the
<xsd:all> code generation remains consistent in both places (wrapper
class vs. a user-defined  type derializer function). I'll explain more
if this is confusing to you.
(4) fixed some memory leaks problems in the generated code.
(5) added required argument checking;   <-- this is the change that
depends on InvalidArgumentException class we owned  ourselves
(6) added choice argument checking: missing or redundant; <-- this is
the change that depends on some exception  classes we owned ourselves
(7) we made those deepcopy member variables public as there are cases we
want to assigned an allocated string directly  without string copying;
something we can revisit.
(8) support for xsi:null="1" from some old SOAP clients, like SOAPpy
(9) fixed numeric enum generation
(10) fixed a bug handling <sequence> without subelement checking

2. changes in soap/
SoapDeSerializer.cpp
SoapSerializer.cpp
SoapEnvelope.cpp
xsd/IAnySimpleType.cpp
xsd/DateTime.cpp
include/axis/SoapFaultException.hpp 
SoapFaultException.cpp 
SOAPTransport.h 
xsd/Duration.cpp

(1) fixed a mismatch delete[]
(2) fixed to remove illegal characters lower than 0x20 from XML. higher
illegal ones can't
be handled without unicode analysis, but a lot less harmful, something
we didn't really put any code to check with.
(3) fixed crashes on bad packets/xml
(4) fixed memory leaks when error happens in packet handling
(5) fixed negative return handling from DateTimes
(6) fixed SoapFaultException class to make some generated client-side
files compilable
(7) fixed Duration parsing


3. changes in xml/xerces/
XMLParserXerces.h
XMLParserXerces.cpp

(1) fixed crashes or bad handling of bad XML packets so it will throw
exceptions reporting line number and char pos.
(2) fixed to throw AxisParserExceptions when error happens in parsing

4. changes in simple_axis_server

server/simple_axis_server/SimpleAxisTransport.cpp

(1) fixed wrong large packet handling

5. changes in src/engine/

Axis.cpp
server/ServerAxisEngine.cpp 
server/ServerAxisEngine.h 
SerializerPool.cpp
HandlerLoader.cpp

(1) added stronger checking of HTTPTransport lib loading
(2) added exception error message reporting
(3) calling init() in serializerpool to release memory; should really
have some fini() maybe
(4) fixed a crash in apache shutdown, when lib is already unloaded
before HandlerLoader wants to unload it.

6. changes in transport/axis3/

ChannelFactory.cpp
HTTPTransport.cpp

(1) better lib loading failure reporting
(2) fixed wrong large packet handling

7. changes in server/apache2/

Apache2Transport.cpp 
mod_axis2.cpp 

(1) fixed wrong large packet handling
(2) fixed an Apache bug in ap_get_client_block(), with replaced
http_protocol_ex.h and http_protocol_ex.cpp.  Otherwise, any packet
longer than 48k will just be truncated.

8. New features. To support JSON and XML, I made changes in these files

include/axis/IWrapperSoapDeSerializer.hpp 
include/axis/IWrapperSoapSerializer.hpp 
src/engine/server/ServerAxisEngine.cpp 
src/server/apache2/Apache2Transport.cpp 
src/server/apache2/Apache2Transport.h 
src/server/apache2/mod_axis2.cpp 
src/soap/SoapBody.cpp 
src/soap/SoapEnvelope.cpp 
src/soap/SoapFault.cpp 
src/soap/SoapMethod.cpp 
src/soap/SoapSerializer.cpp
src/soap/SoapDeSerializer.cpp
src/soap/xsd/*
src/transport/SOAPTransport.h 
src/common/ArrayBean.cpp 
src/common/AxisUtils.cpp 
src/common/AxisUtils.h 
src/common/BasicTypeSerializer.cpp 
src/common/BasicTypeSerializer.h 
src/common/Param.cpp 
src/engine/XMLParserFactory.cpp 
src/engine/XMLParserFactory.h 
src/wsdd/WSDDDocument.cpp 
src/xml/xerces/ParserLoader.cpp 

New files:
src/xml/xerces/JSONParser.cpp 
src/xml/xerces/JSONParser.h 

9. New features, to add IP address, HTTP cookies and other transport
properties,

axis/GDefine.hpp
common/MessageData.h
engine/server/ServerAxisEngine.cpp
server/apache2/Apache2Transport.cpp 

10. New features. yup, native support of URL GETs!! For example,
        http://localhost/axis/calendar?_action=GetSessionRequest&;
                [EMAIL PROTECTED]&
                authInfo.authByEmail.password=haiping&
                _format=xml
Supported variables:
        _action: API function name
        _format: json, xml, soap, syncml (and future rss, atom)
Also support HTTP form posting. For example,
        <form action="/axis/calendar" method="GET or POST">
        <input type=hidden name="_action" value="getSession">
        <input name="authInfo.authByEmail.email">
        ...
        </form>
Or mix of URL and form posting:
        <form action="/axis/calendar?_action=getSession" method="GET or
POST">
        <input name="authInfo.authByEmail.email">
        ...
        </form>

11. added support for JSONP _callback parameter, and XSLT _xsl
parameter. So we have
        _action
        _format
        _callback
        _xsl

12. supporting partially qualified URL parameters, but not sure if this
is smart or really stupid. This is where the  urlmap.C include is from.
I'll explain more when you get there.

13. added direct support of all transport formats to simple_axis_server,
so it can take JSON or XML packets directly.


-Haiping


 

-----Original Message-----
From: Haiping Zhao [mailto:[EMAIL PROTECTED] 
Sent: Monday, October 23, 2006 4:18 PM
To: Nadir Amra; Apache AXIS C Developers List
Subject: RE: [Fwd: [Fwd: RE: Apache Axis 1.6b]]

Thanks Nadir. Attached are the one with fixes (-fixed) and the orignal
one I downloaded. This is a list of changes I made.

1. changes in wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/

literal/WrapWriter.java
literal/BeanParamWriter.java
WrapWriter.java

(1) fixed wrong code generation for <xsd:all> elements that were
mistakenly treated as <xsd:choice>
(2) fixed <xsd:all> not handling random ordered elements correctly
(3) In a result of fixing the above two bugs, I had to modify the way
how wrapper classes invoke a user web service function, so that the
<xsd:all> code generation remains consistent in both places (wrapper
class vs. a user-defined type derializer function). I'll explain more if
this is confusing to you.
(4) fixed some memory leaks problems in the generated code.

2. changes in soap/

(1) SoapDeSerializer.cpp: fixed a mismatch delete[]
(2) xsd/IAnySimpleType.cpp: fixed to remove illegal characters lower
than 0x20 from XML. higher illegal ones can't
be handled without unicode analysis, but a lot less harmful, something
we didn't really put any code to check with.

3. changes in xml/xerces/


-Haiping


-----Original Message-----
From: Nadir Amra [mailto:[EMAIL PROTECTED] 
Sent: Monday, October 23, 2006 2:07 PM
To: Apache AXIS C Developers List
Cc: Haiping Zhao
Subject: RE: [Fwd: [Fwd: RE: Apache Axis 1.6b]]

Haiping, 

Just send me the .tar.gz and I can take a look and create individual
fixes 
and jira's.  Then we can discuss any changes via jira's. Maybe a list of

the fixes and how it should be fixed strategically in the AXIS code-base

would be nice too :-)  But that can be done later via jira also.  Thanks

Nadir K. Amra

"Haiping Zhao" <[EMAIL PROTECTED]> wrote on 10/23/2006 03:55:47 PM:

> Sorry I missed John's email. Franz, I'd like to submit my fixes. 
> Which format do you want it though? My small problem here is, even 
> though most of the changes are good ones, there are some
> 
> 1. ad hoc changes that may not be the best or don't fit quite well 
> into the framework, as otherwise it would be a slightly bigger 
> change that we were reluctant to make due to time constriaints.
> 
> 2. changes that are only applicable to ourselves. For examples, we 
> generated coding to "throw InvalidArgumentException" from XML parser
> codes, and that class is only defined in our own libraries. Do you 
> want that class as well?
> 
> May I give a .tar.gz file that I currently have, and we can triage 
> the code differences together, perhaps making some better ones? Or, 
> alternatively I can prepare change lists with one diff a time. Or, 
> alternatively, even though I'm a newbie in contributing, you may 
> show me how i can check in code into some central depository and 
> I'll make the changes directly. Please advise.
> 
> BTW, we have our API close to release, and you may take a look at 
> what can be built around Apache Axis at
http://test3.plaxo.com/apidoc/.
> Great work from Apache Axis team! We appreciate it.
> 
> -Haiping
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to