我想通过Android调用一个web服务。 我需要通过HTTP POST一些XML到一个URL。 我发现这被剪发送一个POST,但我不知道如何包括/添加XML数据本身。 public void postData() { // Create a new HttpClient and Post Header HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost("http://10.10.4.35:53011/"); try { // Add your data List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2); nameValuePairs.add(new BasicNameValuePair("Content-Type", "application/soap+xml")); httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); // Where/how to add the XML data? // Execute HTTP Post Request HttpResponse […]
概要: 有没有办法强制PHP中的内置SoapClient类通过HTTPS连接到服务器与一个无效的证书? 我为什么要这样做? 我已经在没有DNS入口或证书的服务器上部署了一个新的应用程序。 我想在设置DNS条目和修复证书之前尝试使用SoapClient 进行连接,最合理的方法似乎是在testing期间让客户端忽略证书。 我不知道这是一个巨大的安全风险吗? 这只是为了testing。 当服务投入生产时,会有一个有效的证书到位,客户端将被强制validation。
关于使用XML-RPC或REST的解决scheme简单性的争论很容易理解,很难与之争辩。 我也经常听到一些观点,认为增加的SOAP开销可能会显着影响已使用的带宽,甚至可能会延迟。 我希望看到量化影响的testing结果。 任何人都知道这些信息的好来源?
考虑这个示例SOAP客户端脚本: $SOAP = new SoapClient($WDSL); // Create a SOAP Client from a WSDL // Build an array of data to send in the request. $Data = array('Something'=>'Some String','SomeNumber'=>22); $Response = $SOAP->DoRemoteFunction($Data); // Send the request. 在最后一行,PHP从您指定的数组中获取参数,然后使用WSDL构build发送的XML请求,然后发送它。 我如何让PHP向我展示它构build的实际XML? 我正在对应用程序进行故障诊断,并需要查看请求的实际XML。
是否有可能在Visual Studio 2012中添加一个Web引用到我的项目? 在Visual Studio 2010中,可以通过单击“添加服务引用”对话框中的“高级”button,因为它写在此页上: 在Visual Studio 2010中添加Web引用 但在Visual Studio 2012中,在“服务引用设置”中没有“兼容性”部分,在此对话框中没有“添加Web引用”button。 我想使用SOAP Web服务,但只有当我将它作为Web引用添加时才能正常工作(在.NET Framework 2.0兼容模式下,如果我像往常一样添加服务引用,则在使用此服务时有exception)。 如何添加旧式的Web引用到我的项目? 或者如何使用我的Web服务与新的服务引用风格? 谢谢
我正在通过java代码调用HTTPS SOAP Web服务。 我已经在jre cacerts keystore中导入了自签名证书。 现在我得到: com.sun.xml.internal.ws.com.client.ClientTransportException: HTTP transport error: javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: No subject alternative names present 服务URL的主机名与cert中提供的CN的主机名不匹配。 我阅读了一个在这里定义自定义主机名validation者的解决方法。 但我无法在我的代码中实现解决方法。 public SOAPMessage invokeWS(WSBean bean) throws Exception { SOAPMessage response=null; try{ /** Create a service and add at least one port to it. **/ String targetNameSpace = bean.getTargetNameSpace(); String endpointUrl = bean.getEndpointUrl(); QName serviceName = […]
我的意思是,真的,SOAP有什么意义? Web服务已经存在了一段时间,一段时间以来,“SOAP”和“Web服务”这两个术语在很大程度上是可以互换的。 然而,SOAP总是显得笨重,并且大大地过于复杂。 然后REST就出现了,Web服务突然变得有意义了。 正如Joel Spolsky所说的,给程序员一个REST的URL,他们就可以马上开始使用这个服务,搞清楚了。 SOAP在WSDL和大量详细的XML背后被模糊处理,尽pipe是基于Web的,但是不能做任何事情就像使用Web浏览器访问SOAP服务一样简单。 所以我的问题的本质是: 有没有什么好的理由selectSOAP而不是REST? 你现在在用SOAP吗? 如果界面是REST,会更好吗? 我错了吗?
由于php.net上的SOAP手册不是很友好,我找不到任何好的例子,所以我会在这里发表我的问题。 我如何创buildPHP SOAP请求看起来像这样? POST /MySERVER/myWSDLservice.asmx HTTP/1.1 Host: connection.mywebsite.com Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: "http://connection.mywebsite.com/MySERVER/GetCarType" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetCarType xmlns="http://connection.mywebsite.com/MySERVER/"> <IDNumber>string</IDNumber> </GetCarType> </soap:Body> </soap:Envelope> 请注意: 有用户/通过authentication SSL连接 任何build议/链接/示例非常感谢。
是否可以根据WSDL中的信息来查看Web服务是否使用SOAP 1.1或1.2?
REST和WebService(SOAP)有什么区别,我看了facebook api,他们使用HTTP头和一些参数(可能是xml或非),并返回结果在XML中,其他SOAP完全相同,HTTP头+ XML参数和返回标题+ XML。 REST还需要一些authentication令牌,其中SOAP使用http会话,该会话与用于authentication和其他信息的令牌完全相同。 我只能看到SOAP是REST的一些高级版本吗? 还是有其他的性能考虑? 阅读REST只是谈论客户端服务器通信的非常高的水平,但即使是SOAP也完全一样。 任何人都可以指出它在哪里可以定义正确的REST和SOAP的边界。 我们在.net中透明地使用了大量的SOAP,但是我只想知道是否真的值得向REST支付额外的费用,目前所有的一切都运行得非常顺利。 我知道REST是一个体系结构,SOAP是一个协议,但我的问题是详细的说,目前的SOAP WebService的SOAP实现有REST架构吗?