`
shx
  • 浏览: 30887 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

axis2开发笔记-消息监控

阅读更多
  在调试或者定位问题的时候通常需要看到传递的具体消息内容,得益于axis2良好的架构设计,首先想到开发一个log模块插到axis的消息处理流中,但事实上axis2已经提供了这个模块,用了一下感觉挺好用,但为性能考虑默认情况下这个模块是没有装载的,下面介绍一下装载配置过程(以tomcat容器在本机安装为例)。

1.因为使用了applet进行显示,首先要安装applet
将<CATALINA_HOME>/webapps/axis2/WEB-INF/lib/soapmonitor-1.3.jar解压放到<CATALINA_HOME>/webapps/axis2下
注意:浏览器需要安装jre1.3以上的插件来支持applet运行

2.配置servlet,在<CATALINA_HOME>/webapps/axis2/WEB-INF/web.xml中加上以下内容
    <servlet>
       <servlet-name>SOAPMonitorService</servlet-name>
       <display-name>SOAPMonitorService</display-name>
       <servlet-class>
         org.apache.axis2.soapmonitor.servlet.SOAPMonitorService
       </servlet-class>
       <init-param>
          <param-name>SOAPMonitorPort</param-name>
          <param-value>5001</param-value>
       </init-param>
       <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>SOAPMonitorService</servlet-name>
        <url-pattern>/SOAPMonitor</url-pattern>
    </servlet-mapping>

3.装载soapmonitor模块
冷装载:<CATALINA_HOME>/webapps/axis2/WEB-INF/conf/axis2.xml中插入一行
<module ref="soapmonitor"/>,重启tomcat;
或者使用web方式热装载:http://localhost:8080/axis2/axis2-admin登陆后选Engage Module进行操作。热装载在在线运行系统的调试方面很有用。

4.观察监控信息
连接http://localhost:8080/axis2/SOAPMonitor,就可以用图形界面可视化的监控soap消息了,附图是一个实际监控情况。
  • 描述: 监控界面实例截图。
  • 大小: 49.2 KB
分享到:
评论
3 楼 lqg629 2008-10-27  
还有我的QQ:307216786
可以和你交流下吗
2 楼 lqg629 2008-10-27  
我看了很多的关于SOAPMonitor部署步骤
可是我在访问http://localhost:8080/axis2/SOAPMonitor时就出现了以下的错误:java.lang.NullPointerException
at javax.swing.border.EmptyBorder.<init>(Unknown Source)
at com.sun.java.swing.plaf.windows.WindowsTableHeaderUI$XPDefaultRenderer.getTableCellRendererComponent(Unknown Source)
at javax.swing.plaf.basic.BasicTableHeaderUI.getHeaderRenderer(Unknown Source)
at javax.swing.plaf.basic.BasicTableHeaderUI.getHeaderHeight(Unknown Source)
at javax.swing.plaf.basic.BasicTableHeaderUI.createHeaderSize(Unknown Source)
at javax.swing.plaf.basic.BasicTableHeaderUI.getPreferredSize(Unknown Source)
at javax.swing.JComponent.getPreferredSize(Unknown Source)
at javax.swing.ViewportLayout.preferredLayoutSize(Unknown Source)
at java.awt.Container.preferredSize(Unknown Source)
at java.awt.Container.getPreferredSize(Unknown Source)
at javax.swing.JComponent.getPreferredSize(Unknown Source)
at javax.swing.ScrollPaneLayout.preferredLayoutSize(Unknown Source)
at java.awt.Container.preferredSize(Unknown Source)
at java.awt.Container.getPreferredSize(Unknown Source)
at javax.swing.JComponent.getPreferredSize(Unknown Source)
at java.awt.BorderLayout.preferredLayoutSize(Unknown Source)
at java.awt.Container.preferredSize(Unknown Source)
at java.awt.Container.getPreferredSize(Unknown Source)
at javax.swing.JComponent.getPreferredSize(Unknown Source)
at javax.swing.plaf.basic.BasicSplitPaneUI$BasicHorizontalLayoutManager.getPreferredSizeOfComponent(Unknown Source)
at javax.swing.plaf.basic.BasicSplitPaneUI$BasicHorizontalLayoutManager.getPreferredSizes(Unknown Source)
at javax.swing.plaf.basic.BasicSplitPaneUI$BasicHorizontalLayoutManager.resetToPreferredSizes(Unknown Source)
at javax.swing.plaf.basic.BasicSplitPaneUI$BasicHorizontalLayoutManager.layoutContainer(Unknown Source)
at java.awt.Container.layout(Unknown Source)
at java.awt.Container.doLayout(Unknown Source)
at java.awt.Container.validateTree(Unknown Source)
at java.awt.Container.validateTree(Unknown Source)
at java.awt.Container.validateTree(Unknown Source)
at java.awt.Container.validateTree(Unknown Source)
at java.awt.Container.validateTree(Unknown Source)
at java.awt.Container.validateTree(Unknown Source)
at java.awt.Container.validateTree(Unknown Source)
at java.awt.Container.validateTree(Unknown Source)
at java.awt.Container.validate(Unknown Source)
at sun.plugin.util.GrayBoxPainter.freezePainting(Unknown Source)
at sun.plugin.AppletViewer.showAppletStatus(Unknown Source)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Exception in thread "thread applet-org.apache.axis2.soapmonitor.applet.SOAPMonitorApplet.class" java.lang.NullPointerException
at javax.swing.border.EmptyBorder.<init>(Unknown Source)
at com.sun.java.swing.plaf.windows.WindowsTableHeaderUI$XPDefaultRenderer.getTableCellRendererComponent(Unknown Source)
at javax.swing.plaf.basic.BasicTableHeaderUI.getHeaderRenderer(Unknown Source)
at javax.swing.plaf.basic.BasicTableHeaderUI.getHeaderHeight(Unknown Source)
at javax.swing.plaf.basic.BasicTableHeaderUI.createHeaderSize(Unknown Source)
at javax.swing.plaf.basic.BasicTableHeaderUI.getPreferredSize(Unknown Source)
at javax.swing.JComponent.getPreferredSize(Unknown Source)
at javax.swing.ViewportLayout.preferredLayoutSize(Unknown Source)
at java.awt.Container.preferredSize(Unknown Source)
at java.awt.Container.getPreferredSize(Unknown Source)
at javax.swing.JComponent.getPreferredSize(Unknown Source)
at javax.swing.ScrollPaneLayout.preferredLayoutSize(Unknown Source)
at java.awt.Container.preferredSize(Unknown Source)
at java.awt.Container.getPreferredSize(Unknown Source)
at javax.swing.JComponent.getPreferredSize(Unknown Source)
at java.awt.BorderLayout.preferredLayoutSize(Unknown Source)
at java.awt.Container.preferredSize(Unknown Source)
at java.awt.Container.getPreferredSize(Unknown Source)
at javax.swing.JComponent.getPreferredSize(Unknown Source)
at javax.swing.plaf.basic.BasicSplitPaneUI$BasicHorizontalLayoutManager.getPreferredSizeOfComponent(Unknown Source)
at javax.swing.plaf.basic.BasicSplitPaneUI$BasicHorizontalLayoutManager.getPreferredSizes(Unknown Source)
at javax.swing.plaf.basic.BasicSplitPaneUI$BasicHorizontalLayoutManager.resetToPreferredSizes(Unknown Source)
at javax.swing.plaf.basic.BasicSplitPaneUI$BasicHorizontalLayoutManager.layoutContainer(Unknown Source)
at java.awt.Container.layout(Unknown Source)
at java.awt.Container.doLayout(Unknown Source)
at java.awt.Container.validateTree(Unknown Source)
at java.awt.Container.validateTree(Unknown Source)
at java.awt.Container.validateTree(Unknown Source)
at java.awt.Container.validateTree(Unknown Source)
at java.awt.Container.validateTree(Unknown Source)
at java.awt.Container.validateTree(Unknown Source)
at java.awt.Container.validateTree(Unknown Source)
at java.awt.Container.validateTree(Unknown Source)
at java.awt.Container.validate(Unknown Source)
at sun.plugin.util.GrayBoxPainter.getGrayBoxPanel(Unknown Source)
at sun.plugin.util.GrayBoxPainter.paintGrayBox(Unknown Source)
at sun.plugin.util.GrayBoxPainter.repaintGrayBox(Unknown Source)
at sun.plugin.util.GrayBoxPainter.showLoadingError(Unknown Source)
at sun.plugin.AppletViewer.showAppletException(Unknown Source)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

环境变量、路径什么的,我都配了。
请问我这是什么回事?会是版本的问题吗?
1 楼 fenxue 2008-09-28  
问一下,我也准备采用2的版本,看了官方的文档,布署服务时可能要打包成一个aar文件,扔到WEB-INF/services目录下,感觉不像1版本那样,可以直接调试,现在只能通过监视器,或日志查看正误了,不知道楼主有没有好的解决方案???有空可以加我的QQ:87961327,一起交流。

相关推荐

    axis2-idea-plugin-1.7.9.zip_axis2_axis2-idea-plugin_idea导入axis2_

    plugin-1.7.9.zip_axis2_axis2-idea-plugin_idea导入axis2_"提到了几个关键元素,分别是"axis2"、"idea-plugin"和"idea导入axis2",这暗示了这个压缩包是用于在IntelliJ IDEA这款集成开发环境(IDE)中支持Axis2服务...

    axis2c-bin-1.6.0 axis2c-src-1.6.0

    axis2c-bin-1.6.0-linux.tar.gz axis2c-bin-1.6.0-win32.zip axis2c-src-1.6.0.tar.gz axis2c-src-1.6.0.zip 加md5

    axis2-1.5.1-bin.zip axis2-1.5.1-war.zip axis2部署使用

    `axis2-1.5.1-bin.zip`是Axis2的二进制包,它包含了运行和开发Web服务所需的所有基本组件。这个包通常用于本地开发环境或者在服务器上进行手动安装。其中包含的主要文件和目录有: 1. `bin`目录:包含启动和管理...

    axis2-eclipse-codegen-plugin-1.6.2.zip和axis2-eclipse-service-plugin-1.6.2.zip

    总之,"axis2-eclipse-codegen-plugin-1.6.2.zip"和"axis2-eclipse-service-plugin-1.6.2.zip"是强大的开发工具,它们为使用Apache Axis2开发Web服务的Eclipse用户提供了一个友好的环境,使得Web服务的生命周期管理...

    axis2-eclipse-codegen-plugin-1.6.2和axis2-eclipse-service-plugin-1.6.2

    标题中的"axis2-eclipse-codegen-plugin-1.6.2和axis2-eclipse-service-plugin-1.6.2"指的是两个与Apache Axis2相关的Eclipse插件:Axis2代码生成插件和Axis2服务插件,它们是版本1.6.2的。Apache Axis2是一个流行的...

    axis2-eclipse-service与axis2-eclipse-codegen插件

    目前axis2最高版本是2.0以上的版本,但是eclipse和myeclipse都不支持,无奈只能使用低版本的插件1.6.3;经实验,可以安装成功; 安装方法:右键解压到当前文件夹,Copy解压的文件到eclipse安装目录dropins下,重启...

    axis2-eclipse-service-archiver-wizard和axis2-eclipse-codegen-wizard

    共四个文件,都是最先版的,希望可以帮助大家。axis2-eclipse-service-archiver-wizard和axis2-eclipse-codegen-wizard和axis2-1.6.1-bin和axis2-1.6.1-war

    axis2-1.4.1-bin.zip axis2-1.4.1-war.zip

    标题中的"axis2-1.4.1-bin.zip"和"axis2-1.4.1-war.zip"指的是Apache Axis2的两个不同版本的发行包,分别代表了Axis2的可执行二进制版本和Web应用程序版本。Apache Axis2是一个高度可扩展且功能强大的Web服务引擎,...

    axis2-adb-1.4.1.jar

    axis2-adb-1.4.1.jar axis2-adb-1.4.1.jar

    axis2-1.6.0-bin和axis2-1.6.0-war

    Apache Axis2是基于Java的Web服务引擎,它是Apache SOAP项目的下一代产品,用于创建和部署Web服务及处理SOAP消息。 **Apache Axis2概述** Apache Axis2是一个强大的、灵活的Web服务框架,它支持多种协议,如HTTP、...

    Axis2-1.6.2-bin和Axis2-1.6.2-war

    Axis2是Apache软件基金会开发的一款基于Java的Web服务框架,用于构建高效、可扩展的Web服务。这个框架提供了丰富的功能,包括服务部署、消息处理、事务管理等,使其成为企业级应用开发的重要工具。我们主要关注两个...

    axis2-idea-plugin-1.7.8

    Axis2是Apache软件基金会开发的一个开放源代码Web服务框架,它提供了一种高效、灵活的方式来创建和部署Web服务。该插件的版本号1.7.8表明这可能是其稳定且功能丰富的迭代之一。 首先,让我们详细了解一下Axis2。...

    axis2-std-1.0-bin.zip与axis2.war

    Apache Axis2是基于Java的Web服务引擎,它用于创建和部署Web服务以及处理SOAP消息。在给定的信息中,我们关注的是"axis2-std-1.0-bin.zip"和"axis2.war"这两个文件。 1. **axis2-std-1.0-bin.zip**: 这是一个包含了...

    axis2-1.6.2-war+axis2-1.6.1-war+axis2-1.6.2-bin

    Axis2是Apache软件基金会开发的一个Web服务引擎,它主要用于创建和部署Web服务以及处理SOAP消息。这里涉及的三个部分分别对应不同的部署形式: 1. axis2-1.6.2-war:此部分是Axis2的Web应用版本,以WAR(Web ...

    axis2-1.6.2-war.zip

    Apache Axis2是一个强大且灵活的Web服务引擎,它允许开发人员创建、部署和管理Web服务。这个版本的发布主要是为了支持当时最新的Web服务标准和技术。 Apache Axis2是Apache SOAP项目的后续,专注于提高性能和可扩展...

    axis2-1.5.4-bin&axis2-1.5.4-war

    Axis2是Apache软件基金会开发的一个开放源代码Web服务引擎,它允许开发人员创建、部署和管理Web服务。这个描述暗示我们可能正在处理一个包含Axis2 1.5.4版本二进制(bin)和Web应用(war)文件的压缩包。 1. **Axis...

    完整的axis2 jar包包含实例.zip

    axis2 webservice 服务端jar包: --&gt;axis2-kernel-1.6.1.jar --&gt;axis2-spring-1.6.1.jar --&gt;axis2-transport-http-1.6.1.jar --&gt;XmlSchema-1.4.7.jar --&gt;wsdl4j-1.6.2.jar --&gt;axiom-api-1.2.12.jar --&gt;axiom...

    axis2-kernel-1.3.jar--axis2-kernel-1.3.jar

    3. **消息处理**:Axis2内核使用消息上下文(Message Context)对象来存储和传递消息状态。这个上下文包含消息的所有信息,如消息体、头信息、消息类型等,使得处理过程更为灵活。 4. **传输层**:Axis2支持多种...

    axis2.eclipse.codengen.plugin-SNAPSHOT-axis2-eclipse-codege-plugin.zip

    在 Axis2 的开发环境中,此插件扮演着至关重要的角色,它能帮助开发者自动生成与Web服务相关的客户端和服务器端代码,从而提高开发效率。 描述中提到,这个包是“必不可少”的,而且在开发过程中需要将其安装到...

    axis2-eclipse-codegen-plugin-1.6.0与axis2-eclipse-service-plugin-1.6.0

    axis2-eclipse-codegen-plugin-1.6.0和axis2-eclipse-service-plugin-1.6.0有关jar包下载,解压后直接将这两个jar包放到eclips下的plugins目录下,重启eclipse即可

Global site tag (gtag.js) - Google Analytics