Hi Rahul, I was unaware that after you digest you could inject params (thought it was static) hence my meddling with your source. I will definitely try the mentioned approach as I like that much better - agreed that was what I was shooting for during initial conversation.
Mike On 6/19/06 1:33 PM, "Rahul Akolkar" <[EMAIL PROTECTED]> wrote: > On 6/19/06, Mike Sparr - www.goomzee.com <[EMAIL PROTECTED]> wrote: >> Hi Rahul, >> >> Everything seems to be working except for API Calls. I changed line 455 of >> SCXMLDigester to setNamespaceAware(false) instead of true and it fixed my >> XSL transform issues. Like we discussed, that was true by default but each >> implementation can decide what's best. >> > <snip/> > > Yes, but you shouldn't have to change the library code ;-) I think the > last time we discussed this, we decided to leave the SCXMLDigester > configurable, i.e. you should be able to parse "manually" (using > digester API instead of the SCXML utility methods) if you don't want > the digester to be namespace aware, say like so: > > <code> > > <imports> > import org.apache.commons.digester.Digester; > import org.apache.commons.scxml.PathResolver; > import org.apache.commons.scxml.io.SCXMLDigester; > import org.apache.commons.scxml.io.ModelUpdater; > import org.xml.sax.ErrorHandler; > </imports> > > <fragment> > > Digester scxmlDigester = SCXMLDigester.newInstance(); > // or instantiate with a PathResolver, if document contains > // references to other documents > > scxmlDigester.setNamespaceAware(false); > scxmlDigester.setErrorHandler(errorHandler); // always a good idea > > SCXML scxml = null; > try { > scxml = (SCXML) scxmlDigester.parse(scxmlDocumentURI); > } catch (Exception e) { > // what makes sense here? > } > > if (scxml != null) { > ModelUpdater.updateSCXML(scxml); > } > > // use scxml object further as before > </fragment> > > </code> > > > >> The API Call issue is having problems with the Evaluator parsing the >> externalNodes content in our Dispatcher implementation? Implementation: >> >> request.append(exec.getEvaluator().eval( >> exec.getRootContext(), >> MMIUtil.getBodyText(externalNodes))); >> >> I'm not sure as I checked the SCXMLExecutor and it still has the >> getRootContext() and getEvaluator() methods. The getBodyText simply >> serializes the Nodes into a single string to pass as HTTP POST. >> >> ==== >> >> Scxml source: >> <Request> >> <ItemId xsi:type="xsd:string">${cb.request}</ItemId> >> <ResponseGroup >> xsi:type="xsd:string">Small</ResponseGroup> >> </Request> >> >> The above is in the <send>SOAP ENVELOPE</send> where cb is a variable set >> earlier. It has been evaluated several times to navigate to this event. >> Upon reaching our Dispatcher implementation, logs show the value (ISBN >> number) was passed but when the code above evaluated the externalNodes, it >> doesn't 'inject' the EL evaluated part?? >> > <snap/> > > Just to confirm, this is with an ELEvaluator? (clearly won't work with JEXL). > > If so, I can't see why not, if the root context contains "cb". > > -Rahul > > > >> ==== >> >> If you have any ideas why this could be I'd appreciate steer. >> >> >> Mike >> > <snip/> > > --------------------------------------------------------------------- > 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]