axis-c-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Haszlakiewicz, Eric" <EHAS...@transunion.com>
Subject RE: special character escaping in adb requests
Date Fri, 30 Jan 2009 21:55:37 GMT

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:EHASZLA@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:pallewela@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 
>><dimuthuc@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
>>> <EHASZLA@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:dimuthuc@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
>>>> ><EHASZLA@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
>>>
>>
>

Mime
View raw message