Oracle WSDL files contain ESB port entry that causes connection failures
------------------------------------------------------------------------
Key: CXF-1920
URL: https://issues.apache.org/jira/browse/CXF-1920
Project: CXF
Issue Type: Bug
Components: Core, JAX-WS Runtime, Soap Binding
Affects Versions: 2.1.3
Reporter: Frank Adcock
Priority: Critical
A WSDL file generated by Oracle ESB web services creates a port-type entry
which is not supported by CXF of the form
<port name="__esb_Acknowledge_execute_ppt"
binding="tns:__esb_Acknowledge_execute_ppt"></port>
CXF attempts to create a binding to the port name which fails with the
following
Caused by: org.apache.cxf.wsdl11.WSDLRuntimeException: Cannot find the
destination factory, check the port //wsdl:[EMAIL PROTECTED]
A correct soap name is available in the WSDL but because there is no defined
port name or matching transport CXF throws this exception when working with
Oracle ESB web services.
A quick fix for it may be to check for a null bindingId in the method
org.apache.cxf.jaxws.ServiceImpl.addPort and not add if null bindingId. I am
unable to download the sources here to be able to verify if this will hold up.
public final void addPort(QName portName, String bindingId, String address)
{
PortInfoImpl portInfo = new PortInfoImpl(bindingId, portName,
serviceName);
portInfo.setAddress(address);
portInfos.put(portName, portInfo);
}
In 2.1.2 the same exception was being thrown when initially creating the
service which has since been modified as part of the 2.1.3 release.
In my particular case I am not interested in the Oracle ESB port so to ignore
its existence and continue working with the SOAP port would be advantageous.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.