Rampart basic: security processing failed (actions mismatch)

2010-02-17 Thread Doughty, Michael
Hey guys, as I mentioned in the last request I sent to the list, I was unable 
to make use the Policy-based Rampart configuration due to the malformation of 
the SOAP messages – Rampart seems to have replace all empty default namespaces 
with the parent element’s default namespace, causing  both my SOATest testing 
tool and my Axis2/Rampart based clients to be unable to parse the resulting 
contents.  In all cases, the inner elements are not recognized and the clients 
error out complaining that they were expecting different elements.

So I decided to try out the deprecated Rampart configuration model, and I 
discovered that the resulting encryption doesn’t seem to produce the same error 
in the responses.  After that, I decided to go ahead with that and replaced my 
Policy-based configurations with the basic configurations completely.  However, 
now I am running into another odd error “WSDoAllReceiver: security processing 
failed (actions mismatch)”.  The odd thing is that the service seems to be 
handling the request’s security just fine, verifying all signatures, decrypting 
the message, and then parsing the UsernameToken.  Only after going through 
every feature does it fail like this.

The “actions” I list in the InflowSecurity section do actually match what I am 
sending, so I am unsure why this is happening.  Does anyone have any ideas?  
I’d greatly appreciate your assistance as trying to get Rampart to work 
properly with my testing tool and clients has been a bit of a struggle for the 
last few weeks.  Below is the information coming from Tomcat’s console 
(including my own trace messages in the password callback handler):

Password Callback Handler called for DECRYPT: wsserver
Password Callback Handler called for USERNAME_TOKEN_UNKNOWN: admin
[INFO] Verification successful for URI "#id-32295991"
[INFO] Verification successful for URI "#id-22237361"
[INFO] Verification successful for URI "#id-14067086"
[ERROR] WSDoAllReceiver: security processing failed (actions mismatch)
org.apache.axis2.AxisFault: WSDoAllReceiver: security processing failed (actions
 mismatch)
at org.apache.rampart.handler.WSDoAllReceiver.processBasic(WSDoAllReceiv
er.java:344)
at org.apache.rampart.handler.WSDoAllReceiver.processMessage(WSDoAllRece
iver.java:86)
at org.apache.rampart.handler.WSDoAllHandler.invoke(WSDoAllHandler.java:
72)
at org.apache.axis2.engine.Phase.invoke(Phase.java:318)
at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:251)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:160)
at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostReq
uest(HTTPTransportUtils.java:167)
at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:1
42)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
a:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
:849)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proce
ss(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:45
4)
at java.lang.Thread.run(Thread.java:595)



RE: Axis2-1.5.1 and user exceptions

2010-02-15 Thread Doughty, Michael
In the axis2.xml file on the server/service side, you should see this line:

false

Set that parameter to "true".

Additionally, you might want to change this parameter as well:

false

Setting that to "true" should force more stack trace detail to be sent along 
with it, including the details of the root cause exception.

-Original Message-
From: glopezm [mailto:gmlopez.mackin...@gmail.com] 
Sent: Monday, February 15, 2010 8:32 PM
To: axis-user@ws.apache.org
Subject: Axis2-1.5.1 and user exceptions


