当前位置: 首页 > 面试题库 >

调用Web服务时出现FileNotFoundException

澹台承载
2023-03-14
问题内容

你好,我克服了最初的问题。我是一个完全的androidnoob,这是我的第一个应用程序。我正在Android模拟器上对此进行测试。我尝试在处连接到.NET
Web服务http://192.168.3.47/service.asmx。我得到一个FileNotFoundException。但是它在那里,URL是正确的。我怎样才能让他看到?

03-03 11:23:49.741: WARN/System.err(455): java.io.FileNotFoundException: http://192.168.3.47/service.asmx
03-03 11:23:49.751: WARN/System.err(455):     at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:521)
03-03 11:23:49.801: WARN/System.err(455):     at gyozo.HelloWorld.HelloActivity.onClick(HelloActivity.java:62)
03-03 11:23:49.831: WARN/System.err(455):     at android.view.View.performClick(View.java:2485)
03-03 11:23:49.851: WARN/System.err(455):     at android.view.View$PerformClick.run(View.java:9080)
03-03 11:23:49.871: WARN/System.err(455):     at android.os.Handler.handleCallback(Handler.java:587)
03-03 11:23:49.910: WARN/System.err(455):     at android.os.Handler.dispatchMessage(Handler.java:92)
03-03 11:23:49.940: WARN/System.err(455):     at android.os.Looper.loop(Looper.java:123)
03-03 11:23:49.950: WARN/System.err(455):     at android.app.ActivityThread.main(ActivityThread.java:3683)
03-03 11:23:50.010: WARN/System.err(455):     at java.lang.reflect.Method.invokeNative(Native Method)
03-03 11:23:50.050: WARN/System.err(455):     at java.lang.reflect.Method.invoke(Method.java:507)
03-03 11:23:50.070: WARN/System.err(455):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
03-03 11:23:50.090: WARN/System.err(455):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
03-03 11:23:50.110: WARN/System.err(455):     at dalvik.system.NativeStart.main(Native Method)

这发生在这里: InputStream is = connection.getInputStream();

URL url = new URL("http://192.168.3.47/service.asmx");
HttpURLConnection connection = (HttpURLConnection)url.openConnection();
connection.setRequestMethod("POST");
connection.setRequestProperty("Content-Type", 
 "application/soap+xml; charset=utf-8");

connection.setUseCaches(false);
connection.setDoInput(true);
connection.setDoOutput(true);

String soapRequest = String.format(getText(R.string.ws_listemain_ds_new).toString(), city, keyword);
connection.setRequestProperty("Content-Length", Integer.toString(soapRequest.getBytes("UTF-8").length));
//Send request
OutputStreamWriter owr = new OutputStreamWriter(connection.getOutputStream(), "UTF-8");

owr.write(soapRequest);
owr.flush();
owr.close();

//Get Response  
InputStream is = connection.getInputStream();

问题答案:

HttpURLConnection类是误导的,因为它会抛出FileNotFoundException为400或以上的任何HTTP错误代码。

因此,它不一定是错误的URL(404),它可能是400(错误请求),403(禁止),500(内部服务器错误)或其他错误。

使用该getResponseCode方法可以更准确地指示问题。



 类似资料:
  • 问题内容: 我在我们的内部网络上有一个简单的Web服务。我使用SOAPUI进行了一些测试,从WSDL生成了服务类,并编写了一些Java代码来访问服务。正如我能够创建服务代理类和进行调用一样,一切都按预期进行。很简单的东西。唯一的障碍是让Java信任来自提供Web服务的计算机的证书。那不是技术问题,而是我缺乏基于SSL的Web服务的经验。现在到我的问题。我编写了一个简单的EJB服务并将其部署到JBo

  • [2019-01-31T13:55:17.138-0500][Payara 4.1][INFO][][TID:_Threadid=37_ThreadName=HTTP-Thread-Pool::HTTP-Listener-2(5)][TimeMillis:1548960917138][LevelValue:800][[HTTP-Thread-Pool::HTTP-Listener-2(5),致命:

  • 问题内容: 我收到一个错误,指示缺少in 。这是我的网络服务代码: 这是我的: 添加应用程序类无效: 我仍然收到此错误: UPDATE2: 现在我从浏览器执行GET请求时收到此错误 问题答案: 用(或其他字符串)注释您的班级。

  • 我在Scala上使用Play 2.5,我创建了一个类,可以多次调用外部web服务。 外部Web服务在某些条件下被调用并得到ok或nok的简单响应。如果可以,那么我应该更新内部对象状态,如果可以,我现在什么也不做。 这是我的类,它将String的列表作为参数,并返回要在控制器中处理的对象的Future列表。 是列表类型的列表,但我希望它只是一个简单的响应列表。 1)如何简化和纠正我的代码以获得响应列

  • 问题内容: 我有一个应该将文件发送到Web服务的程序,该程序需要SSL连接。我运行程序如下: 这很好,但是当我将第一行更改为 我收到以下错误: 因此,似乎该问题与我正在使用的JRE有关,但似乎没有意义的是非IBM JRE可以正常工作,而IBM JRE则不能。有什么想法或建议吗? 问题答案: 如果您的非IBM jre是sun,那么它已经附带了SSL类实现。 看来IBM jre根本不包含SSL实现类。

  • 调用web服务操作时返回的错误是:org.apache.axis2.axisfault:Transport.error:302 error:Redirect at org.apache.axis2.Transport.http.httpsender.handleresponse(httpsender.java:310)at org.apache.axis2.Transport.http.https