springboot如何使用soap协议的方式访问webService接口呢?

java-经验王 SpringBoot 发布时间:2022-05-02 09:49:18 阅读数:6528 1
下文笔者讲述springboot采用soap协议的方式访问webService接口的方法分享,如下所示:

1.引入相应的jar包

<dependency>
	<groupId>commons-discovery</groupId>
	<artifactId>commons-discovery</artifactId>
	<version>0.5</version>
</dependency>

<dependency>
	<groupId>org.apache.axis</groupId>
	<artifactId>axis</artifactId>
	<version>1.4</version>
</dependency>

<dependency>
	<groupId>javax.xml.rpc</groupId>
	<artifactId>javax.xml.rpc-api</artifactId>
	<version>1.1.2</version>
</dependency>

定义soap协议内容,调用webService

 
public static void main(String[] args) throws ServiceException, MalformedURLException, RemoteException{
        String AppUrl = "******";//webService接口地址
        String nameSpace = "*******";//SOAPAction :http://**********/
        // 访问方法
        String methodName = "************";//方法名
 
        String actionUrl = nameSpace + methodName;
        Object returnObj = null;
            org.apache.axis.client.Service service = new org.apache.axis.client.Service();
            Call call = null;
            call = (Call) service.createCall();
 
            QName qName = new QName(nameSpace, methodName);
            call.setOperationName(qName);
            call.setSOAPActionURI(actionUrl);
            call.addParameter(new QName(nameSpace, "A"), XMLType.XSD_STRING, ParameterMode.IN);//设置参数A
            call.addParameter(new QName(nameSpace, "S"), XMLType.XSD_STRING, ParameterMode.IN);//设置参数S
            call.addParameter(new QName(nameSpace, "D"), XMLType.XSD_STRING, ParameterMode.IN);//设置参数D
            call.addParameter(new QName(nameSpace, "F"), XMLType.XSD_STRING, ParameterMode.IN);//设置参数F
            call.addParameter(new QName(nameSpace, "G"), XMLType.XSD_STRING, ParameterMode.IN);//设置参数G
            call.addParameter(new QName(nameSpace, "H"), XMLType.XSD_STRING, ParameterMode.IN);//设置参数H
            Document doc = null;
            Object[] paramValues = new Object[]{A, S,D,F,G,H};//参数必须是String类型  无需担心webService接口的参数类型
            call.setTimeout(6000);
            call.setReturnType(XMLType.XSD_STRING);
            call.setTargetEndpointAddress(new URL(AppUrl));
            returnObj = call.invoke(paramValues);
            System.out.println(returnObj);
    }
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaFramework/SpringBoot/202205/3234.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者