cool :)..

On Feb 19, 2008 8:27 AM, Simon Steinacker
<[EMAIL PROTECTED]> wrote:
> Thanks for the hint with setting the respective OMText node to binary
> and optimization. That works.
> What I do in particular is that I remove the large OMText nodes before
> xslt transformation to keep the string that is transformed within a
> reasonable length and afterwards add the OMText nodes again to the right
> position. Then Axis2 does all the MTOM stuff correctly.
>
> So thanks for your help!
> Simon
>
>
>
> Thilina Gunarathne wrote:
> > Hello,
> >
> >
> >> I have the following problem:
> >> I have a service that does MTOM. In a Module on the client side, i need
> >> to do some xslt transformation on the soap structure. But when I do that
> >> (I use Saxon9 for xslt transformation) I need to convert that SOAP
> >> message to a string to apply that xslt transformer. When I rebuild the
> >> transformed soap envelope again with the StAXSOAPModelBuilder all MTOM
> >> information is somehow lost...
> >>
> > When you convert the whole SOAP message to a String using Axiom API's,
> > the MTOM attachments become text nodes having the attachment content
> > encoded in base64. But if you write the message object model using
> > MTOMWriter, then those text nodes will be written as attachments.. But
> > if you just took out the string, then there won't be any information
> > about MTOM..
> >
> > Also on a side note use the MTOMStAXSOAPModelBuilder if you want to
> > build a MTOM message.. But it will not solve your issue..
> >
> >> I already tried to get the MTOM attachments on the client side inside
> >> the module, but there the attachmentsmap conveyed in the message context
> >> is empty.
> >>
> > Did you try monitoring the actual wire level message & did you see the
> > attachment's in it..
> > One reason might be that the attachments are still not build due to
> > differed building of Axis2. Try calling
> > SOAPEnvelope.buildWithAttachments();
> >
> >
> >> My question now is: how can I preserve mtom information after in the
> >> client module when I need to transform the soap string?
> >>
> > Should be possible if you need only to transform the contents of the
> > root mime part, as you have mentioned below.
> >
> >> On the server
> >> side I managed to do it by reading out the 0th attachments, which is the
> >> soap envelope and alter this one. Through that the attachments are not
> >> built into the soap envelope. But on the client module I do not seem to
> >> have access to the MTOM message... is it somehow possible to intercept
> >> the MTOM message on the client side?
> >>
> > Same as in the server...
> >
> >> Btw: the module's handler on the client side is bount to the MessageOut
> >> phase.
> >>
> > hmm...too bad.. I was under the impression that you are talking about
> > receiving a message in the client side. In this case attachments are
> > not processed and they are not in the MAP.. AttachmentMAP is populated
> > only for incoming messages.
> >
> > Only clear solution I can think of is to manually traverse the rebuilt
> > SOAPMessage and then to mark all the text nodes that contains binary
> > content as follows..
> >
> > textNode.setBinary(true);
> > textNode.setOptimized(true);
> >
> > thanks,
> > Thilina
> >
> >> Thanks for your help and input,
> >> Best regards
> >> Simon
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: [EMAIL PROTECTED]
> >> For additional commands, e-mail: [EMAIL PROTECTED]
> >>
> >>
> >>
> >
> >
> >
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>



-- 
Thilina Gunarathne  - http://thilinag.blogspot.com

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

Reply via email to