Ah, I didn't realize you wanted a GUI view of the messages. You could modify the sample-logging code to do this, though, either by dumping the message to a file and using a separate application to view the file, or by adding a window to your application and having the sample-logging code send the message text to that each time the module is called.

If you look at the instructions for the logging module example you'll see they discuss adding the custom "loggingPhase" to each of the message flows defined in axis2.xml. To do this on the client side without using a repository you'd need to make the change in the axis2.xml file contained in the axis2-kernel-X.X.X.jar. You should also be able to do it by adding an axis2.xml in your classpath ahead of the axis2 jars to substitute for the one in the jar, though I haven't tried this. Or you can just change the logging module.xml to use phases already defined in the existing axis2.xml (such as "soapmonitorPhase"), rather than "loggingPhase".

 - Dennis


Joe Smithian wrote:
1- I already have log4j configured in my client and as I said in my original message I can see the soap request and response messages in the log files, what I need is to display them in a GUI windowo in real-time. Can logging.mar be used for this purpose?

2- I copied logging.mar to the Axis2 ./repository/modules folder and changed 'logging' to 'sample-logging' in my client: stub._getServiceClient().engageModule("*sample-logging*"); and this time I got this error:

*Did not find the desired phase 'loggingPhase' while deploying handler 'InFlowLogHandler'.*
 and these are the log4j messages:

DEBUG AWT-EventQueue-0 org.apache.axis2.engine.Phase - Handler RequestURIOperationDispatcher added to Phase Dispatch DEBUG AWT-EventQueue-0 org.apache.axis2.engine.Phase - Handler SOAPMessageBodyBasedDispatcher added to Phase Dispatch DEBUG AWT-EventQueue-0 org.apache.axis2.engine.Phase - Handler HTTPLocationBasedDispatcher added to Phase Dispatch INFO AWT-EventQueue-0 org.apache.axis2.deployment.util.Utils - Created temporary file : /tmp/_axis2/axis2428751690649774027logging.mar DEBUG AWT-EventQueue-0 org.apache.axiom.om.util.StAXUtils - XMLStreamReader is com.ctc.wstx.sr.ValidatingStreamReader DEBUG AWT-EventQueue-0 org.apache.axis2.i18n.ProjectResourceBundle - getBundle(org.apache.axis2,org.apache.axis2.i18n,resource,null,...) DEBUG AWT-EventQueue-0 org.apache.axis2.i18n.ProjectResourceBundle - loadBundle: Ignoring MissingResourceException: Can't find bundle for base name org.apache.axis2.resource, locale en_US DEBUG AWT-EventQueue-0 org.apache.axis2.i18n.ProjectResourceBundle - Created org.apache.axis2.i18n.resource, linked to parent null DEBUG AWT-EventQueue-0 org.apache.axis2.i18n.ProjectResourceBundle - getBundle(org.apache.axis2,org.apache.axis2.i18n,resource,null,...) DEBUG AWT-EventQueue-0 org.apache.axis2.i18n.ProjectResourceBundle - org.apache.axis2.i18n.resource::handleGetObject(addingnewmodule) DEBUG AWT-EventQueue-0 org.apache.axis2.deployment.DeploymentEngine - Adding new module DEBUG AWT-EventQueue-0 org.apache.axis2.i18n.ProjectResourceBundle - org.apache.axis2.i18n.resource::handleGetObject(deployeingmodule) INFO AWT-EventQueue-0 org.apache.axis2.deployment.ModuleDeployer - Deploying module: sample-logging DEBUG AWT-EventQueue-0 org.apache.axis2.i18n.ProjectResourceBundle - org.apache.axis2.i18n.resource::handleGetObject(invalidphase)

Thanks again for your help.

Joe




