Java 如何检查web服务是否可访问?

Java 如何检查web服务是否可访问?,java,web-services,axis2,Java,Web Services,Axis2,如何检查是否可以访问任何web服务? 我可以看到服务列表,也知道web服务中存在的方法名称。但我不知道该方法接受哪些参数。 下面是web服务中的方法 public OMElement getChildren(OMElement paramOMElement) { Object localObject2 = paramOMElement.toString(); // Some other stuff } 我尝试了类似http://machine_name/war_

如何检查是否可以访问任何web服务?
我可以看到服务列表,也知道web服务中存在的方法名称。但我不知道该方法接受哪些参数。
下面是web服务中的方法

 public OMElement getChildren(OMElement paramOMElement)
  {
     Object localObject2 = paramOMElement.toString();
     // Some other stuff 
  }
我尝试了类似
http://machine_name/war_name/services/service_name/getChildren?a
并得到以下错误

soapenv:Fault>
<faultcode>soapenv:Client</faultcode>
−
<faultstring>
Umarshaller error: Error during unmarshall <getChildren><a></a></getChildren>; nested exception is: 
    edu.harvard.i2b2.common.exception.I2B2Exception: Umarshaller error: Error during unmarshall <getChildren><a></a></getChildren>; nested exception is: 
    org.apache.axis2.AxisFault: Umarshaller error: Error during unmarshall <getChildren><a></a></getChildren>; nested exception is: 
    edu.harvard.i2b2.common.exception.I2B2Exception: Umarshaller error: Error during unmarshall <getChildren><a></a></getChildren>
</faultstring>
<detail/>
</soapenv:Fault>   
soapenv:Fault>
soapenv:客户端
−
Umarshaller错误:解组时出错;嵌套异常是:
edu.harvard.i2b2.common.exception.I2B2Exception:Umarshaller错误:解组过程中出错;嵌套异常是:
org.apache.axis2.AxisFault:Umarshaller错误:解组过程中出错;嵌套异常是:
edu.harvard.i2b2.common.exception.I2B2Exception:Umarshaller错误:解组过程中出错
此错误是否意味着我可以访问服务,但发送了错误的参数?
服务也没有WSDL文件。

如何检查服务是否可访问,或者如何找到所需的确切参数

您需要向服务发送一个请求,查看是否有响应且没有异常,从而确保服务器正在运行。。 我不习惯用java编写代码,但下面是c#节选:

对于java可能有更简单的解决方案,比如使用类

或者试试这个:


告诉我哪一个为您工作。

您需要向服务发送请求,查看是否有响应且没有异常,从而确保服务器正在运行。。 我不习惯用java编写代码,但下面是c#节选:

对于java可能有更简单的解决方案,比如使用类

或者试试这个:


告诉我哪一个适合你。

谢谢你的解决方案。我知道方法的确切字符串,但不知道参数(我对c#不是很熟悉),你能让代码更简单吗?谢谢你提供Java解决方案:)谢谢你的解决方案。由于我知道方法的确切字符串,但不知道参数(我对c#不是很熟悉),您能让代码更简单吗?谢谢您提供Java解决方案:)
function bool CheckIfServiceIsAlive(string url)
{
var isServiceUrlAlive= false;
            var req = WebRequest.Create(url);
            if (!string.IsNullOrEmpty(proxyServer))
            {
                var proxy = new WebProxy(proxyServer, 8080) { Credentials = req.Credentials };  //if you need to use a proxy
                WebRequest.DefaultWebProxy = proxy;
                req.Proxy = proxy;
            }
            else
            {
                req.Proxy =  new WebProxy();
            }
            try
            {
                var response = (HttpWebResponse)req.GetResponse();
                isServiceUrlAlive= true;
            }
            catch (WebException) { }

            return isServiceUrlAlive;
UrlValidator urlValidator = new UrlValidator();
urlValidator.isValid("http://<your service url>");
public static int getResponseCode(String urlString) throws MalformedURLException, IOException {
    URL u = new URL(urlString); 
    HttpURLConnection huc =  (HttpURLConnection)  u.openConnection(); 
    huc.setRequestMethod("GET"); 
    huc.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2 (.NET CLR 3.5.30729)");
    huc.connect(); 
    return huc.getResponseCode();
}