小编Arc*_*rci的帖子

你能解释一下HttpURLConnection连接过程吗?

HTTPURLConnection用来连接到Web服务.我知道如何使用,HTTPURLConnection但我想了解它是如何工作的.基本上,我想知道以下内容:

  • 在哪一点上HTTPURLConnection尝试建立与给定URL的连接?
  • 在哪一点上我可以知道我能够成功建立连接?
  • 是建立连接并在一步/方法调用中发送实际请求?它是什么方法?
  • 你能解释的功能getOutputStreamgetInputStream外行的任期?我注意到,当我试图连接到服务器宕机,我得到ExceptiongetOutputStream.这是否意味着HTTPURLConnection我只会在调用时开始建立连接getOutputStream?怎么样getInputStream?因为我只能得到响应getInputStream,那么这是否意味着我还没有发送任何请求getOutputStream但只是建立连接?HttpURLConnection我调用时是否回到服务器请求响应getInputStream
  • 我是否正确地说,openConnection只是创建一个新的连接对象,但尚未建立任何连接?
  • 如何衡量读取开销和连接开销?

java inputstream outputstream urlconnection httpurlconnection

131
推荐指数
2
解决办法
11万
查看次数

异常消息为空?

try-catch我的代码中有一个声明.在我的catch块中,我打电话e.getMessage()来打印异常消息.但是,e.getMessage保持返回空值.有趣的是,当我打电话给e.printStackTrace,我打印堆栈跟踪没有问题.

以下是我的代码:

try
{
    console = new BufferedReader(new InputStreamReader(httpsURLConnection.getInputStream()));
}catch(Exception e)
{
    Log.d("Error", "Error Message: " + e.getMessage()); //e.getMessage is returning a null value
    e.printStackTrace(); //this works. is displaying a SocketTimeOutException
}
Run Code Online (Sandbox Code Playgroud)

可能是我的问题的原因是什么?我该如何解决?

java android exception-handling exception

33
推荐指数
2
解决办法
5万
查看次数

如何在JAX-WS Web服务上引发自定义错误?

如何在JAX-WS Web服务上抛出自定义soap错误?我怎么可以指定faultCode,faultStringdetailSOAP错误的?是否可以设置detailas bean 的值而不是String

请注意,我正在使用代码优先方法开发.

java web-services exception jax-ws soapfault

32
推荐指数
2
解决办法
6万
查看次数

wsimport生成的客户端如何工作?

在此之前,我想让您知道我已经可以连接到Web服务服务器了.我问这个问题是因为我希望深入了解wsimport生成的客户端是如何工作的.根据我的研究,wsimport使用JAXWS.请注意,我不了解JAXWS.

我使用wsimport生成了我的客户端.我使用的WSDL来自Axis2 Web服务,由Axis2自动生成.下面的类是wsimport的结果:

com.datamodel.xsd

  • DataBeanRequest.java
  • DataBeanResponse.java
  • ObjectFactory.java
  • package-info.java

com.service

  • MyWebService.java
  • MyWebServicePortType.java
  • MyMethod.java
  • MyMethodResponse.java
  • ObjectFactory.java
  • package-info.java

使用上面的类,我可以告诉它com.datamodel.xsd包含Web服务服务器使用的bean(不包括ObjectFactorypackage-info).同时,MyMethodMyMethodResponse也用于设置的web服务方法/操作的请求和响应参数豆.

以下是我的问题:(如果你不知道我的一些问题的答案,你真的不必回答所有问题.:)请随时分享你认为我可能会觉得有用的任何信息.)

我是否正确

  • 我的上述假设是否正确?
  • 其他课程的功能是什么?
  • 我检查过MyWebService,它包含一个注释,指的是我用来生成客户端的WSDL的绝对位置.wsdllocation在客户端中指定的相关性是什么?客户如何使用该信息?
  • 我注意到Web服务的实际URL未在生成的任何类中声明.客户如何知道需要连接的位置?
  • 是否对WSDL文件进行了注释,以便客户端可以在连接时读取WSDL文件上的URL?如果是这样,那么是否意味着在必须建立新连接时始终读取WSDL文件?
  • 由于我需要编译我的应用程序并将其安装在不同的服务器上,因此将无效.我可以将其设置为相对路径而不是绝对路径吗?怎么样?(答案:是的,它可以设置为相对路径.该wsimport命令有一个wsdllocation属性,其中wsdllocation可以指定值.)
  • 如果我需要连接到HTTPS,该怎么办?如何设置服务器证书?
  • 当我使用wsimport生成客户端时以及使用Axis2或Apache CXF生成客户端时有什么区别.

java axis2 web-services jax-ws wsimport

30
推荐指数
1
解决办法
4万
查看次数

Metro vs Java的JAX-WS?

Java的JAX-WS和Metro有什么区别?它们是两个不同的JAX-WS实现相同吗?

根据我的研究,JAX-WS已经是JDK 6的一部分.但是,JAX-WS没有附带标准的JDK包,所以我找了一个Java EE jar.但是,似乎Oracle不承载已编译的Java EE jar,而是提供Glassfish作为Java EE服务器.

我能够在Glassfish上运行我的Web服务.Glassfish使用什么JAX-WS实现?由于它是托管在Oracle上的,我假设它使用Java的JAX-WS实现,它应该是JDK 1.6的一部分?我的假设是正确的吗?此外,要运行基于JAX-WS的Web服务,我需要下载JAX-WS jar.我找到了Metro.但在它的页面上,我看到地铁的链接是Glassfish的子链接.所以我现在很困惑.Glassfish使用Metro吗?或者Glassfish使用Java的JAX-WS?

Metro和Java的JAX-WS是一样的吗?

java tomcat glassfish java-metro-framework jax-ws

28
推荐指数
1
解决办法
1万
查看次数

使用HttpURLConnection和HttpsURLConnection连接到https?

如果我尝试使用HttpURLConnection和连接到"https"有什么区别HttpsURLConnection

我能够使用两者连接到"https" HttpURLConnection,HttpsURLConnection所以我很困惑.如果我使用的话,我想我只能建立与"https"的连接HttpsURLConnection?

以下是我的一些问题:

  • 如果我能够使用HttpURLConnection打开与"https"的连接,我的连接仍然是"https"还是变成"http"?
  • 如何验证证书?因为我没有任何SSLSocketFactoryHostnameVerifierHttpURLConnection同时连接的"https"开头,怎么SSLSocketFactoryHostnameVerifier我使用的?
  • 无论证书是否可信,这是否意味着我信任一切?

android httpurlconnection

26
推荐指数
1
解决办法
2万
查看次数

DexGuard如何加密类?

我想检查一下DexGuard是如何工作的,但它似乎没有免费试用版.

DexGuard可以加密Android应用程序吗?或者只是简单地混淆代码?DexGuard加密如何工作?如果您可以在反编译之前和之后提供使用DexGuard运行的示例应用程序的代码,那就太棒了.

encryption android proguard dexguard

21
推荐指数
1
解决办法
2万
查看次数

如果名称空间声明在SOAP信封上,如何使用JAXB解组SOAP响应?

如果已删除soap信封,则JAXB只能解组XML.但是,我试图解组的SOAP响应在soap信封上有其名称空间声明.如果我删除soap信封,名称空间声明也将被删除.因此,标签的前缀将指无.这会导致JAXB抛出错误.如果在SOAP信封上声明名称空间,如何使用JAXB解组SOAP响应?

我需要解组的类似XML样本如下:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://example.com/">
    <soapenv:Body>
        <ns:getNumberResponse>
            <number>123456789</number>
        </ns:getNumberResponse>
    </soapenv:Body>
</soapenv:Envelope>
Run Code Online (Sandbox Code Playgroud)

如果我移除肥皂信封会发生这种情况:

<ns:getNumberResponse>
    <number>123456789</number>
</ns:getNumberResponse>
Run Code Online (Sandbox Code Playgroud)

如果我删除了soap信封,名称空间声明也将消失.JAXB将无法解组上述xml,因为缺少前缀"ns"的命名空间定义.因此,它将返回"The prefix "ns" for element "ns:getNumberResponse" is not bound."错误消息.我如何解决它?

请注意我使用的是JDK 1.5.我不确定在JDK 1.6中是否有办法解决这个问题.我能够使用JAXB,因为我下载了使用JAXB所需的jar.

java xml soap jaxb unmarshalling

19
推荐指数
2
解决办法
5万
查看次数

如何在使用操作栏时隐藏标题栏?

我正在使用ActionBarSherlock并且我试图隐藏我的应用程序的标题栏但是每当我这样做时,我NullPointerException在访问" ActionBar如何删除/隐藏标题栏" 时会得到一个?请注意,我不是指操作栏的标题.我指的是操作栏上方的标题栏.我在Android 2.3设备上运行我的应用程序.

下面是我的代码:(我的课程延伸SherlockFragmentActivity.)

super.onCreate(savedInstanceState);
setTheme(R.style.Theme_Sherlock);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
ActionBar actionbar = getSupportActionBar();
actionbar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); //I get the NullPointerException here.

//...

setContentView(R.layout.tab_navigation);
Run Code Online (Sandbox Code Playgroud)

android titlebar actionbarsherlock android-actionbar

19
推荐指数
4
解决办法
2万
查看次数

Internet连接错误

我有一个连接到Internet的Android应用程序.我正在捕获所有可能的连接方案,并注意到当我没有Internet连接时,UnknownHostException就是thrown.我在这里有点困惑,因为获得UnknownHostException意味着应用程序能够连接到Internet但无法找到给定的URL.

我得到了正确的例外吗?你能解释一下我为什么要UnknownHostException这个?

此外,您能告诉这些场景的具体例外情况:

  • 没有互联网连接时.
  • 无法找到URL时.
  • 当请求超时时.
  • 当网站关闭时.
  • 访问被拒绝时.

如果你能给我更多场景和例外,我也将不胜感激.我必须捕获所有可能的连接并根据连接类型错误显示最合适的消息.

connection android exception-handling exception

16
推荐指数
1
解决办法
1万
查看次数