门外小白用axis2调用接口,发送数据请求

来源:互联网 发布:手机日记本数据库表 编辑:程序博客网 时间:2024/06/07 04:03

1.axis2不建议用1.5版本,用1.6以上的,1.5版本本身存在坑


2.jar包

pom.xml:

<dependency>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2</artifactId>
<version>1.6.2</version>
</dependency>
       <dependency>
           <groupId>org.apache.axis2</groupId>
           <artifactId>axis2-aar-maven-plugin</artifactId>
           <version>1.6.2</version>
       </dependency>
       <dependency>
           <groupId>org.apache.axis2</groupId>
           <artifactId>axis2-adb</artifactId>
           <version>1.6.2</version>
       </dependency>


       <dependency>
           <groupId>org.apache.axis2</groupId>
           <artifactId>axis2-adb-codegen</artifactId>
           <version>1.6.2</version>
       </dependency>


       <dependency>
           <groupId>org.apache.axis2</groupId>
           <artifactId>axis2-ant-plugin</artifactId>
           <version>1.6.2</version>
       </dependency>


       <dependency>
           <groupId>org.apache.axis2</groupId>
           <artifactId>axis2-clustering</artifactId>
           <version>1.6.2</version>
       </dependency>




       <dependency>
           <groupId>org.apache.axis2</groupId>
           <artifactId>axis2-codegen</artifactId>
           <version>1.6.2</version>
       </dependency>


       <dependency>
           <groupId>org.apache.axis2</groupId>
           <artifactId>axis2-integration</artifactId>
           <version>1.6.2</version>
       </dependency>


       <dependency>
           <groupId>org.apache.axis2</groupId>
           <artifactId>axis2-java2wsdl</artifactId>
           <version>1.6.2</version>
       </dependency>


       <dependency>
           <groupId>org.apache.axis2</groupId>
           <artifactId>axis2-java2wsdl-maven-plugin</artifactId>
           <version>1.6.2</version>
       </dependency>


       <dependency>
           <groupId>org.apache.axis2</groupId>
           <artifactId>axis2-jaxbri</artifactId>
           <version>1.6.2</version>
       </dependency>




       <dependency>
           <groupId>org.apache.axis2</groupId>
           <artifactId>axis2-jaxws</artifactId>
           <version>1.6.2</version>
       </dependency>


       <dependency>
           <groupId>org.apache.axis2</groupId>
           <artifactId>axis2-jaxws-integration</artifactId>
           <version>1.6.2</version>
       </dependency>




       <dependency>
           <groupId>org.apache.axis2</groupId>
           <artifactId>axis2-jibx</artifactId>
           <version>1.6.2</version>
       </dependency>




       <dependency>
           <groupId>org.apache.axis2</groupId>
           <artifactId>axis2-json</artifactId>
           <version>1.6.2</version>
       </dependency>




       <dependency>
           <groupId>org.apache.axis2</groupId>
           <artifactId>axis2-kernel</artifactId>
           <version>1.6.2</version>
       </dependency>
       
       <dependency>
       <groupId>javax.servlet</groupId>
       <artifactId>servlet-api</artifactId>
       <version>2.5</version>
       <scope>test</scope>
       </dependency>
       




       <dependency>
           <groupId>org.apache.axis2</groupId>
           <artifactId>axis2-mar-maven-plugin</artifactId>
           <version>1.6.2</version>
       </dependency>




       <dependency>
           <groupId>org.apache.axis2</groupId>
           <artifactId>axis2-metadata</artifactId>
           <version>1.6.2</version>
       </dependency>




       <dependency>
           <groupId>org.apache.axis2</groupId>
           <artifactId>axis2-mtompolicy</artifactId>
           <version>1.6.2</version>
       </dependency>




       <dependency>
           <groupId>org.apache.axis2</groupId>
           <artifactId>axis2-repo-maven-plugin</artifactId>
           <version>1.6.2</version>
       </dependency>




       <dependency>
           <groupId>org.apache.axis2</groupId>
           <artifactId>axis2-resource-bundle</artifactId>
           <version>1.6.2</version>
       </dependency>




       <dependency>
           <groupId>org.apache.axis2</groupId>
           <artifactId>axis2-saaj</artifactId>
           <version>1.6.2</version>
       </dependency>




       <dependency>
           <groupId>org.apache.axis2</groupId>
           <artifactId>axis2-soapmonitor-servlet</artifactId>
           <version>1.6.2</version>
       </dependency>




       <dependency>
           <groupId>org.apache.axis2</groupId>
           <artifactId>axis2-spring</artifactId>
           <version>1.6.2</version>
       </dependency>




       <dependency>
           <groupId>org.apache.axis2</groupId>
           <artifactId>axis2-transport-http</artifactId>
           <version>1.6.2</version>
       </dependency>




       <dependency>
           <groupId>org.apache.axis2</groupId>
           <artifactId>axis2-transport-local</artifactId>
           <version>1.6.2</version>
       </dependency>




       <dependency>
           <groupId>org.apache.axis2</groupId>
           <artifactId>axis2-wsdl2code-maven-plugin</artifactId>
           <version>1.6.2</version>
       </dependency>




       <dependency>
           <groupId>org.apache.axis2</groupId>
           <artifactId>axis2-xmlbeans</artifactId>
           <version>1.6.2</version>
       </dependency>




       <dependency>
           <groupId>org.apache.axis2</groupId>
           <artifactId>org.apache.axis2.osgi</artifactId>
           <version>1.6.2</version>
       </dependency>
       
       <!-- axis2 --> 


3.demo:



public static String sendService(String mainJson,String sType,String url,String method){
        String xml=null;
        try {
       
            String sign = null;
            sign = string2MD5(appkey+mainJson);//appkey加上数据 做个MD5验证,可有可无
            RPCServiceClient serviceClient = new RPCServiceClient();
            Options options = serviceClient.getOptions();
            EndpointReference targetEPR = new EndpointReference(url);
            options.setTo(targetEPR);
        
            QName opAddEntry = new QName("服务器域名",method);//服务器域名路径+方法名
            // 参数,如果有多个,继续往后面增加即可,不用指定参数的名称
            Object[] opAddEntryArgs = new Object[] {sign,mainJson};
            Class[] classes = new Class[] { String.class };
            xml=(String)serviceClient.invokeBlocking(opAddEntry,opAddEntryArgs, classes)[0];
            System.out.println("服务器返回结果"+method+":"+xml);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return xml;
    }