Details
-
Bug
-
Status: Closed
-
Blocker
-
Resolution: Fixed
-
2.1.9, 2.2.6
-
None
Description
When using JaxWsProxyFactoryBean and JaxWsServerFactoryBean with AegisDataBinding some interfaces is broken and all methods call result in NULL.
When contract interface contains method with return type "List<String>" then client assume wrong namespace and all method call is broken.
When I change "List<String>" to "List<MyVOWithOneString>" all working fine.
Server code:
JaxWsServerFactoryBean serverFactoryBean = new JaxWsServerFactoryBean(); serverFactoryBean.setServiceClass(AopUtils.getTargetClass(implementor)); //WSImpl.class serverFactoryBean.setServiceBean(implementor); //WSImpl.class serverFactoryBean.setDataBinding(new AegisDatabinding()); serverFactoryBean.setAddress(url); serverFactoryBean.setBus(cxfServlet.getBus()); serverFactoryBean.create();
Client code:
JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean(); factory.setServiceClass(resultInterfaceClass); //WS.class factory.setAddress(asURL); factory.setDataBinding(new AegisDatabinding()); Object remoteInterfaceImpl = factory.create();
Interface:
@WebService(name="datove_zdroje", targetNamespace="http://ns1") public interface WS { List<String> getCodes(@WebParam(name = "baseCode") String baseCode); }
Implementation:
@WebService(serviceName = "datove_zdroje", endpointInterface = "cz.marbes.daisy.modules.doc.ws.v1_0_0.WS") public class WSImpl implements WS { @Override public List<String> getCodes(final String baseCode) { return new ArrayList<String>(); } }
This is a general error in CXF client that assume wrong namespaces.
Attachments
Attachments
Issue Links
- is cloned by
-
CXF-2673 JaxWsProxyFactoryBean and JaxWsServerFactoryBean communication broken in some cases after upgrade to 2.2.7
- Closed