You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@juddi.apache.org by "Marek Baluch (JIRA)" <ju...@ws.apache.org> on 2010/02/03 15:23:28 UTC

[jira] Reopened: (JUDDI-319) JUDDI InquiryServiceImpl is unable to handle empty business entities.

     [ https://issues.apache.org/jira/browse/JUDDI-319?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Marek Baluch reopened JUDDI-319:
--------------------------------


I am reopening this issue after talking with Kurt on IRC. This issue does not duplicate https://issues.apache.org/jira/browse/JUDDI-312. It is the direct result of the fix.

How to reproduce:

1) publish a business the following way:

public void publishEmptyBusiness() throws Exception {
    Name bName = new Name();
    bName.setValue("Business 1");
	
    BusinessEntity business = new BusinessEntity();
    //business.setBusinessKey("uddi:juddi.apache.org:test-business");
    business.getName().add(bName);
		
    SaveBusiness sBusiness = new SaveBusiness();
    sBusiness.setAuthInfo(authInfo);
    sBusiness.getBusinessEntity().add(business);
		
    connector.getPublicationPort().saveBusiness(sBusiness);
}

2) open the juddi console and click on the business. (if it is possible :)) 

Clicking the business in the console browser is possible only with juddi 3.0.0. With juddi 3.0.1 we get an exception when the portlet is trying to retrieve the businesses.
The exception should have the same cause as the one in this JIRA record.

> JUDDI InquiryServiceImpl is unable to handle empty business entities.
> ---------------------------------------------------------------------
>
>                 Key: JUDDI-319
>                 URL: https://issues.apache.org/jira/browse/JUDDI-319
>             Project: jUDDI
>          Issue Type: Bug
>          Components: console - portlets
>    Affects Versions: 3.0
>            Reporter: Marek Baluch
>            Assignee: Kurt T Stam
>
> When a BusinessEntity which doesn't define any BusinessService objects is saved to jUDDI then a NullPointerException will be thrown on an attempt to view the business entity properties in jUDDI console. The following exception is present in server log:
> 08:36:58,448 ERROR [InquiryServiceImpl] Could not obtain token. null
> java.lang.NullPointerException
> at org.apache.juddi.portlets.server.service.InquiryServiceImpl.getBusinessDetail(InquiryServiceImpl.java:151)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:527)
> at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:164)
> at com.google.gwt.user.server.rpc.RemoteServiceServlet.doPost(RemoteServiceServlet.java:86)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
> at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
> at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525)
> at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
> at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
> at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
> at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
> at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598)
> at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
> at java.lang.Thread.run(Thread.java:619)
> I've used the following code to add the business entity to jUDDI registry:
>         private static UDDISecurityPortType security;
>         // some left out code ...
>         public void addBusinessEntity() throws Exception {
>                 UDDIPublicationPortType pubPort = (UDDIPublicationPortType) testServices.lookup("juddiv3/UDDIPublicationService");
>                 assert(pubPort != null);
>                 Name name = new Name();
>                 name.setValue("Special Node");
>                 BusinessEntity businessEntity = new BusinessEntity();
>                 businessEntity.setBusinessKey("uddi:juddi.apache.org:special");
>                 businessEntity.getName().add(name);
>                 /* if BusinessServices is not added NullPointerException will be thrown on an attempt in console to view the business.
>                 BusinessServices must contain at least one BusinessService */
>                 //businessEntity.setBusinessServices(someBusinessServices);
>                 SaveBusiness saveBusiness = new SaveBusiness();
>                 saveBusiness.setAuthInfo(getAuthInfo());
>                 saveBusiness.getBusinessEntity().add(businessEntity);
>                 pubPort.saveBusiness(saveBusiness);
>        }
>        private static String getAuthInfo() throws Exception {
>                 GetAuthToken getAuthToken = new GetAuthToken();
>                 getAuthToken.setUserID("root");
>                 getAuthToken.setCred("");
>                 AuthToken authToken = security.getAuthToken(getAuthToken);
>                 return authToken.getAuthInfo();
>        }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.