微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

axis2 调用webservice

private static void invokeWebService() 
   { 
       try 
       { 
       System.setProperty("javax.net.ssl.trustStore","D:\\tomcat.keystore");
        System.setProperty("javax.net.ssl.trustStorePassword","123456");
       
//            String soapBindingAddress = "http://localhost:8080/axis2/services/hello?wsdl"; 
        String soapBindingAddress = "https://localhost:8443/axis2/services/hello?wsdl"; 

           
           EndpointReference endpointReference = new EndpointReference(soapBindingAddress); 
           
           //创建一个OMFactory,下面的namespace、方法与参数均需由它创建 
           OMFactory factory = OMAbstractFactory.getoMFactory(); 
           
           //下面创建命名空间,如果你的WebService指定了targetNamespace属性的话,就要用这个 
           //对应于@WebService(targetNamespace = "http://www.mycompany.com") 
           OMNamespace namespace = factory.createOMNamespace("http://test.com","xsd"); 


           //下面创建的是参数对数,对应于@WebParam(name = "name") 
           //由于@WebParam没有指定targetNamespace,所以下面创建name参数时,用了null,否则你得赋一个namespace给它 
           OMElement nameElement = nameElement = factory.createOMElement("name",null); 
           nameElement.addChild(factory.createOMText(nameElement,"java")); 


           //下面创建一个method对象,"test"为方法名 
           OMElement method = factory.createOMElement("sayHello",namespace); 
           method.addChild(nameElement); 
           

           Options options = new Options(); 

   //http://test.com是namespace ,sayHello是方法

           options.setAction("http://test.com/sayHello");  //此处对应于@WebMethod(act<wbr>ion = "http://www.mycompany.com/test")             options.setTo(endpointReference);             ServiceClient sender = new ServiceClient();             sender.setoptions(options);             //下面的输出结果为<xsd:test xmlns:xsd="http://www.mycompany.com"><name>java</name></xsd:test>             System.out.println(method.toString());             //发送并得到结果,至此,调用成功,并得到了结果             OMElement result = sender.sendReceive(method);             //下面的输出结果为<ns2:testResponse xmlns:ns2="http://www.mycompany.com"><greeting>hello java</greeting></ns2:testResponse>             System.out.println(result.toString());         }         catch (AxisFault ex)         {             ex.printstacktrace();         }     }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