Jac*_*ack 8 java eclipse spring soap tcp
我知道可以使用Eclipse TCP/IP监视来跟踪SOAP消息.我试过了,但它无法监控我的本地主机.TCP/IP不会在其控制台中显示localhost.
我可以通过http://localhost:8080/MyApp/
以下TCP/IP配置访问应用程序
Local monitoring port 9090 (a random port that I have chosen)
Host name: localhost
Port: 8080
Type: TCP/IP
Timeout:0
Run Code Online (Sandbox Code Playgroud)
有没有办法解决TCP/IP的问题或找到任何替代软件?
编辑:Wireshark是最全面的软件之一(但有点复杂)
我使用过 Fiddler 和 Charlesproxy,同样的功能 - WebSvcs、Rest、SOAP(在 Eclipse 工具中惨遭失败之后)。它们都比 eclipse 优越得多,并且非常易于使用。
这是设置 fiddler 的方法-
在 Eclipse 首选项中添加以下 VM 选项
DproxySet=true -Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=8888
或者,您也可以通过编程方式进行设置
System.setProperty("http.proxyHost", "127.0.0.1");
System.setProperty("https.proxyHost", "127.0.0.1");
System.setProperty("http.proxyPort", "8888");
System.setProperty("https.proxyPort", "8888");
重新启动您的应用程序。(我从来不需要重新启动 Eclipse 本身,但 Eclipse 有时有自己的想法)
就是这样,这是最常见和基本的设置,对于我处理过的 90% 的用例都很有用。注意:Fiddler 默认监听 8888 端口。
如果您的服务器使用 SSL/证书,则需要进一步设置。这是完整文档的链接。
注意:如果您遇到困难,即使在 stackoverflow 上也有很多关于这些设置的内容。
另外,Charlesproxy 也确实不错,但我个人主要使用 fiddler 进行 Webservice 客户端开发。
也许您更愿意启用内置的 Spring 日志记录,而不是使用 Eclipse TCP/IP 监控?在这种情况下,您可以启用DEBUG
或TRACE
级别的日志记录
org.springframework.ws.client.MessageTracing
如果你想登录客户端org.springframework.ws.server.MessageTracing
如果你想登录服务器级别在该DEBUG
级别上,仅记录有效负载根元素;在该TRACE
级别上,显示整个消息内容。有关详细信息和 Log4J 配置示例,请参阅Spring 文档。
或者,您可以配置 aPayloadLoggingInterceptor
或SoapEnvelopeLoggingInterceptor
。你beans.xml
可以这样做:
<sws:interceptors>
<bean class="org.springframework.ws.server.endpoint.interceptor.PayloadLoggingInterceptor"/>
</sws:interceptors>
Run Code Online (Sandbox Code Playgroud)
有关该解决方案的更多信息请参见此处(第 5.5.2.1 节)
请注意,Spring 使用 Commons-Logging 外观进行日志记录,因此您需要一个实际的日志框架来查看日志,例如。Log4J。
归档时间: |
|
查看次数: |
4521 次 |
最近记录: |