访问.Net Webservice的Java Web服务客户端
我试图通过Java Webservice客户端访问在线.Net Webservice。访问.Net Webservice的Java Web服务客户端
但不幸的是,我得到一个错误“连接超时:连接”
下面是我的代码:
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import javax.xml.namespace.QName;
public class WebServiceMain {
public static void main(String[] args) {
try {
String endpoint = "http://wsf.cdyne.com/SpellChecker/check.asmx";
Service service = new Service();
Call call = (Call)service.createCall();
call.setProperty(Call.SOAPACTION_USE_PROPERTY, new Boolean(true));
call.setProperty(Call.SOAPACTION_URI_PROPERTY, "http://ws.cdyne.com/CheckTextBodyV2");
call.setTargetEndpointAddress(new java.net.URL(endpoint));
call.setPortName(new QName("http://ws.cdyne.com/", "check"));
call.setOperationName(new QName("http://ws.cdyne.com/", "CheckTextBodyV2"));
System.out.println(call.invoke(new Object[] {"helo is my name"}));
} catch (Exception e) {
System.err.println(e.toString());
}
}
}
连接超时来,因为网络issues.try的接取在浏览器网址。也试图在URL末尾追加?wsdl,您应该看到wsdl.if,这不起作用排除网络设置的故障。
是的,我可以通过浏览器连接并获取XML结果。 – 2011-05-28 11:15:33
连接超时:连接
这意味着你的客户端应用程序甚至不能跟Web服务。这不是一个程序问题。
检查并查看您是否可以通过Web浏览器访问端点。如果不是,那么该服务不可用。所以它不起作用。
如果您的浏览器可以访问它,并且您要通过代理连接到Internet,则需要为Java Client指定代理详细信息。为此,您可以在启动客户端应用程序时使用-Dhttp.proxyHost = 10.2.240.11和-Dhttp.proxyPort = 8080(用您的值替换)系统属性。
@Yohan:我已经设置了代理主机和端口的属性。但它仍然是一样的。 'System.setProperty(“http.proxyHost”,“XXXXXXXXXXXXX”); System.setProperty(“http.proxyPort”,“80”);' – 2011-05-28 11:34:52
我的代码是否在您的机器上执行?请检查并让我知道。 – 2011-05-28 11:39:39
@Siva如果您使用的是代理服务器,那么我认为这应该是因为这一点。你需要认证你的代理服务器吗? 我注意到您正在使用Axis作为Web服务客户端。此链接还说明了必须通过代理连接Axis的系统属性:http://publib.boulder.ibm.com/infocenter/ledoc/v6r2/index.jsp?topic=/com.ibm.rcp.tools。 doc.admin/coinfiguringapacheaxisclientproxysettings.html – 2011-05-28 11:43:40
下载soapui软件并安装。 然后加载wsdl文件并创建项目。
然后通过soap ui测试您的web服务。 您可以编辑soap ui的连接超时值。 chane it for big vlue and test.still your getiong time out ping to the ip addres of the service
请提供网址下载soapui软件。所以我也可以尝试。 – 2011-05-28 16:21:20
http://www.soapui.org/ – 2011-06-13 11:23:26
你可以连接到该服务(例如浏览器)吗? – Mat 2011-05-28 11:10:22
@Mat:是的,我可以通过浏览器连接并获取XML结果。但是如果我通过这段代码访问,我不是。 – 2011-05-28 11:12:25