SAML 从实体 ID 生成元数据



我正在尝试为服务提供商生成SAML元数据,我创建了简单的servlet并尝试在methoad doGet()中生成元数据

这是我在下面尝试过的代码

import java.io.IOException;
import java.io.PrintWriter;
import java.net.HttpRetryException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.xml.namespace.QName;
import org.opensaml.Configuration;
import org.opensaml.saml2.metadata.EntityDescriptor;
import org.opensaml.xml.XMLObjectBuilderFactory;
public class MetadataProviderServlet extends HttpServlet{
	protected void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{
		PrintWriter writer = response.getWriter();
		response.setContentType("text/html");
		writer.println("Hello world");
		
		String entityId = "www.sampleEntityId.com";
		
		XMLObjectBuilderFactory builderFactory = Configuration.getBuilderFactory();
		 
		EntityDescriptor descriptor = (EntityDescriptor)(builderFactory.getBuilder(EntityDescriptor.DEFAULT_ELEMENT_NAME).buildObject(EntityDescriptor.DEFAULT_ELEMENT_NAME));
		descriptor.setEntityID(entityId);
		
		
		
	}
	
	
}

但是当我使用一个应用程序服务器运行 Web 应用程序时,我在特别创建对象实体描述符时遇到了 NUllpointer 异常。任何人都可以弄清楚出了什么问题吗?

您需要先初始化 OpenSAML 库。OpenSAML 使用引导方法进行初始化。

DefaultBootstrap.bootstrap();

我在我的博客上写了这个

这里

最新更新