Hi there!
Below is an excerpt of the org.jboss.ws.core.jaxws.spi.ServiceDelegateImpl.java class which shows the method that consumes so much time in my case. What I'd like to know is, how can I prevent the if part being executed, i.e. how can I put the portName into annotatedPorts before getPort is called? Through annotation i suppose.. but where.. on the web service interface?
private <T> T getPortInternal(EndpointMetaData epMetaData, Class<T> seiClass) {
QName portName = epMetaData.getPortName();
// Adjust the endpoint meta data according to the annotations
if (annotatedPorts.contains(portName) == false) {
synchronized (epMetaData)
{ if (annotatedPorts.contains(portName) == false) {
JAXWSClientMetaDataBuilder metaDataBuilder =
new JAXWSClientMetaDataBuilder(); metaDataBuilder.rebuildEndpointMetaData(epMetaData, seiClass);
annotatedPorts.add(portName); }
}
}
return (T)createProxy(seiClass, epMetaData);
}