Not sure I fully understand your current situiation
So currently you still see java.lang.ClassCastException:
org.apache.cxf.message.XMLMessage
cannot be cast to org.apache.cxf.binding.soap.SoapMessage. ?
Or something else you get?
And I think "text/xml;charset=UTF-8" as content type should be fine.
Any way, you can specify contentType with some configuration like
<http:conduit ...>
<http:client ContentType="...">
..
[1] for more details
[1]http://cxf.apache.org/docs/client-http-transport-including-ssl-support.html
Freeman
On 2010-12-16, at 下午8:41, Juan Pablo Pizarro wrote:
I have only the client, the server is in C#. I change the binding
first and
the result was "text/xml;
charset=UTF-8" as content type. Then I play with the interceptors..
now I
have:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:jaxws="http://cxf.apache.org/jaxws" xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://cxf.apache.org/jaxws
http://cxf.apache.org/schemas/jaxws.xsd">
<import resource="classpath:META-INF/cxf/cxf.xml" />
<import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
<import resource="classpath:META-INF/cxf/cxf-extension-http-
binding.xml"
/>
<import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
<bean id="wsclient" class="org.tempuri.IStock" factory-
bean="wsFactory"
factory-method="create" />
<bean id="wsFactory"
class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean">
<property name="serviceClass" value="org.tempuri.IStock" />
<property name="address" value="
http://wss.aduanas.gub.uy/LuciaWsSecurity/Stock.svc" />
<property name="outInterceptors">
<list>
<bean
class="org.apache.cxf.binding.soap.saaj.SAAJOutInterceptor" />
<ref bean="wss4jOutInterceptor" />
</list>
</property>
<property name="bindingId" value="http://schemas.xmlsoap.org/soap/
"
/>
<!-- <property name="transportId" value="
http://schemas.xmlsoap.org/wsdl/soap/http"/> -->
</bean>
<bean id="wss4jOutInterceptor"
class="org.apache.cxf.ws.security.wss4j.WSS4JOutInterceptor">
<constructor-arg>
<map>
<entry key="action" value="Signature Timestamp" />
<entry key="signaturePropFile"
value="Client_Sign.properties" />
<entry key="user"
value="le-60dca1be-5393-48b3-bbc3-0dfb1ab40d25" />
<entry key="passwordCallbackRef">
<ref bean="signaturePwdCallback" />
</entry>
</map>
</constructor-arg>
</bean>
<bean id="signaturePwdCallback"
class="org.jpp.ws.client.ClientCallback"
/>
</beans>
I tried with soapUI and it works. It sends "Content-Type:
application/soap+xml;charset=UTF-8;action="
http://tempuri.org/IStock/MensajeStock""
Some suggestion?
Thanks!!
JP
--
Freeman Fang
------------------------
FuseSource: http://fusesource.com
blog: http://freemanfang.blogspot.com
twitter: http://twitter.com/freemanfang
Apache Servicemix:http://servicemix.apache.org
Apache Cxf: http://cxf.apache.org
Apache Karaf: http://karaf.apache.org
Apache Felix: http://felix.apache.org