Could you please share more details on the test?
I just did a try with the JBWS2955TestCase (see the testsuite) which has a simple @WebServiceClient annotated service class and the ReflectionServiceFactoryBean seems to create the service just once.
Service created twice from WSDL happens when the port is get or created without port QName :
ProductionMasterdataWSI versionWSI = this.getPort( ProductionMasterdataWSI.class );
If there is no portQName passed in, CXF ServiceImpl creates service with WSDL first to get the port QName, then the service is created again with cxf internal Endpoint initialized.The CXF ServiceImpl reponsible to create service and port here needs to be improved to avoid to the same thing twice. I 'll fill a CXF jira issue and look at it later.Before resolve this issue in CXF, you can explicitly pass a port Qname when create or get a port in service to work around.