Hi, 
I'm using axis2 v1.5.1 as it is stated in the subject of this message and
I've found that user exceptions are not being reported as they used to be
with axis1. If one declare an operation throwing an exception, whenever the
exception is thrown the detail part of the soap fault element used to be
populated by axis1 with all exception data. However it is not working (at
least in this way) anymore. The  tag is empty. There is a
bug that was filed almost two years ago
(https://issues.apache.org/jira/browse/AXIS2-3443) which explains the
situation very clearly but it has not even been assigned yet!

Now I'm wondering whether someone is aware of a workaround to overcome this
issue since it does not happen that the bug will be corrected anytime soon
:-(.

Thanks in advance for your help!
-- 
View this message in context: 
http://old.nabble.com/Axis2-1.5.1-and-user-exceptions-tp27602949p27602949.html
Sent from the Axis - User mailing list archive at Nabble.com.



RE: Strange issue with Axis2 setting improper default namespaces in responses

2010-02-14 Thread Doughty, Michael
So I tested an existing client written using Axis2 1.4.1 and Rampart 1.4 
against the Web service today written using Axis2 1.5.1 and Rampart 1.5.  With 
encryption and signature turned off things went fine, but when encryption and 
signature were turned on, the client sent a proper request that was understood 
by the server, but the response sent by the server caused the client to error 
out with "Expecting one of {classList}".

This is almost certainly due to the fact that "classList" is supposed to have 
the empty default Namespace, but Axis2 1.5.1 and Rampart 1.5 are changing that 
namespace to the parent namespace of 
"http://atrium.bmc.com/2009/01/classes/types"; on encrypting and signing the 
body.

I am relatively sure this isn't correct behavior, but I am unable to get the 
Axis2 1.5.1/Rampart 1.5 combo to work differently.  Is this a known issue with 
Rampart?  Has anyone run into this before?  Is there any way to work around the 
issue and make the responses preserve the proper default namespaces?

From: Doughty, Michael [mailto:michael_doug...@bmc.com]
Sent: Sunday, February 14, 2010 12:57 AM
To: axis-user@ws.apache.org
Subject: Strange issue with Axis2 setting improper default namespaces in 
responses

We've been porting our Web services from another provider to Axis2.  Both 
support XML bean bindings, and we used them in our original implementation, so 
that has made the porting easier than it would have been otherwise.

However, I've run into an odd issue that I haven't caught up to now using the 
testing tool we use during dev.  The old tool is properly setting the default 
namespace to child elements to empty, which allows the responses to be properly 
handled by the clients.  However, the Axis2 services seem to be setting the 
default namespace in each case to the parent namespace.  This causes validation 
of the responses against the WSDL and the schemas to be incorrect.

So then I decided to see what happens in the Axis2-based responses when I turn 
security off and just accept a UsernameToken without encryption or signature.  
Turns out the response is just fine when I do that, as this snippet shows:

  http://atrium.bmc.com/2009/01/classes/types";>
   

 BMC.CORE
 BMC_Mainframe


 BMC.CORE
 BMC_Printer

   
   
   http://www.w3.org/2001/XMLSchema-instance"; xsi:nil="true"/>
  

However, the minute I turn the Signature and Encryption components on in the 
Rampart configuration, I get the bad behavior again, as shown here:

http://atrium.bmc.com/2009/01/classes/types"; 
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; 
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd";
 xmlns:xenc="http://www.w3.org/2001/04/xmlenc#";>
  http://atrium.bmc.com/2009/01/classes/types"; 
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; 
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd";
 xmlns:xenc="http://www.w3.org/2001/04/xmlenc#";>
http://atrium.bmc.com/2009/01/classes/types"; 
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; 
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd";
 xmlns:xenc="http://www.w3.org/2001/04/xmlenc#";>
 http://atrium.bmc.com/2009/01/classes/types"; 
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; 
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd";
 xmlns:xenc="http://www.w3.org/2001/04/xmlenc#";>BMC.CORE'
 http://atrium.bmc.com/2009/01/classes/types"; 
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; 
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd";
 xmlns:xenc="http://www.w3.org/2001/04/xmlenc#";>BMC_Mainframe
   
   http://atrium.bmc.com/2009/01/classes/types"; 
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; 
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd";
 xmlns:xenc="http://www.w3.org/2001/04/xmlenc#";>
 http://atrium.bmc.com/2009/01/classes/types"; 
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; 
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd";
 xmlns:xenc="http://www.w3.org/2001/04/xmlenc#";>BMC.CORE
 http://atrium.bmc.com/2009/01/classes/types"; 
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; 
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd";
 xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"

Strange issue with Axis2 setting improper default namespaces in responses

2010-02-13 Thread Doughty, Michael
We've been porting our Web services from another provider to Axis2.  Both 
support XML bean bindings, and we used them in our original implementation, so 
that has made the porting easier than it would have been otherwise.

However, I've run into an odd issue that I haven't caught up to now using the 
testing tool we use during dev.  The old tool is properly setting the default 
namespace to child elements to empty, which allows the responses to be properly 
handled by the clients.  However, the Axis2 services seem to be setting the 
default namespace in each case to the parent namespace.  This causes validation 
of the responses against the WSDL and the schemas to be incorrect.

So then I decided to see what happens in the Axis2-based responses when I turn 
security off and just accept a UsernameToken without encryption or signature.  
Turns out the response is just fine when I do that, as this snippet shows:

  http://atrium.bmc.com/2009/01/classes/types";>
   

 BMC.CORE
 BMC_Mainframe


 BMC.CORE
 BMC_Printer

   
   
   http://www.w3.org/2001/XMLSchema-instance"; xsi:nil="true"/>
  

However, the minute I turn the Signature and Encryption components on in the 
Rampart configuration, I get the bad behavior again, as shown here:

http://atrium.bmc.com/2009/01/classes/types"; 
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; 
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd";
 xmlns:xenc="http://www.w3.org/2001/04/xmlenc#";>
  http://atrium.bmc.com/2009/01/classes/types"; 
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; 
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd";
 xmlns:xenc="http://www.w3.org/2001/04/xmlenc#";>
http://atrium.bmc.com/2009/01/classes/types"; 
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; 
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd";
 xmlns:xenc="http://www.w3.org/2001/04/xmlenc#";>
 http://atrium.bmc.com/2009/01/classes/types"; 
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; 
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd";
 xmlns:xenc="http://www.w3.org/2001/04/xmlenc#";>BMC.CORE'
 http://atrium.bmc.com/2009/01/classes/types"; 
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; 
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd";
 xmlns:xenc="http://www.w3.org/2001/04/xmlenc#";>BMC_Mainframe
   
   http://atrium.bmc.com/2009/01/classes/types"; 
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; 
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd";
 xmlns:xenc="http://www.w3.org/2001/04/xmlenc#";>
 http://atrium.bmc.com/2009/01/classes/types"; 
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; 
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd";
 xmlns:xenc="http://www.w3.org/2001/04/xmlenc#";>BMC.CORE
 http://atrium.bmc.com/2009/01/classes/types"; 
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; 
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd";
 xmlns:xenc="http://www.w3.org/2001/04/xmlenc#";>BMC_Printer

  
  http://atrium.bmc.com/2009/01/classes/types"; 
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; 
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd";
 xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"/>
  http://atrium.bmc.com/2009/01/classes/types"; 
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; 
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd";
 xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; xsi:nil="true"/>


So it seems to be not so much a problem with Axis2 as it is with Rampart.  In 
every case, the xmlns default namespace of child elements are listed as the 
full namespace of the parent when Rampart Signature/Encryption are turned on, 
but are set properly when it is not.  As a result, our stricter clients are 
failing right away because they see the message as incomplete.

Am I missing something here?  Is there an option in Rampart to rectify this?  I 
am using Axis2 1.5.1 with Rampart 1.5.


RE: Initializing Web Service (Server) before first request received

2010-02-10 Thread Doughty, Michael
In your services.xml file, add 'scope=" application"' to the "service" element, 
as follows:



The service will then be deployable in application mode.

Now a question to Deepal... will this actually load the implementation class 
immediately on deployment and thus cause all static initialization in the class 
to take place?

I know that application mode will cause Axis2 to treat the implementation class 
as a singleton and reuse the same instance for each service call, but I was 
still under the impression that it would require that first service call to be 
made still.  If the class is loaded on deployment or the singleton is 
constructed prior to the first service call, then that is definitely good news.

-Original Message-
From: Oded Onn [mailto:oded@mobixell.com] 
Sent: Wednesday, February 10, 2010 3:21 AM
To: axis-user@ws.apache.org
Subject: RE: Initializing Web Service (Server) before first request received

Deepal,
Can you please elaborate a bit more. I am not sure I quite understand
what you mean.
Thanks,
Oded

-Original Message-
From: Deepal Jayasinghe [mailto:dee...@opensource.lk] 
Sent: Wednesday, February 10, 2010 00:58
To: axis-user@ws.apache.org
Subject: Re: Initializing Web Service (Server) before first request
received

Deploy there service in Application scope.

Thanks,
Deepal
>
> Hi all,
>
>  
>
> I am deploying an AXIS2 web service (server side).
>
>  
>
> My problem: The skeleton class (the one that performs all the business
> logic) is read for the first time only when the first request is
> received by the server. It means that the first response takes a
> really long time (up to 20 seconds on a weak machine) since there are
> a lot of initialization I have to perform (static init).
>
>  
>
> Solution: I am assuming I can write some sort of a main class that
> will try to call the skeleton class. This is not only ugly but also
> prone to all sorts of errors. Is there a proper way to init my service
> class? I would expect some mechanism to be used, such as utilizing the
> servlet init of the axis servlet.
>
>  
>
> Anyone? Thanks!
>
> Oded
>

-- 
Thank you!


http://blogs.deepal.org
http://deepal.org



RE: Inaccessible WSDL files after enabling both HTTP and HTTPS in Axis2/Tomcat

2010-02-08 Thread Doughty, Michael
Thanks for the information.  I am glad to hear it is fixed in the main trunk, 
which I hope means it will make it into the next version of Axis2.

For the time being I've implemented my own logic to create these files at 
deployment time by modifying the original WSDL file to contain the policy 
reference, the policy statements, and the modified service endpoint.  They will 
just have to be accessible for now from the 
"http(s)://host:port/axis2/services/service/service.wsdl" format.

-Original Message-
From: Andreas Veithen [mailto:andreas.veit...@gmail.com] 
Sent: Monday, February 08, 2010 8:44 AM
To: axis-user@ws.apache.org
Subject: Re: Inaccessible WSDL files after enabling both HTTP and HTTPS in 
Axis2/Tomcat

Michael,

This looks like another example of the issue described in AXIS2-4465.
Not sure if it is possible to make this work properly in 1.5.1, but in
the current trunk the configuration mechanism to enable HTTP and HTTPS
in a servlet environment is much more transparent (and known to work
properly).

Andreas

[1] http://people.apache.org/~veithen/axis2/1_6/servlet-transport.html

On Mon, Feb 8, 2010 at 14:10, Doughty, Michael  wrote:
> I have a problem that I am hoping someone could shed some light on.
>
>
>
> I have enabled both HTTP and one-way HTTPS in my Tomcat 6 instance.
> Likewise, I have added the correct configuration information to my axis2.xml
> in the war distribution of Axis2 1.5.1.  The HTTP port is 8080 and the HTTPS
> port is 8443.  They are running on a 1.5 JRE.
>
>
>
> Doing so seems to work ok.  The Web services are all accessible at both the
> HTTP and HTTPS endpoints, so there seems to be no real issue there.
> However, the WSDL and XSD files are inaccessible.  The same endpoints that
> allow SOAP requests no longer allow any of these "GET" requests to access
> WSDL and XSD files:  "?wsdl", "?wsdl=somefile.wsdl", "?xsd=somefile.xsd".
> In all cases, I get the message "Internal server error".  This happens
> whether or not I use the HTTP or HTTPS endpoints to access them.  Note that
> I can  still access these files directly by simply adding "/somefile.wsdl"
> to the end of the endpoint, but this is undesirable in the case of the main
> WSDL of the service as the service endpoints are not replaced properly.
>
>
>
> Note that this happens whether or not I explicitly declare the available
> transports in services.xml for the services in question.  I found a FAQ
> somewhere that said I needed to make sure that xalan-2.7.0.jar was copied
> into the lib directory of the war distribution, but that file is already
> there.
>
>
>
> Is there something else I need to do here to make this work?  Or is this a
> known issue that cannot be worked around at this time?



Inaccessible WSDL files after enabling both HTTP and HTTPS in Axis2/Tomcat

2010-02-08 Thread Doughty, Michael
I have a problem that I am hoping someone could shed some light on.

I have enabled both HTTP and one-way HTTPS in my Tomcat 6 instance.   Likewise, 
I have added the correct configuration information to my axis2.xml in the war 
distribution of Axis2 1.5.1.  The HTTP port is 8080 and the HTTPS port is 8443. 
 They are running on a 1.5 JRE.

Doing so seems to work ok.  The Web services are all accessible at both the 
HTTP and HTTPS endpoints, so there seems to be no real issue there.  However, 
the WSDL and XSD files are inaccessible.  The same endpoints that allow SOAP 
requests no longer allow any of these "GET" requests to access WSDL and XSD 
files:  "?wsdl", "?wsdl=somefile.wsdl", "?xsd=somefile.xsd".  In all cases, I 
get the message "Internal server error".  This happens whether or not I use the 
HTTP or HTTPS endpoints to access them.  Note that I can  still access these 
files directly by simply adding "/somefile.wsdl" to the end of the endpoint, 
but this is undesirable in the case of the main WSDL of the service as the 
service endpoints are not replaced properly.

Note that this happens whether or not I explicitly declare the available 
transports in services.xml for the services in question.  I found a FAQ 
somewhere that said I needed to make sure that xalan-2.7.0.jar was copied into 
the lib directory of the war distribution, but that file is already there.

Is there something else I need to do here to make this work?  Or is this a 
known issue that cannot be worked around at this time?


Two questions about security features

2010-02-08 Thread Doughty, Michael
I have three questions that I need some information on.  One of them is on 
Rampart, and one on Axis2, and one on a particular scenario of the first two 
questions.

(1)  I've noticed that Rampart seems to support the WS-SecurityPolicy 1.0 
tokens "SupportingTokens", "SignedSupportingTokens", 
"EncryptedSupportingTokens", and "SignedEncryptedSupportingTokens". However, if 
any variation of the "SupportingTokens" element is used to specify a 
UsernameToken be sent to the service, none of them actually seem to be enforced 
on the service-side in the same way.  This means if I use 
"SignedSupportingTokens" to specify UsernameToken, the service does not require 
that the client actually sign its UsernameToken in the request.  Similarly, 
"EncryptedSupportingTokens" and "SignedEncryptedSupportingTokens" do not 
enforce encryption.

When the "EncryptedParts" element is used to specify that the SOAP Body should 
be encrypted, it returns an error "The signature or decryption is invalid" when 
a message is sent to it without the SOAP Body encrypted.  However, when I 
specify the UsernameToken with the Name and Namespace fields of the 
"EncryptedParts" element, the same sort of enforcement doesn't happen.

Is there any way at all to enforce UsernameToken encryption in Rampart outside 
of writing my own module to do the enforcing?

(2) We use UsernameToken in PasswordText encoding to send credentials to pass 
to the underlying application.  However, we also add Nonce and Created.  We 
realize this is not required by PasswordText encoding, but it isn't disallowed 
by the standard (the word "SHOULD" is used to describe the addition of these 
values when using PasswordText encoding).  What we could like to do is enforce 
the uniqueness of the combination of Nonce and Created values when they are 
passed in.

Now I realize that this is not something Rampart will do automatically, so I'd 
like to retrieve the decrypted message at runtime, perhaps from the password 
callback class, retrieve those values from that message and enforce their 
uniqueness there.  Is it possible to retrieve the decrypted SOAP header so that 
I could look for the proper values inside of the implementation of the password 
callback class?  If not, is it possible to do from the implementation of each 
Web service?

I guess if those are not possible, I could write a module to do this.  We were 
trying to avoid having to do this though because I perceive it would add more 
processing time.

(3) If I have to write modules for 1 and 2, then I would likely have to 
position the first one to be executed before the rampart module is executed and 
the message decrypted, and the latter one to be executed after the rampart 
module does this decryption.  How would I modify the configuration to allow one 
module to be executed before Rampart and one to be executed after?

Any help you could give me would be greatly appreciated at this point.  I've 
looked as hard as possible for answers to these things on the net and through 
two Axis2 books I purchased, but I can't seem to find complete information.


RE: Preventing Axis2/Rampart from encrypting faults

2010-02-07 Thread Doughty, Michael
That seems to have worked.  Thanks very much for your help.

From: Amila Suriarachchi [mailto:amilasuriarach...@gmail.com]
Sent: Sunday, February 07, 2010 9:46 PM
To: axis-user@ws.apache.org
Subject: Re: Preventing Axis2/Rampart from encrypting faults


On Mon, Feb 8, 2010 at 7:25 AM, Doughty, Michael 
mailto:michael_doug...@bmc.com>> wrote:
We've rewritten several of our services from another Web services stack to 
Axis2 1.5.1.  We are using Rampart 1.4 to handle the WS-Security 1.0 
functionality from our previous services.

There have been a few differences though and I am unable to resolve some of 
them.  The most important one right now is in the fault messages being sent 
from the service.

In our previous implementation, Fault messages were never signed and encrypted. 
 However, in this Axis2 version they are always signed and encrypted.  I've 
tried a few things I've seen from Google searches to see if I can prevent this. 
 One of them was to remove the security phase from the OutFaultFlow section of 
the axis2.xml file in the WEB-INF/conf directory.  However, this causes the 
Axis2 bundle to fail to load properly.

Is there any way to prevent the faults from being signed and encrypted while 
still allowing the standard outbound messages to be signed and encrypted?

you can unpack the rampart.mar file and edit the module.xml file so that no 
handlers goes to outFaultFlow. Then recreate the mar file. This won't create 
any problem when loading modules.

thanks,
Amila.




--
Amila Suriarachchi
WSO2 Inc.
blog: http://amilachinthaka.blogspot.com/


Preventing Axis2/Rampart from encrypting faults

2010-02-07 Thread Doughty, Michael
We've rewritten several of our services from another Web services stack to 
Axis2 1.5.1.  We are using Rampart 1.4 to handle the WS-Security 1.0 
functionality from our previous services.

There have been a few differences though and I am unable to resolve some of 
them.  The most important one right now is in the fault messages being sent 
from the service.

In our previous implementation, Fault messages were never signed and encrypted. 
 However, in this Axis2 version they are always signed and encrypted.  I've 
tried a few things I've seen from Google searches to see if I can prevent this. 
 One of them was to remove the security phase from the OutFaultFlow section of 
the axis2.xml file in the WEB-INF/conf directory.  However, this causes the 
Axis2 bundle to fail to load properly.

Is there any way to prevent the faults from being signed and encrypted while 
still allowing the standard outbound messages to be signed and encrypted?


RE: wsdl2java -R option

2010-01-27 Thread Doughty, Michael
I use the -R option in Axis 1.5.1 and it works ok for me.  However, I supply a 
relative path.  If I try to supply an absolute path as you have here, I get a 
CodeGenerationException.

From: rahul yadav [mailto:rahulyada...@gmail.com]
Sent: Wednesday, January 27, 2010 5:07 AM
To: u...@xmlbeans.apache.org; axis-user@ws.apache.org
Subject: wsdl2java -R option

Has anybody used -R option in wsdl2java codegeneration with xmlbeans binding, I 
am using Axis1.5.1 ?
here is my command line...
wsdl2java -uri d:\test.wsdl -d xmlbeans -o d:\src -p com.axis.test -R 
d:\resourceTest

 It throws following exception...
 org.apache.axis2.wsdl.codegen.CodeGenerationException: 
java.lang.RuntimeException: java.lang.reflect.InvocationTargetException

running same command without -R flag generates code successfully.


Thanks,
Rahul Yadav



OFFLIST RE: [axis2] axis2c memory management process unclear

2010-01-15 Thread Doughty, Michael
Just an FYI, since you are talking about Axis2/C, you need to go to the Axis2/C 
user list for an answer.  The address for that is axis-c-u...@ws.apache.org.  
You may need to subscribe first though.

-Original Message-
From: Brody Lodmell [mailto:brodylodm...@gmail.com] 
Sent: Friday, January 15, 2010 12:50 PM
To: axis-user@ws.apache.org
Subject: [axis2] axis2c memory management process unclear

we're using axis2 to consume soap services.

this function
axiom_node_to_string
   AXIS2_EXTERN axis2_char_t *AXIS2_CALL
   axiom_node_to_string(
   axiom_node_t * om_node,
   const axutil_env_t * env);
declared in \axiom\include\axiom_node.h and defined in \axiom\src\om\om_node.h

returns a different address each time I call it, indicating it might
be dynamically allocated memory.  but when I try to free it, I get
errors.
I can't find any documentation on how this memory might be freed.

is it the job of axiom_node_free_tree()?

any insight anyone can provide would be helpful.



Web service init and Custom endpoints with Tomcat/Axis2 1.5.1

2010-01-11 Thread Doughty, Michael
I mistakenly sent this request to the Rampart list last time.  Hopefully this 
list is the correct one.

The first issue I have is with Web service initialization using AXIS2.  We have 
an eventing service which keeps persistent data on events serialized to disc.  
We do this because our events are stateful in a sense -- they have a status and 
can be modified over time, meaning that the same event can be sent out multiple 
times with updated information.

The problem we are running into is that the Web service code is never unless a 
client request is made to the service to either subscribe or poll for events.  
This means that until a request is made, clients that consume events in the 
push model rather than the pull model won't receive events until a client that 
receives events through the pull model makes a request because the data and 
processes needed for this activity won't start until that time.

Another reason is for persistency in case the server goes down.  Since the 
eventing service saves persistent events on the service side in case the events 
did not send to cell or events did not retrieved by the clients. If the 
eventing service restarts, it should load the events and attempted to send to 
cell without a dependency on receiving a request from a client.

The second issue I have is that I need to be able to customize my endpoint 
address in Axis2 running in the WAR distribution on Tomcat.  I know that I can 
change the "contextRoot" root property without changing the corresponding 
property in the axis2.xml file in the WEB-INF/conf directory because Tomcat 
treats the context root as the name of the directory in its "webapps" directory 
instead.  However, I also need to change the "servicePath" property to be 
"server" instead of "services".  The reason for this is that we are translating 
an entrenched legacy Web service from another Web service stack to Axis2, and 
several customers have integrated with that Web service using a hardcoded path 
that fits the previous Web service stack's convention for forming endpoints.

The problem is that when I change the axis2.xml file's "servicePath" property, 
it only seems to affect the main services page's links to the WSDL files of 
each service.  Those links are broken, because though they are listed as 
"server" as I specified, the Web services and WSDL files are still only 
accessible from the address when "services" is the "servicePath" in the 
endpoints, not "server".

Is this a bug?  Is there any way to fix this so that we can make this work for 
a whole set of customers without requiring them to recode?