内容简介:以post请求为例,post方式,go访问webservice很简单,使用http.Post方法。参数则写起来比较麻烦,使用xml拼接方式。
以post请求为例,
post方式,go访问webservice很简单,使用http.Post方法。
参数则写起来比较麻烦,使用xml拼接方式。
我们来看在postman中如何访问的: https://blog.csdn.net/yysyangyangyangshan/article/details/86650012 ,这里需要把参数拼接成xml格式。
看代码如何实现,
package main import ( "fmt" "net/http" "io/ioutil" "bytes" "unsafe" ) func checkErr(err error){ if err!=nil{ panic(err) } } func main(){ //测试调用webservice paras :="<paraName1>hhhh</paraName1 >"+ "<paraName2>kkkk</paraName2>"+ "<paraName3>TY</paraName3>"+ "<paraName4>1</paraName4>" postStr := GenSOAPXml("http://tempuri.org/", "MethodName", paras) PostWebService("http://ganmane.com/hehe/wodishen.asmx", "MethodName", postStr) } func PostWebService(url string, method string, value string) string { res, err := http.Post(url, "text/xml; charset=utf-8", bytes.NewBuffer([]byte(value))) //错误日志 if err != nil { fmt.Println("post error", err) } data, err := ioutil.ReadAll(res.Body) if err != nil { fmt.Println("read error", err) } res.Body.Close() fmt.Printf("result----%s", data) str :=(*string)(unsafe.Pointer(&data)) return *str } func GenSOAPXml(nameSpace string, methodName string, valueStr string) string { soapBody := `<?xml version="1.0" encoding="utf-16"?>` soapBody += `<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">` soapBody += " <soap:Body>" soapBody += "<" + methodName + " xmlns=\"" + nameSpace + "\">" //以下是具体参数 soapBody += valueStr soapBody += "</" + methodName + "> </soap:Body></soap:Envelope>" fmt.Println(soapBody) return soapBody }
代码中对应地方改为实际的参数和地址方法即可。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 用代码说话!机器学习能预测股市吗?
- 少说话多写代码之Python学习002——环境搭建
- 少说话多写代码之Python学习021——导入模块
- 少说话多写代码之Python学习009——字典的创建
- 少说话多写代码之Python学习020——使用逗号输出
- 少说话多写代码之Python学习042——类04(超类 )
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Domain-Driven Design Distilled
Vaughn Vernon / Addison-Wesley Professional / 2016-6-2 / USD 36.99
Domain-Driven Design (DDD) software modeling delivers powerful results in practice, not just in theory, which is why developers worldwide are rapidly moving to adopt it. Now, for the first time, there......一起来看看 《Domain-Driven Design Distilled》 这本书的介绍吧!