我正在学习在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>
答案 0 :(得分:1)
看起来您的客户端代码没问题。来自服务器的响应不包含任何数据。最简单的解释是服务器发回了没有任何数据的响应。如果我是你,我会在收到此请求时对服务器的行为进行故障排除,而不是关注客户端代码。
答案 1 :(得分:0)
我将从 Wireshark 或 tcpdump 开始,这将帮助您捕获网络流量,这将有助于您在应用程序和传输级别调试Java代码生成的内容和服务器的响应。