This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
If multiple WSDL documents with identical content except for concrete binding configuration get packaged in a BC SU jar file, the BC has no way to determine which WSDL document to load and therefore which configuration to use. Depending on the order of WSDL parsing in the BC, one configuration would overwrite the other. One way to reproduce this issue: 1. Create a new EJB project 2. Create a new (concrete) WSDL document (SOAP/RPC Literal) 3. Create a new Web Service from the new WSDL file 4. Create a new CompApp project 5. Drag the EJB Project and drop it inside CompApp project's CASA editor 6. Build the CompApp project 7. Right-click on the WSDL port and selects "clone WSDL port to edit", and then changes the SOAP address location. 8. Clean and Build the CompApp project 9. Examine the content of <CompApp>/build/sun-http-binding.jar (which is the service unit to be deployed into HTTP BC). There are two WSDL files with identical content except for the SOAP address location configuration.
Created attachment 81603 [details] CompApp BC SU packaging
The root cause of this issue is that the CompApp packages all the WSDL/XSD files defined in the SU project and the CA project, whether needed or not, into the BC SU jar. Since the CASA file has knowledge of which WSDLs are actually needed and which are not, CompApp should be able to pick and choose WSDL files, and produce a more compact BC SU jar. This will solve the runtime BC issue and also make BC perform more efficient. Before this is implemented, there are a few workarounds to the current port configuration conflict issue: (1) Remove the concrete service port definition from the WSDL file in the SU project. Usually an abstract WSDL is all you need in an SU project. or (2) Remove the existing port defined in the SU project (or the cloned version) from CASA editor. Drag and Drop a new binding from CASA's binding palette, and connect and configure it. Since the new port resides in a different namespace, the port configuration conflict is avoided.