Hi everyone,
I'm trying to access a 3rd-party Web Service from within my webapp. Unfortunately I have to add additional classes to the client's JAXContext for it to work. According to the CXF Users Manual and from discussions I had with Daniel Kulp from Apache it should be possible to add these additional classes by configuring the client for CXF as follows:
<jaxws:client name="{urn:name:space:of:service}PortName" createdFromAPI="true">
<jaxws:dataBinding>
<bean class="org.apache.cxf.jaxb.JAXBDataBinding">
<property name="ExtraClass">
<list>
<value>an.additional.binding.ObjectFactory</value>
<value>an.other.additional.binding.ObjectFactory</value>
</list>
</property>
</bean>
</jaxws:dataBinding>
</jaxws:client>
I've been experimenting with this now for three days and it doesn't work at all.
During my debugging work this weekend I logged out which beans get registered with the CXF Bus as the javax.xml.ws.Service gets created and the port gets retrieved. According to the smart guys from Apache CXF I should see a bean being created that has the name "{urn:name:space:of:service}PortName" but I don't. The only one that comes close is a bean called "{urn:name:space:of:service}PortName.jaxws-client.proxyFactory" which is of type "org.apache.cxf.jaxws.JaxWsProxyFactoryBean".
I'm also unable to add additional interceptors to the Web Service Client as described in the CXF Users Manual.
Is it possible that the jbossws-cxf.xml is only pulled in for Web Service Endpoint implementation but not for Web Service consumers?
Thanks,
Steffen