Please try using the setFrom() method in the Options[1] instance of
the ServiceClient[2].

Thanks,
Ruchith

1. 
https://svn.apache.org/repos/asf/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/client/Options.java
2. 
https://svn.apache.org/repos/asf/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/client/ServiceClient.java

On Dec 6, 2007 8:20 AM, Rachel Primrose <[EMAIL PROTECTED]> wrote:
> Actually, all is going well.
>
> However, the server that I'm sending requests to requires a From field
> in the addressing headers.
>
> I've been googling for about two hours, and can't seem to find a
> solution for this.
>
> Here is my current axis2.xml (well the important parts)
>
> <axisconfig name="AxisJava2.0">
>         <parameter name="enableNamespacePrefixOptimization" value="false"/>
>         <parameter name="addressing.setMustUnderstand" value="false" />
>         <parameter name="axis.sendMinimizedElements" value="false" />
>         <parameter name="addressing.namespace.URI"
> value="http://schemas.xmlsoap.org/ws/2004/03/addressing"/>
>         <parameter name="addressing.sendReplyTo" value="true"/>
>         <parameter name="addressing.sendFrom" value="true"/>
>         <parameter name="disablePrettyXML" value="true"/>
>
>     <!-- Engage the addressing module -->
>     <module ref="addressing"/>
>     <moduleConfig name="addressing">
>                 <parameter name="addressing.sendFrom">true</parameter>
>         </moduleConfig>
>
>     <!-- Engage the security module -->
>     <module ref="rampart"/>
>
>     <parameter name="OutflowSecurity">
>       <action>
>         <items>Timestamp Signature</items>
>         <user>wow</user>
>         
> <passwordCallbackClass>nz.co.maxnet.oot.utils.PWCallback</passwordCallbackClass>
>         <signaturePropFile>wow.properties</signaturePropFile>
>         <signatureKeyIdentifier>DirectReference</signatureKeyIdentifier>
>         <!-- <signatureParts>
>                       
> {Element}{http://schemas.xmlsoap.org/soap/envelope/}Body;
>                       
> {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}To;
>                       
> {Element}{http://schemas.xmlsoap.org/ws/2004/03/addressing}From;
>                       
> {Element}{http://schemas.xmlsoap.org/ws/2004/03/addressing}ReplyTo;
>                       
> {Element}{http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd}Timestamp";
>                 </signatureParts> -->
>       </action>
>     </parameter>
>
>     <parameter name="InflowSecurity">
>                 <action>
>                         <items>Timestamp Signature Encrypt</items>
>                         
> <passwordCallbackClass>nz.co.maxnet.oot.utils.PWCallback</passwordCallbackClass>
>                         <signaturePropFile>wow.properties</signaturePropFile>
>                 </action>
>          </parameter>
>
>    <transportSender name="https"
>
> class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
>         <parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>
>         <parameter name="Transfer-Encoding" locked="false">chunked</parameter>
>     </transportSender>
>
>    <phaseOrder type="InFlow">
>         <!--  System pre defined phases       -->
>         <phase name="Transport">
>             <handler name="RequestURIBasedDispatcher"
>                      
> class="org.apache.axis2.engine.RequestURIBasedDispatcher">
>                 <order phase="Transport"/>
>             </handler>
>             <handler name="SOAPActionBasedDispatcher"
>                      
> class="org.apache.axis2.engine.SOAPActionBasedDispatcher">
>                 <order phase="Transport"/>
>             </handler>
>         </phase>
>         <phase name="Addressing">
>                         <handler name="AddressingBasedDispatcher"
> class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">
>                                 <order phase="Addressing" />
>                         </handler>
>                 </phase>
>         <phase name="Security"/>
>         <phase name="PreDispatch"/>
>         <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
>             <handler name="SOAPMessageBodyBasedDispatcher"
>
> class="org.apache.axis2.engine.SOAPMessageBodyBasedDispatcher">
>                 <order phase="Dispatch"/>
>             </handler>
>             <handler name="InstanceDispatcher"
>                      class="org.apache.axis2.engine.InstanceDispatcher">
>                 <order phase="Dispatch"/>
>             </handler>
>         </phase>
>         <!--  System pre defined phases       -->
>         <!--   After Postdispatch phase module author or or service
> author can add any phase he want      -->
>         <phase name="OperationInPhase"/>
>         <phase name="soapmonitorPhase"/>
>     </phaseOrder>
>     <phaseOrder type="OutFlow">
>         <phase name="Addressing">
>                         <handler name="AddressingBasedDispatcher"
> class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">
>                                 <order phase="Addressing" />
>                         </handler>
>                 </phase>
>         <phase name="soapmonitorPhase"/>
>         <phase name="OperationOutPhase"/>
>         <!--system predefined phase-->
>         <!--these phase will run irrespective of the service-->
>         <phase name="PolicyDetermination"/>
>         <phase name="MessageOut"/>
>         <phase name="Security"/>
>     </phaseOrder>
>
> As always, any help is appreciated.
>
> Thanks.
>
>  - Rachel
>
>
> On Dec 6, 2007 1:45 PM, Ruchith Fernando <[EMAIL PROTECTED]> wrote:
> > Interop problems ...  You probably want to switch to using the
> > WS-SecurityPolicy based configuration.
> > I can assure you that Rampart + WS-SecurityPolicy interops with .NET
> > (WCF) on WS-Security 1.0, WS-Security 1.1 and WS-SecureConversation
> > scenarios.
> >
> > The test suite we used for the interop with WCF services is available
> > here [1] where we have 66 successful scenarios on the above three
> > specs.
> >
> > Thanks,
> > Ruchith
> >
> > [1] https://wso2.org/repos/wso2/trunk/interop/test-suites/security
> >
> >
> > On Dec 6, 2007 3:07 AM, Rachel Primrose <[EMAIL PROTECTED]> wrote:
> > > Right on the button - eclipse + classpaths = pain.
> > >
> > > I renamed everything to wow.whatever and now I'm onto the .NET interop
> > > problems, which I will probably be posting about when I get really
> > > stuck.
> > >
> > > Thanks so much.
> > >
> > >
> > > On Dec 5, 2007 7:46 PM, Ruchith Fernando <[EMAIL PROTECTED]> wrote:
> > > > Yep ... everything looks fine ... However I'm wondering whether you
> > > > have any other client_crypto.properties file in your classpath that
> > > > causes the wrong keystore to be picked where there's no key with alias
> > > > test123.
> > > >
> > > > Therefore can you please rename the keystore file and the .properties
> > > > file and check.
> > > >
> > > > Thanks,
> > > > Ruchith
> > > >
> > > >
> > > > On Dec 5, 2007 5:50 AM, Rachel Primrose <[EMAIL PROTECTED]> wrote:
> > > > > Hello,
> > > > >
> > > > > I've been having trouble signing my messages as they go out, and the
> > > > > usual "is the alias the right one" solution I've been reading about
> > > > > does not work!
> > > > >
> > > > > Here is my keystore:
> > > > >
> > > > > Keystore type: PKCS12
> > > > > Keystore provider: SunJSSE
> > > > >
> > > > > Your keystore contains 1 entry
> > > > >
> > > > > Alias name: test123
> > > > > Creation date: 5/12/2007
> > > > > Entry type: PrivateKeyEntry
> > > > > Certificate chain length: 3
> > > > > Certificate[1]:
> > > > >
> > > > > Here is my axis2.xml security outflow:
> > > > >
> > > > > <parameter name="OutflowSecurity">
> > > > >       <action>
> > > > >         <items>Timestamp Signature</items>
> > > > >         <user>test123</user>
> > > > >         
> > > > > <passwordCallbackClass>test.oot.PWCallback</passwordCallbackClass>
> > > > >         
> > > > > <signaturePropFile>client_crypto.properties</signaturePropFile>
> > > > >         
> > > > > <signatureKeyIdentifier>DirectReference</signatureKeyIdentifier>
> > > > >         <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="signatureParts" value="
> > > > >                       
> > > > > {Element}{http://schemas.xmlsoap.org/soap/envelope/}Body;
> > > > >                       
> > > > > {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}To;
> > > > >                       
> > > > > {Element}{http://schemas.xmlsoap.org/ws/2004/03/addressing}From;
> > > > >                       
> > > > > {Element}{http://schemas.xmlsoap.org/ws/2004/03/addressing}ReplyTo;
> > > > >                       
> > > > > {Element}{http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd}Timestamp";
> > > > > />
> > > > >       </action>
> > > > >     </parameter>
> > > > >
> > > > > Here is my client_crypto.properties file:
> > > > >
> > > > > org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merlin
> > > > > org.apache.ws.security.crypto.merlin.keystore.type=pkcs12
> > > > > org.apache.ws.security.crypto.merlin.keystore.password=test
> > > > > org.apache.ws.security.crypto.merlin.keystore.alias=test123
> > > > > org.apache.ws.security.crypto.merlin.file=oot-stage.p12
> > > > >
> > > > > And my pwcallback class:
> > > > >
> > > > >  pc.setPassword("test");
> > > > >
> > > > > The error I get is:
> > > > >
> > > > > org.apache.axis2.AxisFault: WSHandler: Signature: error during message
> > > > > procesingorg.apache.ws.security.WSSecurityException: General security
> > > > > error (Unexpected number of X509Data: for Signature); nested exception
> > > > > is:
> > > > >         org.apache.ws.security.WSSecurityException: WSHandler: 
> > > > > Signature:
> > > > > error during message
> > > > > procesingorg.apache.ws.security.WSSecurityException: General security
> > > > > error (Unexpected number of X509Data: for Signature)
> > > > >         at 
> > > > > org.apache.rampart.handler.WSDoAllSender.processMessage(WSDoAllSender.java:92)
> > > > >         at 
> > > > > org.apache.rampart.handler.WSDoAllHandler.invoke(WSDoAllHandler.java:74)
> > > > >         at org.apache.axis2.engine.Phase.invoke(Phase.java:382)
> > > > >         at 
> > > > > org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:522)
> > > > >         at 
> > > > > org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:655)
> > > > >         at 
> > > > > org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:237)
> > > > >         at 
> > > > > org.apache.axis2.description.OutInAxisOperationClient.execute(OutInAxisOperation.java:202)
> > > > > Caused by: org.apache.ws.security.WSSecurityException: WSHandler:
> > > > > Signature: error during message
> > > > > procesingorg.apache.ws.security.WSSecurityException: General security
> > > > > error (Unexpected number of X509Data: for Signature)
> > > > >         at 
> > > > > org.apache.ws.security.action.SignatureAction.execute(SignatureAction.java:57)
> > > > >         at 
> > > > > org.apache.ws.security.handler.WSHandler.doSenderAction(WSHandler.java:192)
> > > > >         at 
> > > > > org.apache.rampart.handler.WSDoAllSender.processBasic(WSDoAllSender.java:254)
> > > > >         at 
> > > > > org.apache.rampart.handler.WSDoAllSender.processMessage(WSDoAllSender.java:86)
> > > > >         ... 8 more
> > > > >
> > > > > And when I set level=DEBUG in my log4j.properties:
> > > > >
> > > > > 985  [main] DEBUG org.apache.ws.security.util.Loader  - Trying to find
> > > > > [client_crypto.properties] using
> > > > > [EMAIL PROTECTED] class loader.
> > > > > 1000 [main] DEBUG
> > > > > org.apache.ws.security.components.crypto.CryptoFactory  - Using Crypto
> > > > > Engine [org.apache.ws.security.components.crypto.Merlin]
> > > > > 1000 [main] DEBUG org.apache.ws.security.util.Loader  - Trying to find
> > > > > [oot-stage.p12] using [EMAIL PROTECTED] class
> > > > > loader.
> > > > > 1000 [main] DEBUG org.apache.ws.security.util.Loader  - Trying to find
> > > > > [oot-stage.p12] using [EMAIL PROTECTED] class
> > > > > loader.
> > > > > 1000 [main] DEBUG org.apache.ws.security.util.Loader  - Trying to find
> > > > > [oot-stage.p12] using ClassLoader.getSystemResource().
> > > > > 1563 [main] DEBUG org.apache.ws.security.handler.WSHandler  -
> > > > > Performing Action: 32
> > > > > 1563 [main] DEBUG org.apache.ws.security.message.WSSecTimestamp  -
> > > > > Begin add timestamp...
> > > > > 1578 [main] DEBUG org.apache.ws.security.handler.WSHandler  -
> > > > > Performing Action: 2
> > > > > 1578 [main] DEBUG org.apache.ws.security.message.WSSecSignature  -
> > > > > Beginning signing...
> > > > >
> > > > >
> > > > > As you can see, all matches up, but the actual signing fails!
> > > > >
> > > > > Any help would be greatly appreciated.
> > > > >
> > > > > Thanks.
> > > > >
> > > > >
> > > > > Kind regards,
> > > > >
> > > > > Rachel Primrose
> > > > > E: [EMAIL PROTECTED]
> > > > >
> > > > > ---------------------------------------------------------------------
> > > > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > > > For additional commands, e-mail: [EMAIL PROTECTED]
> > > > >
> > > > >
> > > >
> > > >
> > > >
> > > > --
> > > > http://blog.ruchith.org
> > > > http://wso2.org
> > > >
> > > > ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > > For additional commands, e-mail: [EMAIL PROTECTED]
> > > >
> > > >
> > >
> > >
> > >
> > > --
> > > Kind regards,
> > >
> > > Rachel Primrose
> > > E: [EMAIL PROTECTED]
> > > M: 021 969 728
> > >
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > For additional commands, e-mail: [EMAIL PROTECTED]
> > >
> > >
> >
> >
> >
> > --
> > http://blog.ruchith.org
> > http://wso2.org
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>



-- 
http://blog.ruchith.org
http://wso2.org

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to