axis2 调用webservice
发布时间:2020-12-17 01:01:39 所属栏目:安全 来源:网络整理
导读:private static void invokeWebService()? ? ?{? ? ? ? ?try? ? ? ? ?{? ? ? ? ? System.setProperty("javax.net.ssl.trustStore","D:tomcat.keystore"); ? ? ? ? System.setProperty("javax.net.ssl.trustStorePassword","123456"); ? ? ? ? // ? ? ? ? ?
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();? ? ? ? ?}? ? ?}(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |