webservice客户端asmx[通俗易懂]

webservice客户端asmx[通俗易懂]记录一次webservice接口访问服务端一般会给个以http://xxx/services.asmx。以前都是wsdl做服务端,采用idea自带的工具生成客户端或者用wsdl2java工具生成。从网上找了好多方法,最后终于成功了。服务端的URL:asmx的请求与响应代码:<!–请求–>POST/webService/services/webServiceImplService.asmxHTTP/1.1Host:172.16.1.20Content-Ty

大家好,又见面了,我是你们的朋友全栈君。

记录一次webservice接口访问服务端一般会给个以http://xxx/services.asmx。

以前都是wsdl做服务端,采用idea自带的工具生成客户端或者用wsdl2java工具生成。

从网上找了好多方法,最后终于成功了。

服务端的URL:

webservice客户端asmx[通俗易懂]

asmx的请求与响应代码:

<!--请求-->
POST /webService/services/webServiceImplService.asmx HTTP/1.1
Host: 172.16.1.20
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://webService/services/webServiceImplService/SendInfo"

<?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>
    <SendInfo xmlns="http://webService/services/webServiceImplService">
      <Data>string</Data>
    </SendInfo>
  </soap:Body>
</soap:Envelope>
<!--响应-->
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>
    <SendInfoResponse xmlns="http://webService/services/webServiceImplService">
      <SendInfoResult>string</SendInfoResult>
    </SendInfoResponse>
  </soap:Body>
</soap:Envelope>

方法一

asmx也可以用wsdl2java工具生成。就在http://xxx/services.asmx后加?wsdl即可。生成方式可百度,有很多。如果这么简单我就不会写这篇文章了/哭

我这个服务端地址里面包含了很多方法。其中有参数是重复的,导致用wsdl2java工具生成时一直报某某字段重复。我从网上找了个asmx文件是可以用wsdl2java生成的。所以这个方法是没法用的。

方法二     

直接使用org.apache.axis.client.ServiceCall。代码如下:

public static void main(String[] args) throws Exception {
    String url = "http://ip:port/webService/services/webServiceImplService.asmx";
    //这里有个坑,一定要注意最后是否有反斜线!!!
    String namespace = "http://webService/services/webServiceImplService";
    //action路径(方法名)
    String actionUri = "SendInfo";
    //方法名
    String op = "SendInfo";

    Service service = new Service();
	Call call = (Call) service.createCall();
	call.setTargetEndpointAddress(new URL(url));
	call.setUseSOAPAction(true);
    // 在创建QName对象时,QName类的构造方法的第一个参数表示WSDL文件的命名空间名,也就是<wsdl:definitions>元素的targetNamespace属性值
	call.setSOAPActionURI(namespace +"/"+actionUri);
	call.setReturnType(XMLType.XSD_STRING);
	call.setOperationName(new QName(namespace, op)); // 设置要调用哪个方法
	call.addParameter(new QName(namespace,"Data"), // 设置要传递的参数(形参)
	XMLType.XSD_STRING, ParameterMode.IN);

    String json = "传递的数据";
    Object[] params = new Object[]{json};
    String response = "";
    try {
			response = (String) call.invoke(params);// 调用方法并传递参数
		}catch (Exception e){
			e.printStackTrace();
			//输出SOAP发送的请求报文
			System.out.println("--SOAP Request: " +     call.getMessageContext().getRequestMessage().getSOAPPartAsString());
		}
}

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/130385.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 防止攻击服务器_iis部署网站无法通过ip访问

    防止攻击服务器_iis部署网站无法通过ip访问摘要:介绍了IIS服务器常见的攻击及几种常见防御方式,阐述了IIS服务器的攻击原理,针对IIS服务器的缺陷阐述了IIS的常用防御方式,同时结合实例具体实现方式。关键词:IIS;服务器攻击;服务器防御中图分类号:TP393            文献标识码:A0         引言  随着Internet的不断发展与普及,英特网上出现了越来越多的WEB服务器。人们通过WEB服

    2022年8月30日
    1
  • 卷积神经网络及其在图像处理中的应用

    卷积神经网络及其在图像处理中的应用一,前言卷积神经网络(ConstitutionalNeuralNetworks,CNN)是在多层神经网络的基础上发展起来的针对图像分类和识别而特别设计的一种深度学习方法。先回顾一下多层神经网络:多层神经网络包括一个输入层和一个输出层,中间有多个隐藏层。每一层有若干个神经元,相邻的两层之间的后一层的每一个神经元都分别与前一层的每一个神经元连接。在一般的识别问题中,输入层代表特征向量,输入

    2022年6月11日
    31
  • VMM传记_默克尔传

    VMM传记_默克尔传最近看了三篇有关于VMM的文章,分别是《VirtualMachineMonitors》、《VirtualMachineMonitors:CurrentTechnologyandFutureTrends》和《AnUpdatedPerformanceComparisonofVirtualMachinesandLinuxContainers》,在这里简要说下本人的读后…

    2022年9月15日
    0
  • bfp是什么电子元件_ad原理图器件旁边有红色波浪线

    bfp是什么电子元件_ad原理图器件旁边有红色波浪线ISPpipelineDBS:校准经过OBC之前不同像素暗电流的差值。因为器件原因,会存在暗电流,存在暗电流的情况下会导致偏色。OBC:sensor电路本身存在暗电流,没有光线的时候,像素会有输出,OBC减去暗电流,找到0基准。LensShadding:镜头阴影校正镜头是一个凸透镜,在接收光线时,成像较远时,会造成斜光束慢慢减少,图片中心较亮,四周比较暗。PGN:3A统计计算模块(计算awb、af、ae)UDM:利用颜色插值,光分为r,g,b三原色,g是亮度,通过g的插值,得到一下.

    2022年9月4日
    3
  • HDU1007 Quoit Design 【分治】

    HDU1007 Quoit Design 【分治】

    2022年2月1日
    35
  • 简介支持向量机热门(认识SVM三位置)

    简介支持向量机热门(认识SVM三位置)

    2021年12月17日
    40

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号