[
https://issues.apache.org/jira/browse/JUDDI-536?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13175562#comment-13175562
]
subes edited comment on JUDDI-536 at 12/23/11 8:01 PM:
-------------------------------------------------------
About JUDDI 3.1.2 NPE, this is the real exception causing this:
{code}
Caused by: java.lang.NullPointerException: null
at
org.apache.juddi.validation.ValidatePublish.validateSaveBusinessMax(ValidatePublish.java:280)
~[juddi-core-3.1.2.jar:3.1.2]
at
org.apache.juddi.api.impl.UDDIPublicationImpl.saveBusiness(UDDIPublicationImpl.java:595)
~[juddi-core-3.1.2.jar:3.1.2]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
~[na:1.6.0_23]
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
~[na:1.6.0_23]
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
~[na:1.6.0_23]
at java.lang.reflect.Method.invoke(Method.java:616) ~[na:1.6.0_23]
at
org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:173)
~[cxf-bundle-2.5.0.jar:2.5.0]
at
org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:89)
~[cxf-bundle-2.5.0.jar:2.5.0]
... 40 common frames omitted
{code}
This is on method:
{code}
public void validateSaveBusinessMax(EntityManager em) throws
DispositionReportFaultMessage {
//Obtain the maxSettings for this publisher or get the defaults
Publisher publisher = em.find(Publisher.class,
getPublisher().getAuthorizedName());
Integer maxBusinesses = publisher.getMaxBusinesses();
try {
if (maxBusinesses==null) {
if
(AppConfig.getConfiguration().containsKey(Property.JUDDI_MAX_BUSINESSES_PER_PUBLISHER))
{
maxBusinesses =
AppConfig.getConfiguration().getInteger(Property.JUDDI_MAX_BUSINESSES_PER_PUBLISHER,
-1);
} else {
maxBusinesses = -1;
}
}
} catch (ConfigurationException e) {
log.error(e.getMessage(), e);
}
//if we have the maxBusinesses set for this publisher then we
need to make sure we did not exceed it.
if (maxBusinesses > 0) {
//get the businesses owned by this publisher
List<?> businessKeysFound =
FindBusinessByPublisherQuery.select(em, null, publisher, null);
if (businessKeysFound!=null && businessKeysFound.size()
> maxBusinesses)
throw new MaxEntitiesExceededException(new
ErrorMessage("errors.save.maxBusinessesExceeded"));
}
}
{code}
The problem is that the publisher is not found for the publisher name
"invesdwin". Because publisher is null, it cannot load the default settings for
him. This happens exactly here:
{code}
Publisher publisher = em.find(Publisher.class,
getPublisher().getAuthorizedName());
Integer maxBusinesses = publisher.getMaxBusinesses()
{code}
was (Author: subes):
About JUDDI 3.1.2 NPE, this is the real exception causing this:
{code}
Caused by: java.lang.NullPointerException: null
at
org.apache.juddi.validation.ValidatePublish.validateSaveBusinessMax(ValidatePublish.java:280)
~[juddi-core-3.1.2.jar:3.1.2]
at
org.apache.juddi.api.impl.UDDIPublicationImpl.saveBusiness(UDDIPublicationImpl.java:595)
~[juddi-core-3.1.2.jar:3.1.2]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
~[na:1.6.0_23]
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
~[na:1.6.0_23]
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
~[na:1.6.0_23]
at java.lang.reflect.Method.invoke(Method.java:616) ~[na:1.6.0_23]
at
org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:173)
~[cxf-bundle-2.5.0.jar:2.5.0]
at
org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:89)
~[cxf-bundle-2.5.0.jar:2.5.0]
... 40 common frames omitted
{code}
This is on method:
{code}
public void validateSaveBusinessMax(EntityManager em) throws
DispositionReportFaultMessage {
//Obtain the maxSettings for this publisher or get the defaults
Publisher publisher = em.find(Publisher.class,
getPublisher().getAuthorizedName());
Integer maxBusinesses = publisher.getMaxBusinesses();
try {
if (maxBusinesses==null) {
if
(AppConfig.getConfiguration().containsKey(Property.JUDDI_MAX_BUSINESSES_PER_PUBLISHER))
{
maxBusinesses =
AppConfig.getConfiguration().getInteger(Property.JUDDI_MAX_BUSINESSES_PER_PUBLISHER,
-1);
} else {
maxBusinesses = -1;
}
}
} catch (ConfigurationException e) {
log.error(e.getMessage(), e);
}
//if we have the maxBusinesses set for this publisher then we
need to make sure we did not exceed it.
if (maxBusinesses > 0) {
//get the businesses owned by this publisher
List<?> businessKeysFound =
FindBusinessByPublisherQuery.select(em, null, publisher, null);
if (businessKeysFound!=null && businessKeysFound.size()
> maxBusinesses)
throw new MaxEntitiesExceededException(new
ErrorMessage("errors.save.maxBusinessesExceeded"));
}
}
{code}
The problem is that the publisher is not found for the publisher name
"invesdwin". Because publisher is null, it cannot load the default settings for
him.
> org.xml.sax.SAXParseException: s4s-att-not-allowed: Attribute 'nillable'
> cannot appear in element 'element'.
> ------------------------------------------------------------------------------------------------------------
>
> Key: JUDDI-536
> URL: https://issues.apache.org/jira/browse/JUDDI-536
> Project: jUDDI
> Issue Type: Bug
> Components: CXF
> Affects Versions: 3.1.0
> Environment: CXF 2.5.0
> Reporter: subes
> Assignee: Kurt T Stam
> Attachments: error.log
>
>
> When using CXF with JUDDI 3.1.0, the following exception is printed quite
> often:
> 2011-12-19 14:44:07,585 [ |qtp1530777310-23 ] WARN
> org.apache.cxf.wsdl.EndpointReferenceUtils.createSchema - SAXException for
> newSchema()
> org.xml.sax.SAXParseException: s4s-att-not-allowed: Attribute 'nillable'
> cannot appear in element 'element'.
> at
> com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:198)
> ~[na:1.7.0_147-icedtea]
> at
> com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:134)
> ~[na:1.7.0_147-icedtea]
> at
> com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:437)
> ~[na:1.7.0_147-icedtea]
> at
> com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.reportSchemaErr(XSDHandler.java:4124)
> ~[na:1.7.0_147-icedtea]
> at
> com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.reportSchemaError(XSDHandler.java:4107)
> ~[na:1.7.0_147-icedtea]
> at
> com.sun.org.apache.xerces.internal.impl.xs.traversers.XSAttributeChecker.reportSchemaError(XSAttributeChecker.java:1567)
> ~[na:1.7.0_147-icedtea]
> at
> com.sun.org.apache.xerces.internal.impl.xs.traversers.XSAttributeChecker.checkAttributes(XSAttributeChecker.java:1103)
> ~[na:1.7.0_147-icedtea]
> at
> com.sun.org.apache.xerces.internal.impl.xs.traversers.XSAttributeChecker.checkAttributes(XSAttributeChecker.java:961)
> ~[na:1.7.0_147-icedtea]
> at
> com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDElementTraverser.traverseLocal(XSDElementTraverser.java:160)
> ~[na:1.7.0_147-icedtea]
> at
> com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.traverseLocalElements(XSDHandler.java:3580)
> ~[na:1.7.0_147-icedtea]
> at
> com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.parseSchema(XSDHandler.java:622)
> ~[na:1.7.0_147-icedtea]
> at
> com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaLoader.loadSchema(XMLSchemaLoader.java:585)
> ~[na:1.7.0_147-icedtea]
> at
> com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaLoader.loadGrammar(XMLSchemaLoader.java:552)
> ~[na:1.7.0_147-icedtea]
> at
> com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaLoader.loadGrammar(XMLSchemaLoader.java:518)
> ~[na:1.7.0_147-icedtea]
> at
> com.sun.org.apache.xerces.internal.jaxp.validation.XMLSchemaFactory.newSchema(XMLSchemaFactory.java:227)
> ~[na:1.7.0_147-icedtea]
> at
> org.apache.cxf.wsdl.EndpointReferenceUtils.createSchema(EndpointReferenceUtils.java:693)
> [de.invesdwin.gemeinsam.integration.ws.registry-prod-0.1.3.jar:0.1.3]
> at
> org.apache.cxf.wsdl.EndpointReferenceUtils.getSchema(EndpointReferenceUtils.java:737)
> [de.invesdwin.gemeinsam.integration.ws.registry-prod-0.1.3.jar:0.1.3]
> at
> org.apache.cxf.interceptor.AbstractInDatabindingInterceptor.setSchemaInMessage(AbstractInDatabindingInterceptor.java:108)
> [de.invesdwin.gemeinsam.integration.ws.registry-prod-0.1.3.jar:0.1.3]
> at
> org.apache.cxf.interceptor.AbstractInDatabindingInterceptor.getDataReader(AbstractInDatabindingInterceptor.java:93)
> [de.invesdwin.gemeinsam.integration.ws.registry-prod-0.1.3.jar:0.1.3]
> at
> org.apache.cxf.interceptor.AbstractInDatabindingInterceptor.getDataReader(AbstractInDatabindingInterceptor.java:98)
> [de.invesdwin.gemeinsam.integration.ws.registry-prod-0.1.3.jar:0.1.3]
> at
> org.apache.cxf.interceptor.DocLiteralInInterceptor.handleMessage(DocLiteralInInterceptor.java:69)
> [de.invesdwin.gemeinsam.integration.ws.registry-prod-0.1.3.jar:0.1.3]
> at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:263)
> [de.invesdwin.gemeinsam.integration.ws.registry-prod-0.1.3.jar:0.1.3]
> at
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
> [de.invesdwin.gemeinsam.integration.ws.registry-prod-0.1.3.jar:0.1.3]
> at
> org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:206)
> [de.invesdwin.gemeinsam.integration.ws.registry-prod-0.1.3.jar:0.1.3]
> at
> org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:218)
> [de.invesdwin.gemeinsam.integration.ws.registry-prod-0.1.3.jar:0.1.3]
> at
> org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:200)
> [de.invesdwin.gemeinsam.integration.ws.registry-prod-0.1.3.jar:0.1.3]
> at
> org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:114)
> [de.invesdwin.gemeinsam.integration.ws.registry-prod-0.1.3.jar:0.1.3]
> at
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:184)
> [de.invesdwin.gemeinsam.integration.ws.registry-prod-0.1.3.jar:0.1.3]
> at
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:107)
> [de.invesdwin.gemeinsam.integration.ws.registry-prod-0.1.3.jar:0.1.3]
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:595)
> [de.invesdwin.gemeinsam.integration.ws.registry-prod-0.1.3.jar:0.1.3]
> at
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:163)
> [de.invesdwin.gemeinsam.integration.ws.registry-prod-0.1.3.jar:0.1.3]
> at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:558)
> [de.invesdwin.gemeinsam.integration.ws.registry-prod-0.1.3.jar:0.1.3]
> at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:488)
> [de.invesdwin.gemeinsam.integration.ws.registry-prod-0.1.3.jar:0.1.3]
> at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
> [de.invesdwin.gemeinsam.integration.ws.registry-prod-0.1.3.jar:0.1.3]
> at
> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:520)
> [de.invesdwin.gemeinsam.integration.ws.registry-prod-0.1.3.jar:0.1.3]
> at
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:233)
> [de.invesdwin.gemeinsam.integration.ws.registry-prod-0.1.3.jar:0.1.3]
> at
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:972)
> [de.invesdwin.gemeinsam.integration.ws.registry-prod-0.1.3.jar:0.1.3]
> at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:417)
> [de.invesdwin.gemeinsam.integration.ws.registry-prod-0.1.3.jar:0.1.3]
> at
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:192)
> [de.invesdwin.gemeinsam.integration.ws.registry-prod-0.1.3.jar:0.1.3]
> at
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:906)
> [de.invesdwin.gemeinsam.integration.ws.registry-prod-0.1.3.jar:0.1.3]
> at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
> [de.invesdwin.gemeinsam.integration.ws.registry-prod-0.1.3.jar:0.1.3]
> at
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:110)
> [de.invesdwin.gemeinsam.integration.ws.registry-prod-0.1.3.jar:0.1.3]
> at org.eclipse.jetty.server.Server.handle(Server.java:350)
> [de.invesdwin.gemeinsam.integration.ws.registry-prod-0.1.3.jar:0.1.3]
> at
> org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:442)
> [de.invesdwin.gemeinsam.integration.ws.registry-prod-0.1.3.jar:0.1.3]
> at
> org.eclipse.jetty.server.HttpConnection$RequestHandler.content(HttpConnection.java:941)
> [de.invesdwin.gemeinsam.integration.ws.registry-prod-0.1.3.jar:0.1.3]
> at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:801)
> [de.invesdwin.gemeinsam.integration.ws.registry-prod-0.1.3.jar:0.1.3]
> at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:218)
> [de.invesdwin.gemeinsam.integration.ws.registry-prod-0.1.3.jar:0.1.3]
> at
> org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:52)
> [de.invesdwin.gemeinsam.integration.ws.registry-prod-0.1.3.jar:0.1.3]
> at
> org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:586)
> [de.invesdwin.gemeinsam.integration.ws.registry-prod-0.1.3.jar:0.1.3]
> at
> org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:44)
> [de.invesdwin.gemeinsam.integration.ws.registry-prod-0.1.3.jar:0.1.3]
> at
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:598)
> [de.invesdwin.gemeinsam.integration.ws.registry-prod-0.1.3.jar:0.1.3]
> at
> org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:533)
> [de.invesdwin.gemeinsam.integration.ws.registry-prod-0.1.3.jar:0.1.3]
> at java.lang.Thread.run(Thread.java:722) [na:1.7.0_147-icedtea]
> Though the functionality does not seem to be affected by this. Any idea where
> this comes from and how to suppress this? The previous version of JUDDI did
> not cause this exception.
> I've also reported this issue on CXF, because I can't estimate which project
> in fact causes this: https://issues.apache.org/jira/browse/CXF-3980
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira