【jmeter系列】WebService(soap)请求
一、SOAP Web服务请求组成
-
Envelope(信封):SOAP消息的最外层包装,用于标识SOAP消息的开始和结束。一个SOAP消息只包含一个Envelope元素。
-
Header(头部):可选的部分,用于包含与消息相关的元数据信息,如身份验证信息、加密方法等。Header元素是Envelope元素的直接子元素。
-
Body(消息体):必需的部分,用于封装实际的操作请求或响应数据。Body元素是Envelope元素的直接子元素。
-
Fault(错误):可选的部分,用于在发生错误时返回错误信息。Fault元素包含了错误码、错误描述等信息,并在Body元素中出现。如果请求未出错,就不包含Fault元素。
- SOAP消息的XML结构示例:
1 2 3 4 5 6 7 8 | <soap:Envelope xmlns:soap= "http://www.w3.org/2003/05/soap-envelope" > <soap:Header> <!-- 可选的头部信息 --> </soap:Header> <soap:Body> <!-- 请求或响应数据 --> </soap:Body> </soap:Envelope> |
在Body中,可以包含一个或多个操作元素,每个操作元素表示一个具体的操作,如"GetCustomers"或"UpdateOrder"。操作元素可以包含输入参数和输出结果。
SOAP消息使用HTTP协议进行传输,通常通过HTTP POST请求发送到Web服务的URL地址,并在请求的Content-Type中指定为"application/soap+xml"。请求的消息体中包含了由Envelope、Header和Body构成的SOAP消息。
服务端接收到请求后,解析SOAP消息,根据消息中的操作信息执行相应的操作。处理完请求后,发送由Envelope、Header和Body构成的SOAP消息作为响应返回给客户端。
二、具体示例
接口练习地址:http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx?op=getMobileCodeInfo
请求参数:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | POST /WebServices/MobileCodeWS.asmx HTTP/1.1 Host: ws.webxml.com.cn Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: "http://WebXml.com.cn/getMobileCodeInfo" <?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> <getMobileCodeInfo xmlns= "http://WebXml.com.cn/" > <mobileCode> string </mobileCode> <userID> string </userID> </getMobileCodeInfo> </soap:Body> </soap:Envelope> |
响应:
1 2 3 4 5 6 7 8 9 10 11 12 | HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: length <?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> <getMobileCodeInfoResponse xmlns= "http://WebXml.com.cn/" > <getMobileCodeInfoResult> string </getMobileCodeInfoResult> </getMobileCodeInfoResponse> </soap:Body> </soap:Envelope> |
本文来自博客园,作者:橘子偏爱橙子,转载请注明原文链接:https://www.cnblogs.com/xfbk/p/17590584.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix