>  기사  >  Java  >  SpringBoot가 축을 사용하여 웹 서비스 인터페이스를 호출하는 방법

SpringBoot가 축을 사용하여 웹 서비스 인터페이스를 호출하는 방법

王林
王林앞으로
2023-05-11 13:28:062204검색

WebService

Definition

SpringBoot가 축을 사용하여 웹 서비스 인터페이스를 호출하는 방법

개인의 이해

두니앙 등의 방법을 통해 개인적으로 위장된 비누 프로토콜에 xml 작업 지시 처리를 더한 것으로 이해하고,

Practice

웹 서비스 상식

웹 서비스 인터페이스 퍼블리싱 주소는 대개 유사합니다:

  • qq 온라인 확인 인터페이스:

www.webxml.com.cn/webservices…

  • 기타 테스트 가능한 인터페이스:

이메일 주소 인터페이스: www.webxml.com. cn/ WebServices…

국가 기상 조건 인터페이스:

www.webxml.com.cn/WebServices…

qq 온라인 인터페이스 확인 인터페이스 예시

인터페이스 뒤에 추가: /wsdl www.webxml.com. cn/webservices&hellip ;

아래 그림에 정의된 콘텐츠를 방문하여 확인하고 찾으세요. 관련 키를 사용하여 해당 필수 매개변수를 찾는 데 주의하세요.

SpringBoot가 축을 사용하여 웹 서비스 인터페이스를 호출하는 방법

maven은 축을 사용합니다

애플리케이션 종속성(누락 불가 및 필수)

        <!-- https://mvnrepository.com/artifact/org.apache.axis/axis -->
        <dependency>
            <groupId>org.apache.axis</groupId>
            <artifactId>axis</artifactId>
            <version>1.4</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/wsdl4j/wsdl4j -->
        <dependency>
            <groupId>wsdl4j</groupId>
            <artifactId>wsdl4j</artifactId>
            <version>1.6.2</version>
        </dependency>
<!--        解决cell 转换问题-->
        <!-- https://mvnrepository.com/artifact/javax.xml/jaxrpc-api -->
        <dependency>
            <groupId>javax.xml</groupId>
            <artifactId>jaxrpc-api</artifactId>
            <version>1.1</version>
        </dependency>
<!--       解析调用结果以及数据转换包-->
        <!-- https://mvnrepository.com/artifact/commons-discovery/commons-discovery -->
        <dependency>
            <groupId>commons-discovery</groupId>
            <artifactId>commons-discovery</artifactId>
            <version>0.2</version>
        </dependency>

코드(붙여넣기 가능)

@Test
public void testWebService() {
    try {
        //wsdl地址
        String endpoint = "http://www.webxml.com.cn/webservices/qqOnlineWebService.asmx";
        //命名空间
        String namespace = "http://WebXml.com.cn/";
        //服务名
        String serviceName = "qqOnlineWebService";
        //方法名
        String methodName = "qqCheckOnline";
        //soapAction
        String soapAction = "http://WebXml.com.cn/qqCheckOnline";

        Service service = new Service();
        Call call = (Call) service.createCall();
        //设置响应超时
        call.setTimeout(3000);
        //设置地址
        call.setTargetEndpointAddress(new java.net.URL(endpoint));
        //设置方法名
        call.setOperationName(new QName(namespace, methodName));

        //设置参数
        call.addParameter(new QName(namespace, "qqCode")
                , org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);
        //设置返回类型
        call.setReturnType(XMLType.XSD_SCHEMA);
        //启用soap
        call.setUseSOAPAction(true);
        //设置soapAction
        call.setSOAPActionURI(soapAction);
        //设置服务名
        SOAPService soapService = new SOAPService();
        soapService.setName(serviceName);
        call.setSOAPService(soapService);
        Schema result = (Schema) call.invoke(new Object[]{"xxxxx"});
        for (int i = 0; i < result.get_any().length; i++) {
            System.out.println(result.get_any()[i]);
        }
    } catch (Exception e) {
        log.error("ddd", e);
    }
}

위 코드에 대해서는 실제로 여기에 대한 많은 예가 있습니다. 인터넷이지만 실제로 호출되면 문제가 발생했습니다. 참고:

  • 매개변수 설정

SpringBoot가 축을 사용하여 웹 서비스 인터페이스를 호출하는 방법

  • 결과 얻기

SpringBoot가 축을 사용하여 웹 서비스 인터페이스를 호출하는 방법

xxxx는 실제 QQ 번호를 입력해야 합니다

위 내용은 SpringBoot가 축을 사용하여 웹 서비스 인터페이스를 호출하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제