परिनियोजन पर्यावरण: विंडोज सर्वर 2008, टॉमकैट 7.0.5, ओरेकल जेआरई 1.6। विकास पर्यावरण वही प्लस ग्रहण हेलिओस।ओपनएसएमएल बूटस्ट्रैप() मुझे नेट करता है "इनपुटस्ट्रीम शून्य नहीं हो सकता है"
जब मैं अपने जावा एप्लिकेशन को तैनात करने का प्रयास करता हूं जो OpenSAML 2.3.1 का उपयोग करता है और इसे लाइव परीक्षण करता है, तो यह दौड़ना नहीं चाहता है। स्रोत कोड और स्टैक ट्रेस के माध्यम से देखकर, ऐसा लगता है कि DefaultBootstrap.bootstrap()
java.lang.IllegalArgumentException: InputStream cannot be null
के कारण समाप्त होता है। मैं नीचे पूर्ण स्टैक ट्रेस शामिल कर रहा हूँ।
लक्ष्य परिनियोजन प्रणाली पर सॉफ़्टवेयर संस्करण, या कम से कम मेरे विकास बॉक्स के समान ही हैं, जहां सब कुछ ठीक चल रहा है, लेकिन निश्चित रूप से मैं .war का उपयोग करके तैनात नहीं करता । मुझे अलग महसूस हो रहा है कि मुझे तैनाती संग्रह में कुछ एक्सएमएल या डीटीडी फाइल याद आ रही है, लेकिन अकेले महसूस करने से मुझे इसे ठीक करने में बहुत मदद नहीं मिलती है। स्टैकट्रस के कुछ हिस्सों के लिए गुगलिंग ने वास्तव में मुझे बहुत मदद नहीं की।
मैं इस त्रुटि के वास्तविक मूल कारण को ट्रैक करना शुरू कर दूं, तो मैं इसे ठीक कर सकता हूं?
private PersedResponse() throws ConfigurationException {
DefaultBootstrap.bootstrap(); // line 56
...
जबकि कि एक ही फाइल में लाइन 104 निर्माता के बाहर इस निजी डिफ़ॉल्ट कॉलिंग से बुलाया जाता है जो:
2011-feb-10 10:56:08 org.apache.catalina.core.StandardWrapperValve invoke
ALLVARLIG: Servlet.service() for servlet [se.novasoftware.gabriel.SAMLParser] in context with path [/ServiceTier] threw exception [java.lang.IllegalArgumentException: InputStream cannot be null] with root cause
java.lang.IllegalArgumentException: InputStream cannot be null
at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:120)
at org.opensaml.xml.parse.BasicParserPool$DocumentBuilderProxy.parse(BasicParserPool.java:643)
at org.opensaml.xml.parse.BasicParserPool.parse(BasicParserPool.java:216)
at org.opensaml.xml.XMLConfigurator.load(XMLConfigurator.java:141)
at org.opensaml.DefaultBootstrap.initializeXMLTooling(DefaultBootstrap.java:148)
at org.opensaml.DefaultBootstrap.bootstrap(DefaultBootstrap.java:88)
at _mynamespace_.saml.ParsedResponse.<init>(ParsedResponse.java:56)
at _mynamespace_.saml.ParsedResponse.<init>(ParsedResponse.java:104)
at _mynamespace_.SAMLParser.doPost(SAMLParser.java:29) // servlet entry point
at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:306)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:108)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:379)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:243)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:259)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:281)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
ParsedResponse.java लाइन 56 अपने निर्माता में बूटस्ट्रैप() कॉल है कन्स्ट्रक्टर:
public ParsedResponse(final String samlXML)
throws UnmarshallingException, ConfigurationException {
this(); // line 104
...