zoukankan      html  css  js  c++  java
  • axis2 调用webservice

    maven配置:主要引用包及plugins

     <properties>
            <axis2.version>1.6.1</axis2.version>
        </properties>
        <dependencies>
            <dependency>
                <groupId>org.apache.axis2</groupId>
                <artifactId>axis2-kernel</artifactId>
                <version>${axis2.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.axis2</groupId>
                <artifactId>axis2-adb</artifactId>
                <version>${axis2.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.axis2</groupId>
                <artifactId>axis2-transport-http</artifactId>
                <version>${axis2.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.axis2</groupId>
                <artifactId>axis2-transport-local</artifactId>
                <version>${axis2.version}</version>
            </dependency>
    
        </dependencies>
    
        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.axis2</groupId>
                    <artifactId>axis2-wsdl2code-maven-plugin</artifactId>
                    <version>1.6.1</version>
                    <executions>
                        <execution>
                            <id>wsdl2code-client</id>
                            <phase>generate-sources</phase>
                            <goals>
                                <goal>wsdl2code</goal>
                            </goals>
                        </execution>
                    </executions>
                    <configuration>
                        <wsdlFile>src/main/resources/wsdl/IXman.wsdl</wsdlFile>
                        <packageName>com.stub.generated</packageName>
                        <generateServicesXml>false</generateServicesXml>
                        <unpackClasses>true</unpackClasses>
                    </configuration>
                </plugin>
            </plugins>
        </build>

    通过wsdlFile属性指定wsdl所在文件。

    如果是有多个wsdl需要生成java代码,则可以用下面的配置:

    <plugin>
            <groupId>org.apache.axis2</groupId>
            <artifactId>axis2-wsdl2code-maven-plugin</artifactId>
            <version>1.6.0</version>
            <executions>
                <execution>
                    <id>ws1</id>
                    <goals>
                        <goal>wsdl2code</goal>
                    </goals>
                    <configuration>
                       <unpackClasses>true</unpackClasses>
                       <databindingName>adb</databindingName>
                       <packageName>org.example.stackoverflow.axis2-maven</packageName>
                       <wsdlFile>src/main/resources/service1.wsdl</wsdlFile>
                       <outputDirectory>target/generated-sources</outputDirectory>
                       <syncMode>sync</syncMode>
                    </configuration>
                </execution>
                <execution>
                    <id>ws2</id>
                    <goals>
                        <goal>wsdl2code</goal>
                    </goals>
                    <configuration>
                       <unpackClasses>true</unpackClasses>
                       <databindingName>adb</databindingName>
                       <packageName>org.example.stackoverflow.axis2-maven</packageName>
                       <wsdlFile>src/main/resources/service2.wsdl</wsdlFile>
                       <outputDirectory>target/generated-sources</outputDirectory>
                       <syncMode>sync</syncMode>
                    </configuration>
                </execution>
            </executions>
        </plugin>

    注意,这段xml配置,如果使用axis2-wsdl2code:wsdl2code命令去生成会报错,但使用install者可以生成成功。

    之后通过中间代码调用即可。

    @Test
        public void testWs() throws Exception{
            AIServiceStub aiServiceStub=new AIServiceStub();
            AIRequest aiRequest=new AIRequest();
            aiRequest.setMsgHeader("test");
            aiRequest.setMsgBody("test");
            AIResponse response= aiServiceStub.aIService_visit(aiRequest);
            System.out.println(response.getRes());
        }
  • 相关阅读:
    python selenium-webdriver 执行js (八)
    python selenium-webdriver 等待时间(七)
    python selenium-webdriver 处理JS弹出对话框(六)
    python selenium-webdriver 元素操作之键盘操作(五)
    python selenium-webdriver 元素操作之鼠标操作(四)
    Jmeter 设置全部变量(十三)
    Jmeter 执行Python代码(十二)
    Jmeter Java Request (十一)
    Jenkins进阶-定时任务(17)
    JMeter 设置间隔时间(十)
  • 原文地址:https://www.cnblogs.com/Gyoung/p/6132710.html
Copyright © 2011-2022 走看看