Heim >Java >javaLernprogramm >Wie SpringBoot Axis verwendet, um die Webservice-Schnittstelle aufzurufen

Wie SpringBoot Axis verwendet, um die Webservice-Schnittstelle aufzurufen

王林
王林nach vorne
2023-05-11 13:28:062242Durchsuche

WebService

Definition

Wie SpringBoot Axis verwendet, um die Webservice-Schnittstelle aufzurufen

Persönliches Verständnis

Durch Du Niang und andere Methoden , Persönlich verstehe ich es als getarntes Soap-Protokoll plus XML-Arbeitsauftragsverarbeitung,

Praxis

Webservice gesunder Menschenverstand

Eine Webservice-Schnittstellen-Veröffentlichungsadresse ähnelt oft: #🎜 🎜#

  • qq Online-Verifizierungsschnittstelle:

www.webxml.com.cn/ webservices…

# 🎜🎜#

    Andere testbare Schnittstellen:
  • email E-Mail-Adressschnittstelle: www.webxml.com.cn /WebServices…#🎜 🎜#
Nationale Wetterbedingungen-Schnittstelle:

www.webxml.com.cn/WebServices…

qq Online-Schnittstellenüberprüfungsschnittstelle als Beispiel

#🎜 🎜#Nach der Schnittstelle hinzufügen:

/wsdl

www.webxml.com.cn/webservices…

Besuchen Sie den in definierten Inhalt und sehen Sie ihn sich an Das Bild unten: Achten Sie auf die Verwendung des Zuordnungsschlüssels. Finden Sie die entsprechenden erforderlichen Parameter.

maven Achse verwenden

Wie SpringBoot Axis verwendet, um die Webservice-Schnittstelle aufzurufenAbhängigkeiten anwenden (nicht fehlend und erforderlich)

        <!-- 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>

Code ( Einfügen Verfügbar)

@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);
    }
}

Bezüglich des obigen Codes werde ich mich hier beschweren. Es gibt tatsächlich viele Beispiele dafür im Internet, aber beim tatsächlichen Aufruf treten Probleme auf:

#🎜 🎜##🎜🎜 #

Parameter einstellen

Ergebnisse erhalten

# 🎜🎜#Wie SpringBoot Axis verwendet, um die Webservice-Schnittstelle aufzurufen

  • xxxx muss die echte QQ-Nummer eingeben

Das obige ist der detaillierte Inhalt vonWie SpringBoot Axis verwendet, um die Webservice-Schnittstelle aufzurufen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen