[英]How to setup Apache-FOP to get it work within Websphere 8.5?
我正在開發一個模塊,它將數據從XML文件導出到PDF文件,因此我使用XSLT作為代理來實現它。
我的代碼可在獨立應用程序中正常運行,但不能在Web應用程序中運行。
我不得不說我的應用程序服務器是帶有JRE6和FOP-1.1 jar庫的Websphere Liberty Profile 8.5。
希望您能提供幫助,在此先感謝您。
資源:
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.fop.apps.FOUserAgent;
import org.apache.fop.apps.Fop;
import org.apache.fop.apps.FopFactory;
import org.apache.fop.apps.MimeConstants;
import com.sun.xml.internal.messaging.saaj.util.ByteOutputStream;
@WebServlet("/FopTester")
public class FopTester extends HttpServlet {
private static final long serialVersionUID = 1L;
public FopTester() {
super();
}
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
try {
ByteOutputStream out = new ByteOutputStream();
FopFactory fopFactory = FopFactory.newInstance();
FOUserAgent foUserAgent = fopFactory.newFOUserAgent();
Fop fop = fopFactory.newFop(MimeConstants.MIME_PDF, foUserAgent,
out);
} catch (Exception e) {
e.printStackTrace();
}
}
}
它失敗於:
Fop fop = fopFactory.newFop(MimeConstants.MIME_PDF, foUserAgent,out);
錯誤:
[err] java.lang.NullPointerException
[err] at com.ibm.ws.classloading.internal.ContainerClassLoader$EntryUniversalResource.getResourceURL(ContainerClassLoader.java:207)
[err] at [internal classes]
當使用包含空格的名稱調用getResource時,此NullPointerException是Liberty中的一個已知問題(PI13291)。 我建議與IBM打開PMR並請求iFix。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.