- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在 Android 手机上使用 kSOAP2 访问 Web 服务。我认为连接正在建立,但服务器不会回答我的请求,因为我没有提供 SOAP 版本 1.1 中似乎需要的 SOAP 操作 header (如果我在这里错了,请纠正我)我有使用,因为服务器不支持版本 1.2。请求中返回的具体 Faultcode 如下所示:
faultactor null
faultcode "S:Server" (id=830064966432)
faultstring "String index out of range: -11" (id=830064966736)
在服务器上生成的错误代码(我在本地主机上运行它)如下所示:
4.05.2010 20:20:29 com.sun.xml.internal.ws.transport.http.HttpAdapter fixQuotesAroundSoapAction
WARNUNG: Received WS-I BP non-conformant Unquoted SoapAction HTTP header: http://server.contextlayer.bscwi.de/createContext
24.05.2010 20:20:29 com.sun.xml.internal.ws.server.sei.EndpointMethodHandler invoke
SCHWERWIEGEND: String index out of range: -11
java.lang.StringIndexOutOfBoundsException: String index out of range: -11
at java.lang.String.substring(Unknown Source)
at de.bscwi.contextlayer.xml.XmlValidator.isValid(XmlValidator.java:41)
at de.bscwi.contextlayer.server.ContextWS.createContext(ContextWS.java:45)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.sun.xml.internal.ws.api.server.InstanceResolver$1.invoke(Unknown Source)
at com.sun.xml.internal.ws.server.InvokerTube$2.invoke(Unknown Source)
at com.sun.xml.internal.ws.server.sei.EndpointMethodHandler.invoke(Unknown Source)
at com.sun.xml.internal.ws.server.sei.SEIInvokerTube.processRequest(Unknown Source)
at com.sun.xml.internal.ws.api.pipe.Fiber.__doRun(Unknown Source)
at com.sun.xml.internal.ws.api.pipe.Fiber._doRun(Unknown Source)
at com.sun.xml.internal.ws.api.pipe.Fiber.doRun(Unknown Source)
at com.sun.xml.internal.ws.api.pipe.Fiber.runSync(Unknown Source)
at com.sun.xml.internal.ws.server.WSEndpointImpl$2.process(Unknown Source)
at com.sun.xml.internal.ws.transport.http.HttpAdapter$HttpToolkit.handle(Unknown Source)
at com.sun.xml.internal.ws.transport.http.HttpAdapter.handle(Unknown Source)
at com.sun.xml.internal.ws.transport.http.server.WSHttpHandler.handleExchange(Unknown Source)
at com.sun.xml.internal.ws.transport.http.server.WSHttpHandler.handle(Unknown Source)
at com.sun.net.httpserver.Filter$Chain.doFilter(Unknown Source)
at sun.net.httpserver.AuthFilter.doFilter(Unknown Source)
at com.sun.net.httpserver.Filter$Chain.doFilter(Unknown Source)
at sun.net.httpserver.ServerImpl$Exchange$LinkHandler.handle(Unknown Source)
at com.sun.net.httpserver.Filter$Chain.doFilter(Unknown Source)
at sun.net.httpserver.ServerImpl$Exchange.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
WSDL 的相关部分(至少我是这么想的)如下所示:
<operation name="createContext">
<soap:operation soapAction=""/>
−
<input>
<soap:body use="literal" namespace="http://server.contextlayer.bscwi.de/"/>
</input>
−
<output>
<soap:body use="literal" namespace="http://server.contextlayer.bscwi.de/"/>
</output>
</operation>
在我的代码中,我添加了一个 header ,但似乎我做错了:
private static final String SOAP_ACTION = "";
//...
SoapSerializationEnvelope soapEnvelope = new SoapSerializationEnvelope (SoapEnvelope.VER11);
soapEnvelope.setOutputSoapObject(Request);
AndroidHttpTransport aht = new AndroidHttpTransport (URL);
//...
aht.call(SOAP_ACTION, soapEnvelope);
SoapPrimitive resultString = (SoapPrimitive) soapEnvelope.getResponse();
任何建议都会很棒,因为我的想法已经用完了..谢谢大家!
最佳答案
SOAP 操作由命名空间和您要调用的实际方法组成。
另外,SOAP Action需要封装在""中才能发挥作用。我有一个类似的错误,直到我使用辅助方法生成我的 SOAP 操作:
public String getSoapAction(String method) {
return "\"" + NAMESPACE + method + "\"";
}
希望对您有所帮助!
关于android - Android 上的 kSOAP2 和 SOAPAction,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2899392/
使用 ksoap2库 (v2.6.4),SOAP version11,我正在通过 2.3.3 模拟器设备执行 Web 服务。服务器识别请求的操作并提供预期的答案。 HTTP/1.1 header (在
我的要求是从 Android 调用 Web 服务并以良好的方式显示结果。 但是在 Web 服务的 WSDL 中我没有找到 SOAPAction。 WSDL 看起来像这样:
不知道您是否可以帮助一个可怜的糊涂的 C# 程序员,但就这样吧。我有一个客户端有一个遗留的 Java Soap 应用程序,我们需要接受来自它的传入 Soap 请求。我已经构建了一个解决方案并对其进行了
我正在使用 NuSoap PHP 库 调用 webservice。 webservice 似乎使用 .NET;每次我调用它时,都会收到关于使用无效 SoapAction header 的错误。发送的
我正在进行 SOAP 服务器的契约(Contract)优先开发。 wsdl 为多个方法声明相同的 soapAction。现在 svcutil 生成的代码为多个方法的 OperationContract
我是使用 jax-ws 的网络服务的新手。我开始根据网络上的某种教程来实现它。此外,我试图通过我的 android 客户端访问该服务,所以我调用了它。 private static final Str
我们有一个 Spring 应用程序,其中有将使用 PayloadRoot 和 SoapAction 的 Web 服务。现在我们在webservice-ws-context.xml中配置了以下代码
我正在使用apache cxf创建一个soap客户端。我使用网络钩子(Hook)捕获数据并在Http header 中找到SOAPAction为空 SOAPAction : "" 下面是代码 URL
我的要求是从 Android 调用 Web 服务并以良好的方式显示结果。 但在 Web 服务的 WSDL 中,我没有找到 SOAPAction。 WSDL 看起来像这样:
我正在创建一个将从另一个服务调用的 WCF 服务。 在 WSDL soapaction 中出现如下 我想要它 如何指定自定义 soap 操作? 最佳答案 您还可以指定 Action经营契约(Con
我正在尝试使用 JAX-WS 从我的 Java 代码生成 WSDL。 除了我在 WSDL 中的操作,soapAction 仍然为空之外,一切似乎都正常。 这是我的代码: @WebService pub
我想通过 PHP 重新连接我的路由器。 控制台命令如下: curl "http://192.168.178.1:49000/upnp/control/WANIPConn1" -H "Content-T
我正在使用 SoapUI 来测试将由 Java 客户端应用程序使用的 .Net Web 服务。 当我将 Web 服务连接到 SoapUI 但更新 WSDL 位置并调用预设测试脚本之一时,Web 服务失
我想对 CUCM DB 进行 SQL 查询。我使用 Maven jaxb2 插件从 WSDL 生成 Java 类,但 Cisco AXL 文档建议使用 wsdl2java。我有很多带有 Req/Res
我正在发送 SOAP 请求,服务器提示 SOAPAction header 为空。我认为我设置正确,但显然我不是。 Wireshark 显示未设置。 @Test public void testLog
请找到下面我用来调用我的 SOAP 端点的 html Soap 客户端代码我的soap webservice作为axis项目部署在tomcat中。 请找到下面的客户端代码 SOAP Jav
在下面的 WSDL 摘录中,在该行
我正在尝试在 Android 手机上使用 kSOAP2 访问 Web 服务。我认为连接正在建立,但服务器不会回答我的请求,因为我没有提供 SOAP 版本 1.1 中似乎需要的 SOAP 操作 head
我正在尝试使用 SAAJ 为这个 WSDL 调用 SOAP 网络服务。我在此处提交了对此 WSDL 的请求 http://www.webservicex.net/ws/WSDetails.aspx?W
我正在使用 Spring Integration 开发一个客户端应用程序,需要调用 SOAP 1.2 服务。如果我使用 int-ws:header-enricher 设置 SOAPAction:
我是一名优秀的程序员,十分优秀!