New Issues have been created: SM-249, SM-250.

/jonathan

> -----Original Message-----
> From: Guillaume Nodet [mailto:[EMAIL PROTECTED]
> Sent: Tuesday, January 03, 2006 4:12 PM
> To: [email protected]
> Subject: Re: [servicemix-user] Problems with JSM flow and 
> SOAP messages
> 
> 
> Yes please, and attach your patches.
> Thanks a lot !
> 
> Guillaume Nodet
> 
> [EMAIL PROTECTED] wrote:
> 
> >Should I open a jira for this? One for the new feature in
> >HttpSoapClientMarshaller, and another for the potential defect in
> >SaajMarshaller?
> >
> >/jonathan
> >
> >  
> >
> >>-----Original Message-----
> >>From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
> >>Sent: Tuesday, January 03, 2006 4:06 PM
> >>To: [email protected]
> >>Subject: RE: [servicemix-user] Problems with JSM flow and 
> >>SOAP messages
> >>
> >>
> >>The earlier submission had a possible NullPointerException 
> waiting to
> >>happen; I've cleaned it up. The same is true of the current
> >>SaajMarshaller.toNMS() method - a check should be performed 
> >>on the result of
> >>parent.getAttributes() before any further action is taken, or a
> >>NullPointerException may be raised.
> >>
> >>/jonathan
> >>
> >>Code Follows
> >>
> >>    public void toNMS(NormalizedMessage normalizedMessage, 
> HttpMethod
> >>method) throws Exception {
> >>        addNmsProperties(normalizedMessage, method);
> >>        String response = method.getResponseBodyAsString();
> >>        Node node = sourceTransformer.toDOMNode(new 
> >>StringSource(response));
> >>        CachedXPathAPI cachedXPathAPI = new CachedXPathAPI();
> >>        NodeIterator iterator = 
> >>cachedXPathAPI.selectNodeIterator(node,
> >>                "/*/*[local-name()='Body']/*");
> >>        Node root = iterator.nextNode();
> >>
> >>        /*
> >>         * Copy embedded namespaces from the envelope into the body,
> >>similarly
> >>         * to the SaajMarshaller.toNMS() method.
> >>         */
> >>        for (Node parent = root.getParentNode(); parent != 
> >>null; parent =
> >>parent.getParentNode()) {
> >>            NamedNodeMap attributes = parent.getAttributes();
> >>            if (attributes != null) {
> >>                for (int i = 0; i < attributes.getLength(); i++) {
> >>                    Attr att = (Attr) attributes.item(i);
> >>                    if (att.getName().startsWith("xmlns:")
> >>                            &&
> >>root.getAttributes().getNamedItemNS(att.getNamespaceURI(),
> >>                                    att.getLocalName()) == null) {
> >>                        if (root.getNodeType() == 
> Node.ELEMENT_NODE) {
> >>                            ((Element)
> >>root).setAttributeNS(att.getNamespaceURI(),
> >>                                    att.getName(),
> >>                                    att.getValue());
> >>                        }
> >>                    }
> >>                }
> >>            }
> >>        }
> >>
> >>        normalizedMessage.setContent(new DOMSource(root));
> >>    }  
> >>
> >>    
> >>
> >
> >
> >  
> >
> 

Reply via email to