I think we have another case to deal with in bindings like the Axis2
binding, which is the case that the user provides a portType on <
interface.wsdl>
without a full port.
So the SCDL would look like:
<component name="JAXBTestComponent1">
<implementation.java ...>
<service...>
<interface.wsdl interface="http://blah#wsdl.interface(Blah)" />
<binding.ws/>
....
I admit I haven't run this test, but when I look at this code it looks like
if I find an <interface.wsdl> I'm going to assume
I don't need to generate a port.
public Axis2ServiceBindingProvider(RuntimeComponent component,
RuntimeComponentService service,
WebServiceBinding wsBinding,
ServletHost servletHost,
MessageFactory messageFactory) {
this.wsBinding = wsBinding;
InterfaceContract contract = wsBinding.getBindingInterfaceContract
();
if (contract == null) {
contract = service.getInterfaceContract
().makeUnidirectional(false);
if ((contract instanceof JavaInterfaceContract)) {
contract =
Java2WSDLHelper.createWSDLInterfaceContract((JavaInterfaceContract)contract,
requiresSOAP12(wsBinding));
}
wsBinding.setBindingInterfaceContract(contract);
}
I think that, not only should we still be able to generate a port in this
case, but we should start from the <intf.wsdl>, not the Java.
Any thoughts on this before I open a JIRA?
Thanks,
Scott