标签: soap

Android,通过HTTP POST(SOAP)发送XML

我想通过Android调用web服务.我需要通过HTTP将一些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 response = httpclient.execute(httppost);  

         } catch (ClientProtocolException e) {  
             // TODO Auto-generated catch block  
         } catch (IOException e) {  
             // TODO Auto-generated catch block  
         }  
     }
Run Code Online (Sandbox Code Playgroud)

这是我需要模仿的完整POST消息:

POST /a8103e90-f1e3-11dd-bfdb-8b1fcff1a110 …
Run Code Online (Sandbox Code Playgroud)

xml post android soap http

46
推荐指数
3
解决办法
9万
查看次数

如何输出SUD正在生成/接收的内容?

我有以下代码:

from suds.client import Client
import logging

logging.basicConfig(level=logging.INFO)
logging.getLogger('suds.client').setLevel(logging.DEBUG)
logging.getLogger('suds.transport').setLevel(logging.DEBUG)
logging.getLogger('suds.xsd.schema').setLevel(logging.DEBUG)
logging.getLogger('suds.wsdl').setLevel(logging.DEBUG)

SB_PRIVATE_ACCESS = {"PATH":"https://thisurl.com:443/services/",}

client = Client(SB_PRIVATE_ACCESS['PATH'])
print client
Run Code Online (Sandbox Code Playgroud)

但我得到了500个错误.我试图通过SUD将生成和接收的XML发送给wsdl开发人员,但我无法想出如何输出它?我一直在查看SUD的文档,但似乎无法找到它:/有谁知道如何输出发送和接收的原始xml?

python xml soap suds

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

使用SoapUI和Windows身份验证测试Web服务

是否可以包含Windows域凭据以使用SOAP UI测试我的Web服务?

我找到了一个属性页面,但IIS只响应"错误的凭据".

testing user-interface soap web-services soapui

45
推荐指数
3
解决办法
7万
查看次数

政府向公众提供哪些公共API?

我偶然发现了NOAA的SOAP服务,它让我思考.政府还向企业和公众提供了哪些其他电子政务服务?我知道美国有很多API,但其他政府如欧盟呢.我不仅对SOAP感兴趣,而且对通过互联网向公众提供的任何远程过程调用(RPC)服务感兴趣.我不仅对数据源感兴趣,还对其他类型的API感兴趣.

api rpc soap xml-rpc egovernment

45
推荐指数
7
解决办法
4333
查看次数

如何让Spring WebServices记录所有SOAP请求?

我需要记录所有SOAP请求CommonLogFormat(请参阅http://en.wikipedia.org/wiki/Common_Log_Format),加上持续时间(处理请求所需的时间).

最好的方法是什么?看起来可以为Spring WebServices配置log4j,但它会记录我感兴趣的所有值吗? http://pijava.wordpress.com/2009/12/04/spring-webservice-soap-requestresponse-logging-with-log4j/

编辑:我们实际上是在使用SLF4J,而不是Log4j.此外,看起来可以通过配置PayloadLoggingInterceptor来实现这一点:http://static.springsource.org/spring-ws/site/reference/html/server.html#server-endpoint-interceptor

但我不确定日志消息的去向.我向拦截器添加了拦截器,但没有看到任何日志消息.

java spring soap web-services spring-mvc

41
推荐指数
6
解决办法
8万
查看次数

org.w3c.dom.DOMException:WRONG_DOCUMENT_ERR:节点用于与创建它的文档不同的文档中

当我尝试生成一个看起来像的元素时,我收到一个错误

<hold/>
Run Code Online (Sandbox Code Playgroud)

使用Axis2生成的java客户端代码.java片段

HoldPayment hold = new HoldPayment()
cr.setHold(hold);
Run Code Online (Sandbox Code Playgroud)

但当我关闭它时,我收到错误的WRONG_DOCUMENT_ERR.如果我没有在被触发的消息中包含此元素,则它可以正常工作.有谁知道如何解决它?

AxisFault
 faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
 faultSubcode:
 faultString: org.w3c.dom.DOMException: WRONG_DOCUMENT_ERR: A node is used in a different document than the one that created it.
 faultActor:
 faultNode:
 faultDetail:
        {http://xml.apache.org/axis/}stackTrace:org.w3c.dom.DOMException: WRONG_DOCUMENT_ERR: A node is used in a different document than the one that created it.
        at com.sun.org.apache.xerces.internal.dom.ParentNode.internalInsertBefore(ParentNode.java:352)
        at com.sun.org.apache.xerces.internal.dom.ParentNode.insertBefore(ParentNode.java:284)
        at com.sun.org.apache.xerces.internal.dom.NodeImpl.appendChild(NodeImpl.java:235)
        at org.apache.axis.message.SOAPFaultBuilder.onEndChild(SOAPFaultBuilder.java:305)
        at org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1090)
        at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:601)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1774)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2930)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)
        at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)
        at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:807)
        at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
        at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107)
        at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205) …
Run Code Online (Sandbox Code Playgroud)

java axis soap

40
推荐指数
3
解决办法
5万
查看次数

Fiddler没有从ASP.NET网站嗅探SOAP流量

到目前为止,我已成功使用fiddler来嗅探来自测试装置,控制台应用程序和Web项目的Web服务流量.

今天我注意到,如果我正在运行我的Web应用程序(它是一个ASP.NET网站,在IIS上本地托管),我将无法再嗅到那种流量.我看到所有本地流量,但Web服务流量刚刚消失(服务正在被点击,因为我看到响应调试到代码中).

我仍然能够在同一解决方案(完全相同的环境)中成功地从测试装置或控制台应用程序中嗅探肥皂请求和响应.

如果它是一个Windows(我在Win7上)安全更新或喜欢它将永远不会工作我猜(除非它只影响通过IIS路由的流量).

我应该寻找什么可能导致出现这种行为

任何指针赞赏!

注意:我可以看到本地流量,但不能看到本地未托管的Web服务的SOAP请求/响应(这是另一个团队提供的沙箱)

编辑:这一点配置起到了作用(在Rick Strahl的博客上找到)

  <system.net>
    <defaultProxy>
      <proxy
        usesystemdefault="False"
        bypassonlocal="True"
        proxyaddress="http://127.0.0.1:8888"/>
    </defaultProxy>
  </system.net>
Run Code Online (Sandbox Code Playgroud)

asp.net wcf soap fiddler visual-studio-2008-sp1

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

是否可以使用python suds从文件系统中读取wsdl文件?

从suds 文档中,我可以创建一个Client如果我有一个WSDL的URL.

from suds.client import Client
url = 'http://localhost:7080/webservices/WebServiceTestBean?wsdl'
client = Client(url)
Run Code Online (Sandbox Code Playgroud)

我目前在我的文件系统上有WSDL文件.是否可以使用suds从我的文件系统读取WSDL文件而不是在Web服务器上托管它?

python soap wsdl suds

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

REST Web服务WSDL?

我正在实现一个Web服务,我已经实现了REST和SOAP版本,以查看哪个适合我的需求.我决定选择REST因为它的简单性,我可能会开发一个iPhone应用程序来使用它.我的问题很简单,是否可以为我的REST服务创建WSDL或WADL,是否有必要?

谢谢

rest soap wsdl web-services wadl

39
推荐指数
2
解决办法
8万
查看次数

SOAP和HTTP协议之间的区别?

SOAP和HTTP协议之间有什么区别.当我们说"SOAP over HTTP"时,这是什么意思.

soap protocols http

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