Maison > Java > javaDidacticiel > le corps du texte

Comment SpringBoot utilise Axis pour appeler l'interface du service Web

王林
Libérer: 2023-05-11 13:28:06
avant
2079 Les gens l'ont consulté

WebService

Définition

Comment SpringBoot utilise Axis pour appeler linterface du service Web

Compréhension personnelle

Grâce à Du Niang et d'autres méthodes, je le comprends personnellement comme un protocole de savon déguisé plus le traitement des bons de travail XML,

Pratique

le bon sens du service Web

Une publication d'interface de service Web l'adresse est souvent similaire :

  • qq Interface de vérification en ligne :

www.webxml.com.cn/webservices…

  • Autres interfaces testables :

interface d'adresse e-mail : www.webxml.com. cn/ WebServices…

Interface des conditions météorologiques nationales :

www.webxml.com.cn/WebServices…

Interface de vérification de l'interface en ligne qq à titre d'exemple

Ajouter après l'interface : /wsdl www.webxml.com. cn/webservices&hellip ;

Visitez, visualisez et trouvez le contenu défini dans la figure ci-dessous : Faites attention à utiliser la clé associée pour trouver les paramètres nécessaires correspondants.

Comment SpringBoot utilise Axis pour appeler linterface du service Web

maven utilise axis

Dépendances d'application (ne peuvent pas être manquantes et obligatoires)

        <!-- 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>
Copier après la connexion

Code (peut être collé)

@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);
    }
}
Copier après la connexion

Pour le code ci-dessus, je vais me plaindre ici. Il y a en fait de nombreux exemples de cela sur le. Internet, mais quand il est réellement appelé, quelque chose s'est mal passé, veuillez noter :

  • Définir les paramètres

Comment SpringBoot utilise Axis pour appeler linterface du service Web

  • Obtenir les résultats

Comment SpringBoot utilise Axis pour appeler linterface du service Web

xxxx doit remplir le vrai numéro QQ

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!