Few things;

1) can you use wireshark or similar to grab the raw transfer?   I'd like to 
see the SOAPAction header in the  HTTP request an the Action in the 
soap:header.

2) Are there any Action annotations or similar on the interface?

3) Is there a way to add a "wsdlLocation" attribute that may point to the WSDL 
that would have the actions defined?

4) Is there a stack trace on that error?  Is the error coming from the server 
or from the client?

Dan


On Thursday 16 December 2010 2:18:26 pm Juan Pablo Pizarro wrote:
> Hello all, I'm trying to put a soapAction through Spring+cxf (2.3.0).
> 
> I've this:
> 
> <beans xmlns="http://www.springframework.org/schema/beans";
> ...
> 
>     <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.xml" />
>     <import resource="classpath:META-INF/cxf/cxf-extension-policy.xml" />
>     <import resource="classpath:META-INF/cxf/cxf-extension-ws-security.xml"
> />
> 
>     <cxf:bus>
>         <cxf:features>
>             <p:policies />
>             <cxf:logging />
>             <wsa:addressing/>
>         </cxf:features>
>     </cxf:bus>
> 
>     <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/";
>             /> -->
>     </bean>
> 
>     <bean id="wss4jOutInterceptor"
> class="org.apache.cxf.ws.security.wss4j.WSS4JOutInterceptor">
>         <constructor-arg>
>             <map>
>                 <entry key="timeToLive" value="120" />
>                 <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="passwordType" value="PasswordDigest" />
>                 <entry key="signatureKeyIdentifier" value="DirectReference"
> />
> 
>                 <entry key="passwordCallbackRef">
>                     <ref bean="signaturePwdCallback" />
>                 </entry>
> 
>                 <!-- <entry key="signatureParts" value="{}{
> http://www.w3.org/2005/08/addressing}Action;{}{http://www.w3.org/2005/08/ad
> dressing}ReplyTo;{}{http://www.w3.org/2005/08/addressing}MessageID;{}{http:
> //www.w3.org/2005/08/addressing}To"
> 
>                     /> -->
> 
>             </map>
>         </constructor-arg>
>     </bean>
> 
>     <bean id="signaturePwdCallback"
> class="org.jpp.ws.client.ClientCallback" />
> 
> </beans>
> 
> 
> And the error is:
> 
> The SOAP action specified on the message, '', does not match the HTTP SOAP
> Action,
> 'http://tempuri.org/IStock/MensajeStock'<http://tempuri.org/IStock/Mensaje
> Stock%27>.
> 
> 
> Any help please?

-- 
Daniel Kulp
[email protected]
http://dankulp.com/blog

Reply via email to