Hello,

i'm using following code to obtain client proxy (some comments in code)


                JaxWsProxyFactoryBean factory = new 
JaxWsProxyFactoryBean();
                factory.setServiceClass(serviceInterface); // here is 
wsdl2java generated port interface (which contains soapaction="default")
                factory.setAddress(address); // service provider endpoint
                factory.setWsdlLocation(wsdlLocation); // in form 
classpath:xx.wsdl
                factory.setServiceName(QName.valueOf(serviceName)); // 
from wsdl
                factory.setProperties(new HashMap<String, Object>());
                factory.getProperties().put("schema-validation-enabled", 
new Boolean(schemaValidationEnabled)); // true
                T port = (T) factory.create();

i'm using cxf 2.1

during initialization it takes buildServiceFromWSDL path in 
ReflectionServiceFactoryBean

during this path, it never invoked line like o.setProperty("action", 
getAction(o, method));
which results in missing (empty) soap action .... which doesn't work for 
system i want to call.

Am I doing something wrongly? Or did i miss something?

I see it as a bug and fix seems to be to add missing magic line into 
initializeWSDLOperation of JaxWsServiceFactoryBean class. There are more 
places which are good enough for me, but i don't know which is the best in 
general.

best regards
jano

Reply via email to