Hi, wsdls says that soap action is "default" but on the wire it's sending nothing.
fragment of wsdl <wsdl:binding name='getBrandServiceOperationsBinding' type='tns:getBrandServiceOperations'> <soap:binding style='document' transport='http://schemas.xmlsoap.org/soap/http'/> <wsdl:operation name='getBrandService'> <soap:operation soapAction='default'/> <wsdl:input> <soap:body use='literal'/> </wsdl:input> <wsdl:output> <soap:body use='literal'/> </wsdl:output> <wsdl:fault name='TechnicalExceptionFault'> <soap:fault name='TechnicalExceptionFault' use='literal'/> </wsdl:fault> </wsdl:operation> </wsdl:binding> i didn't find in sources a place, where action is set except the place, which is reading action from annotations. best regards jano Daniel Kulp <[EMAIL PROTECTED]> 05/13/2008 04:34 Bitte antworten an [email protected] An [email protected] Kopie Thema Re: empty soap action using JAXWS/JAXB [Virus checked] What does the wsdl say for the action field on the operations? If you create a service from the wsdl, the wsdl is the definitive contract and is what we use to determine the soap action, not the annotations. Dan On May 7, 2008, at 4:54 AM, [EMAIL PROTECTED] wrote: > 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 --- Daniel Kulp [EMAIL PROTECTED] http://www.dankulp.com/blog
