[Users] Corba support with JBI4Corba in Petals

cdeneux petals-components at ebmwebsourcing.com
Wed Mar 16 10:32:50 CET 2011


1. Where have you change the URI ?

2. I have already get a similar problem. I was due to a DOM Document built using classes from the component classpath instead of the JVM and not available in the classpath of the SOAP component. Perhaps is it the same. I'll ask EasyWSDL team to join the discussion.

3. I think the prematured EOF is due to no byte is available for reading. The cause of a such situation is to read the StreamSource twice, for example to log the content before processing it. In the followinf extract of source code of the method 'denormalize', you can see that two reads of the Source occur because the Source send by the SOAP component is a StreamSource:
Code:
// Convert the normalizedMessage into a DOM object
            final DOMResult result = new DOMResult();
            final Source src = normalizedMessage.getContent();
            if (src != null) {
                final TransformerFactory fact = TransformerFactory.newInstance();
                final Transformer transformer = fact.newTransformer();
                transformer.transform( src, result );                              <------------------ First read
            }
            Node node = result.getNode();
            Document normalizedDoc = null;
            if (node instanceof Document) {
                normalizedDoc = (Document) node;
            } else {
                normalizedDoc = ((Element) node).getOwnerDocument();
            }

            // Use the WrapperParser to help in parsing out the Parts

            wrapperParser.parse(normalizedDoc, endpoint.getDefinition());
                        
            // use helper class to parse wrapped msg

            Source source = normalizedMessage.getContent();

            if (source instanceof DOMSource) {
                // saves a transformation
                node = ((DOMSource) source).getNode();
            } else {
                DOMResult domResult = new DOMResult();
                mTrans.transform(source, domResult);                              <------------------ Second read
                node = domResult.getNode();
            }



4. Moreover, reading the previous source code, concurrency problems can occur at the seconf read because the transformer is not local to the thread, except if a Denormalizer is created for each message.

------------------------
Christophe DENEUX / Capgemini Sud / Méditerranée
Integration Architect / OW2 PEtALS Comitter
www.capgemini.com
Porte de l'Arénas - Entrée B / 455 Promenade des Anglais / 06200 Nice / FRANCE
Join the Collaborative Business Experience
_______________________________________________________________________________




-------------------- m2f --------------------

Read this forum topic online here:
http://petals.ebmwebsourcing.com/forum/viewtopic.php?p=806#806

-------------------- m2f --------------------


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://forum-list.petalslink.org/pipermail/users/attachments/20110316/5843301b/attachment.htm>


More information about the Users mailing list