On Mon, Apr 20, 2009 at 6:48 AM, Dennis Sosnoski <[email protected] <mailto:[email protected]>> wrote:

    I don't think that adding it to the manifest will work, but if you
    explicitly include the .mar in your runtime classpath that should
    do it (assuming the .mar has been properly constructed).

    You'll need to have logging enabled in your client in order to
    make use of the logging module. To do this, create a file named
    log4j.properties in any convenient location, then add the
    directory of that file to your runtime classpath. The directory
    needs to precede the Axis2 jars or any other jars that might have
    their own log4j.properties. To work with the logging module you'll
    need to have something like the following for the content:

    # direct log messages to stdout #
    log4j.appender.stdout=org.apache.log4j.ConsoleAppender
    log4j.appender.stdout.Target=System.out
    log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
    log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p
    %c{1}:%L - %m%n

    # change logging level here.
    log4j.rootLogger=info, stdout

    If you still have problems with loading the logging module you can
    try changing "info" in the above line to "debug" and see if the
    resulting output gives you any hints as to why the logging module
    is failing to load.

     - Dennis


    Joe Smithian wrote:

        Hi Dennis,

        Thanks for your suggestions. I built logging.mar in my
        axis2/samples/userguide using 'ant generate.module' then
        copied it to my client's lib directory and added it to it's
        manifest file, recompiled and ran the client, still gives the
        error: "Unable to engage module : logging".

        Any idea what might be wrong?

        Thanks again.

        Joe.


        On Sat, Apr 18, 2009 at 2:12 AM, Dennis Sosnoski
        <[email protected] <mailto:[email protected]>
        <mailto:[email protected] <mailto:[email protected]>>> wrote:

           Hi Joe,

           Try including the logging.mar in your classpath. You can
        also use a
           repository structure on the client side, but the classpath
        approach is
           easier.

           Cheers,

            - Dennis

           --    Dennis M. Sosnoski
           SOA and Web Services in Java
           Axis2 Training and Consulting
           http://www.sosnoski.com - http://www.sosnoski.co.nz
           Seattle, WA +1-425-939-0576 - Wellington, NZ +64-4-298-6117



           Joe Smithian wrote:

               Hi Asen,

               Thanks for your suggestions. My client is based on
        wsdl2java
               stub, I tried
               stub._getServiceClient().engageModule("logging"); as you
               suggested and I got this error:  Unable to engage
        module : logging
               What else I should do to engage logging module? should I
               download and install logging module?
               How can I use the logging module to monitor soap
        messages once
               it is engaged? Does it log to a file?

               I'd appreciate it if you can answer my question or
        refer me to
               online documents/examples.

               Thanks

               Joe



               On Fri, Apr 17, 2009 at 9:02 AM, Asen
        <[email protected] <mailto:[email protected]>
               <mailto:[email protected]
        <mailto:[email protected]>>
               <mailto:[email protected]
        <mailto:[email protected]>
               <mailto:[email protected]
        <mailto:[email protected]>>>> wrote:

                  I agree.
                  If you use Axis2 client, first build your logging.mar.
                  If you are using your wsdl2java stubs you can do
                  stub._getServiceClient().engageModule("logging");


                  On Thu, Apr 16, 2009 at 11:33 PM, Sukma Agung Verdianto
                  <[email protected] <mailto:[email protected]>
        <mailto:[email protected] <mailto:[email protected]>>
               <mailto:[email protected] <mailto:[email protected]>
        <mailto:[email protected] <mailto:[email protected]>>>> wrote:

                      I think you can engage logging module from your
        client if
                      you're using axis as the client.


                      On Fri, Apr 17, 2009 at 7:59 AM, Joe Smithian
                      <[email protected]
        <mailto:[email protected]> <mailto:[email protected]
        <mailto:[email protected]>>
               <mailto:[email protected]
        <mailto:[email protected]>
               <mailto:[email protected]
        <mailto:[email protected]>>>> wrote:

                          Hi Robert,

                          Logging Module is also a server side
        solution; I need a
                          solution in the client without any change or
        installing
                          anything in the server.

                          Thanks.

                          Joe.




                          On Wed, Apr 15, 2009 at 8:47 AM, robert lazarski
                          <[email protected]
        <mailto:[email protected]>
               <mailto:[email protected]
        <mailto:[email protected]>>
                          <mailto:[email protected]
        <mailto:[email protected]>

               <mailto:[email protected]
        <mailto:[email protected]>>>> wrote:

                              On Wed, Apr 15, 2009 at 9:44 AM, robert
        lazarski
                              <[email protected]
        <mailto:[email protected]>
               <mailto:[email protected]
        <mailto:[email protected]>>
                              <mailto:[email protected]
        <mailto:[email protected]>

               <mailto:[email protected]
        <mailto:[email protected]>>>> wrote:
                              > On Tue, Apr 14, 2009 at 11:25 PM, Joe
        Smithian
                              <[email protected]
        <mailto:[email protected]>
               <mailto:[email protected]
        <mailto:[email protected]>>
                              <mailto:[email protected]
        <mailto:[email protected]>
               <mailto:[email protected]
        <mailto:[email protected]>>>> wrote:
                              >> Hi all,
                              >>
                              >> Can any one please let me know how
        can I display
                              SOAP request and response
                              >> messages in a SOAP AXIS2 Client GUI
        application?
                              >
                              > Umm, the soap monitor perhaps?
                              >
                              >
               http://ws.apache.org/axis2/1_4_1/soapmonitor-module.html
                              >
                              > There's also tcpmon:
                              >
                              > https://tcpmon.dev.java.net/
                              >
                              > - R
                              >

                              Oops, I'm just waking up and I just
        noticed you
               can't
                              use either of
                              those. Maybe try the Logging Module and
        get the
               info
                              you need from
                              there.

                              http://ws.apache.org/axis2/1_4/modules.html

                              - R








Reply via email to