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]