如何使用axis 2 Web服务和客户端调试此问题

时间:2013-04-07 03:33:54

标签: java web-services axis2

我正在学习在this教程之后使用eclipse,apache和axis 2制作Web服务。我能够像在教程中一样生成Web服务,创建和上传.aar文件并生成Web服务客户端。但是,当我去测试客户端时,它没有产生适当的响应......

 PersonalInfoServiceStub stub = new PersonalInfoServiceStub();
 GetContactInfo atn = new GetContactInfo();
 atn.setPersonID(1);
 GetContactInfoResponse c = stub.getContactInfo(atn);
 System.out.println(c.get_return()); //returns null

 // The Java Class that serves as the basis for the web service works well...
 PersonalInfoService s = new PersonalInfoService(); 
 System.out.println(s.getContactInfo(1).getStreet()); //returns main street

这对我来说都是非常新的(我仍然非常依赖于遵循教程)所以我不确定是什么原因导致了这个问题,或者我怎么可能去调试什么是错误的。可能导致问题的原因是什么?我将如何进行调试?

如果我尝试使用此网址调用broswer中的web服务:   http://localhost:8080/axis2/services/PersonalInfoService/getContactInfo?personID=1 我明白了

This XML file does not appear to have any style information associated with it. The document tree is shown below.
    <ns:getContactInfoResponse xmlns:ns="http://webservices.com">
    <ns:return xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
    </ns:getContactInfoResponse>

2 个答案:

答案 0 :(得分:1)

看起来您的客户端代码没问题。来自服务器的响应不包含任何数据。最简单的解释是服务器发回了没有任何数据的响应。如果我是你,我会在收到此请求时对服务器的行为进行故障排除,而不是关注客户端代码。

答案 1 :(得分:0)

我将从 Wireshark tcpdump 开始,这将帮助您捕获网络流量,这将有助于您在应用程序和传输级别调试Java代码生成的内容和服务器的响应。