Hi Eric,

Yea we have the stream write function which directly write the xml in the
generated code. So fixing it axiom_node_serialize is not enough, we have to
change the generated code a little bit. But for your custom need it is
better setting data after escaping special characters.


On Sat, Jan 31, 2009 at 3:25 AM, Haszlakiewicz, Eric <ehas...@transunion.com
> wrote:

>
> hmm... I had assumed that the adb code would just generate an
> appropriately structured axiom_node_t, and it seems like it does return
> a node, but it's also generating xml directly and writing it out (with
> axutil_stream_write).  huh?  I think I'm missing something with how this
> works.
>
> I tried to read through the axis2_svc_client_send_receive_with_op_qname
> call that uses the axiom_node_t (which is called from the stub "myOp"
> call), hoping that that might provide some insight, but quickly got
> lost.  It seems the figuring out what this code does will take more time
> than I have available right now. :(
>
> >-----Original Message-----
> >From: Haszlakiewicz, Eric [mailto:ehas...@transunion.com]
> >Sent: Friday, January 30, 2009 3:04 PM
> >To: Apache AXIS C User List
> >Subject: RE: special character escaping in adb requests
> >
> >
> >Until you try to send some data that contains "]]>".  There is
> >no way to
> >avoid to the need to escape the data.  This should be handled by the
> >serialization methods.  I'm very surprised that it isn't.  I haven't
> >looked at the code that does the serialization yet, but if there's a
> >general axion serialize-an-element routine, this probably won't be too
> >hard to fix.
> >
> >>-----Original Message-----
> >>From: Dumindu Pallewela [mailto:pallew...@gmail.com]
> >>Sent: Friday, January 30, 2009 12:27 PM
> >>To: Apache AXIS C User List
> >>Subject: Re: special character escaping in adb requests
> >>
> >>Does AXIOM support CDATA sections?
> >>
> >>If so I think this can simply be solved by using a CDATA section.
> >>
> >>Thanks,
> >>Dumindu.
> >>
> >>On Fri, Jan 30, 2009 at 9:20 AM, Dimuthu Gamage
> >><dimut...@gmail.com> wrote:
> >>> Unfortunately we don't have such a function in the axutil
> >>yet. But it is
> >>> trival to implement.
> >>> I just did a google and found this, [1]. We can use the
> >>algorithm for the
> >>> parse data.
> >>>
> >>>
> >>> [1] http://www.hdfgroup.org/HDF5/XML/xml_escape_chars.htm
> >>>
> >>> Thanks
> >>> Dimuthu
> >>>
> >>> On Thu, Jan 29, 2009 at 10:48 PM, Haszlakiewicz, Eric
> >>> <ehas...@transunion.com> wrote:
> >>>>
> >>>> hmm... well that sucks.  Is there an axis function to do
> >>this easily, or
> >>>> do I need to find one somewhere else?
> >>>>
> >>>> Also, how do I know what kind of escaping to do?  It's
> >>possible to have
> >>>> axis send the request as a soap doc, or as a json message,
> >>so I can't
> >>>> use the same escaping for each, right?
> >>>>
> >>>> eric
> >>>>
> >>>> >-----Original Message-----
> >>>> >From: Dimuthu Gamage [mailto:dimut...@gmail.com]
> >>>> >Sent: Wednesday, January 28, 2009 9:01 PM
> >>>> >To: Apache AXIS C User List
> >>>> >Subject: Re: special character escaping in adb requests
> >>>> >
> >>>> >Hi Eric,
> >>>> >Unfortunately You have to set the texts after escaping these
> >>>> >characters at least for now. It is apparently a bug. (we
> >>>> >should do it inside). Can you please raise a JIRA issue on that.
> >>>> >
> >>>> >Thanks
> >>>> >Dimuthu
> >>>> >
> >>>> >
> >>>> >On Thu, Jan 29, 2009 at 12:48 AM, Haszlakiewicz, Eric
> >>>> ><ehas...@transunion.com> wrote:
> >>>> >
> >>>> >
> >>>> >
> >>>> >       I have an app that uses adb to construct messages to
> >>>> >send to a web
> >>>> >       service.  Everything works fine, unless my data
> >>>> >contains characters like
> >>>> >       '<', in which case axis fails to escape the characters
> >>>> >and generates
> >>>> >       invalid xml (I'm using xml messages).
> >>>> >
> >>>> >       I'm doing things like:
> >>>> >
> >>>> >       axis2_stub_t *my_service =
> >>>> >axis2_stub_create_MyService(env, client_home,
> >>>> >       url);
> >>>> >       adb_foo_t *myreq = adb_foo_create(env);
> >>>> >       adb_foo_set_myfield(myreq, env, "abc<xyz");
> >>>> >       adb_fooresp_t *response =
> >>>> >axis2_stub_op_MyService_myOp(an_service, env,
> >>>> >       myreq);
> >>>> >
> >>>> >       The adb code was generated from a wsdl (and xsd) that
> >>>> >has elements
> >>>> >       defined like:
> >>>> >         <xs:element name="foo" type="xs:string"/>
> >>>> >       and the command used was:
> >>>> >         axis2.sh org.apache.axis2.wsdl.WSDL2C -uri
> >>>> >myservice.wsdl -d adb -u
> >>>> >       -o generated
> >>>> >
> >>>> >       Is there some extra step I need to take to make this
> >>>> >work right?  Or, is
> >>>> >       there some bug that might be fixed in a more
> >recent version?
> >>>> >
> >>>> >       eric
> >>>> >
> >>>> >
> >>>> >
> >>>> >
> >>>> >
> >>>> >--
> >>>> >Thanks,
> >>>> >Dimuthu Gamage
> >>>> >
> >>>> >http://www.dimuthu.org
> >>>> >http://www.wso2.org
> >>>> >
> >>>> >
> >>>
> >>>
> >>>
> >>> --
> >>> Thanks,
> >>> Dimuthu Gamage
> >>>
> >>> http://www.dimuthu.org
> >>> http://www.wso2.org
> >>>
> >>
> >
>



-- 
Thanks,
Dimuthu Gamage

http://www.dimuthu.org
http://www.wso2.org

Reply via email to