Hi,
I'm looking for some help regarding this kind of setup :
Axis 1.3. client using WSS4J to Signature a message. I'm using this client
to message a .NET service. I have a sample .net client that I could run
and with it the service works properly. Now I'm trying to implement a
java-solution to do the same.

My problem is the following, The server always sends me fault report
<soap:Fault>
<faultcode
{xmlns:code="http://schemas.xmlsoap.org/ws/2004/03/addressing";>code:MessageInformationHeaderRequired</faultcode>
<faultstring>Message Information Header Required</faultstring>
<faultactor>http://someserver.com/some.asmx</faultactor>
</soap:Fault>


The thing is, I cannot produce the namespace
xmlns:code="http://schemas.xmlsoap.org/ws/2004/03/addressing
My messages always have :
 xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing";

Note the difference between versions.

Is it possible to configure axis somehow to use the 2004/03 version ?

I've googled for this and someone mentioned a possibility of changing the
Constants class of ws-addressing package, so that the default would be
2004/03 but not 2004/08. I tried that but that did not work.

ok, my wsdd file :

<deployment xmlns="http://xml.apache.org/axis/wsdd/";
xmlns:java="http://xml.apache.org/axis/wsdd/providers/java";>
 <transport name="http"
pivot="java:org.apache.axis.transport.http.HTTPSender"/>
  <globalConfiguration >
   <parameter name="addressing.sendReplyTo" value="true"/>
   <parameter name="enableNamespacePrefixOptimization" value="false"/>
   <requestFlow >
        <handler
type="java:org.apache.axis.message.addressing.handler.AddressingHandler">
        <parameter name="referencePropertyNames"
     
value="{Element}{http://schemas.xmlsoap.org/ws/2004/03/addressing}Action;{Element}{http://schemas.xmlsoap.org/ws/2004/03/addressing}MessageID;{Element}{http://schemas.xmlsoap.org/ws/2004/03/addressing}ReplyTo;{Element}{http://schemas.xmlsoap.org/ws/2004/03/addressing}To";
    />
    <parameter name="mustUnderstand" value="true" />
        </handler>
    <handler type="java:org.apache.ws.axis.security.WSDoAllSender" >
      <parameter name="action" value="Timestamp Signature"/>
      <parameter name="user" value="someuser"/>
       <parameter name="signatureParts"
              
value="{Element}{http://schemas.xmlsoap.org/soap/envelope/}Body;{Element}{http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd}Timestamp;{Element}{http://schemas.xmlsoap.org/ws/2004/03/addressing}MessageID;{Element}{http://schemas.xmlsoap.org/ws/2004/03/addressing}To;{Element}{http://schemas.xmlsoap.org/ws/2004/03/addressing}Action";
       />
      <parameter name="signatureKeyIdentifier" value="DirectReference" />
      <parameter name="passwordType" value="somepass" />
      <parameter name="passwordCallbackClass" 
value="com.somecomp.MyCallback"/>
      <parameter name="signaturePropFile" value="crypto.properties" />
      <parameter name="encryptionPropFile" value="crypto.properties" />
      <parameter name="mustUnderstand" value="true" />
    </handler>
   </requestFlow >
  </globalConfiguration >
</deployment>




Can anyone point me at what I'm doing wrong here???

Thanx ALOT ! :)

[EMAIL PROTECTED]

Reply via email to