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

Wie SpringBoot Axis verwendet, um die Webservice-Schnittstelle aufzurufen

王林
Freigeben: 2023-05-11 13:28:06
nach vorne
2241 Leute haben es durchsucht

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>
Nach dem Login kopieren

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);
    }
}
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage