|
next
|
Subject: API unlocks OK, but fails in newConvertToXML Author: Oddbjørn Overskott Date: 16 Jan 2007 09:19 AM Originally Posted: 15 Jan 2007 04:25 PM
|
Sorry about my somewhat lacking error report; here are some more details:
I run 2007 Enterprise suite, build 735f. I downloaded it for evaluation / proof-of-concept on Friday, so I'm on a one week evaluation license.
The code I'm developing runs on an IBM WebSphere app server, version 6.0.2.15, and the app server uses IBM java version 1.4.2. It runs on a Windows 2000 Workstation.
com.stylusstudio.bindir is C:\Programfiler\Stylus Studio 2007 XML Enterprise Suite\bin
I am trying to invoke the EDI adapter, in order to map an edifact string to XML (and then transform it to our generic message format). The Java code is a work in progress, and as of now it looks like this:
<java fragment>
private static ConverterFactory factory = null;
public AbstractMap() {
super();
if (factory == null) {
if (StylusFileFactory.unlockAPI("XXXXXXXXXXXX") != true) {
String eMsg = StylusFileFactory.getUnlockAPIError();
if (eMsg != null && eMsg.startsWith("Insert your")) {
logger.debug("Edit this demo program and insert your Installation ID in the call to unlockAPI");
logger.debug("Make sure CustomFileSystem.jar is in your classpath,");
logger.debug("then compile and run it again.");
}
else {
logger.debug("The call to StylusFileFactory.unlockAPI() failed:\n");
if (eMsg==null)
logger.debug("No reason for failure was returned.");
else logger.debug(eMsg);
}
}
else {
logger.debug("StylusFileFactory was unlocked ok.");
factory = ConverterFactory.newInstance();
}
}
}
protected GenericMessage Map(String messageString) {
try {
StringWriter sw = new StringWriter();
StreamSource input = new StreamSource(new StringReader(messageString));
StreamResult output = new StreamResult(sw);
Converter conv = factory.newConvertToXML("adapter:EDI:decode=no:tbl=no:typ=no:opt=yes");
conv.convert(input, output);
logger.debug(sw.toString());
}
catch (ConverterException ex) {
logger.error("Converter error: ", ex);
}
return null;
}
</java fragment>
The calling function creates a subtype of AbstractMap, and then calls the map() function.
|
|
|