Java 如何检查web服务是否可访问?
如何检查是否可以访问任何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服务中的方法
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();
}