Set collection container to null when the collection has no elements --------------------------------------------------------------------
Key: JUDDI-312 URL: https://issues.apache.org/jira/browse/JUDDI-312 Project: jUDDI Issue Type: Bug Affects Versions: 3.0.1 Reporter: Jeff Faath Assignee: Jeff Faath Priority: Minor >From dev mailing list: Actually, I think the problem is returning a non-null serviceInfos without any serviceInfo. Probably somewhere in the mapping layer, the serviceInfos is created, the services looped through (adding serviceInfo to the serviceInfos) and then the serviceInfos is set for the parent the businessInfo. So, even if there are no services, a non-null serviceInfos is still set. This would cause the JAXB marshaller to output a serviceInfos element (with no serviceInfo elements). The fix would be to make sure the serviceInfos is null if there are no services. The same issue probably occurs for other child collections (ex. The bindingTemplates of services). > It seems that if I create a publish a brand new business entity to the > 'uddi' publisher, by sending the request: > > <urn:save_business> > > <urn:authInfo>authtoken:5ece2884-694e-4341-b856-2a9d7c418aa6</urn:authInfo> > > <urn:businessEntity businessKey="uddi:uddi.org:MyBusinessKey"> > <urn:name >MySampleBusiness</urn:name> > </urn:businessEntity> > </urn:save_business> > > I get back a successful response (a <businessDetail> message, with the > detail of my new business. > > But then if I call <find_Business> for that business entity, I get a > hard 'marshalling error', and in the logs I find the following: > > [org.xml.sax.SAXParseException: cvc-complex-type.2.4.b: The content of > element 'serviceInfos' is not complete. One of > '{"urn:uddi-org:api_v3":serviceInfo}' is expected.] > > I have no trouble calling <find_business> for business entities which > have one or more business services. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.