一、使用Axis调用WebService
package client;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
/**
* 使用Axis1框架调用WebService接口
* @author Administrator
*
*/
public class TestAxis1Client {
public static void main(String[] args) throws Exception {
t1();
}
private static void t1() throws Exception {
String url =
"http://135.33.9.43:9080/mhpools/services/UrgedRepairManager";
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(url);
call.setoperationName("getRepairedPersons");
String str = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"+
"<root>"+
"<data>"+
"<KM_HURRY_SHEET>"+
"<ASK_ID>YH-6334-20110908-4580816</ASK_ID>"+
"<HURRY_NUM>30</HURRY_NUM>"+
"<HURRY_GRADE>3</HURRY_GRADE>"+
"</KM_HURRY_SHEET>"+
"</data>"+
"</root>";
String retStr = (String) call.invoke(new Object[] {str});
System.out.println(retStr);
}/*Method t1() end*/
}/*Class Test end*/
二、使用Axis2框架调用WebService
(1)
package client;
import org.apache.axiom.om.OMAbstractFactory;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMFactory;
import org.apache.axiom.om.OMNamespace;
import org.apache.axis2.AxisFault;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
import org.apache.axis2.client.ServiceClient;
public class TestAxis2Client2 {
public static void main(String[] args) {
String url = "http://135.33.9.43:9080/mhpools/services/UrgedRepairManager";
String str = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"+
"<root>"+
"<data>"+
"<KM_HURRY_SHEET>"+
"<ASK_ID>YH-6334-20110908-4580816</ASK_ID>"+
"<HURRY_NUM>30</HURRY_NUM>"+
"<HURRY_GRADE>3</HURRY_GRADE>"+
"</KM_HURRY_SHEET>"+
"</data>"+
"</root>";
OMFactory fac = OMAbstractFactory.getoMFactory();
OMNamespace omNs = fac.createOMNamespace("","");
OMElement method = fac.createOMElement("getRepairedPersons",omNs);
OMElement value = fac.createOMElement("Text",omNs);
value.addChild(fac.createOMText(value,str));
method.addChild(value);
//实例化Options对象
Options options = new Options();
//设置Options对象的操作事件对象
options.setAction("urn:getRepairedPersons");
//设置Options对象的连接终端地址,地址结尾没有?WSDL
options.setTo(new EndpointReference(url));
ServiceClient sender;
OMElement result = null;
try {
sender = new ServiceClient();
sender.setoptions(options);
result = sender.sendReceive(method);
} catch (AxisFault e) {
e.printstacktrace();
}
System.out.println(result.getFirstElement().getText());
}
}
(2)
package client;
import javax.xml.namespace.QName;
import org.apache.axiom.om.OMElement;
import org.apache.axis2.AxisFault;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
import org.apache.axis2.rpc.client.RPCServiceClient;
/**
* 使用Axis2框架调用WebService接口
*
* @author Administrator
*
*/
public class TestAxis2Client {
public static void main(String[] args){
//webService的调用地址
String url = "http://135.33.9.43:9080/mhpools/services/UrgedRepairManager";
String str = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"+
"<root>"+
"<data>"+
"<KM_HURRY_SHEET>"+
"<ASK_ID>YH-6334-20110908-4580816</ASK_ID>"+
"<HURRY_NUM>30</HURRY_NUM>"+
"<HURRY_GRADE>3</HURRY_GRADE>"+
"</KM_HURRY_SHEET>"+
"</data>"+
"</root>";
String result = null;
//操作的命名空间+“:”+操作名 ,第一个参数可以为空
QName qname = new QName("","getRepairedPersons");
//传递的参数对象集
Object param[] = new Object[] { str };
RPCServiceClient client = null;
OMElement element = null;
try {
//实例化远程服务调用客户端对象
client = new RPCServiceClient();
//实例化Options对象
Options options = new Options();
//设置Options对象的连接终端地址,地址结尾没有?WSDL
options.setTo(new EndpointReference(url));
//设置Options对象的操作事件对象
options.setAction("urn:getRepairedPersons");
//为远程服务调用客户端对象设置Options子对象
client.setoptions(options);
//传递参数,调用服务,获取服务返回结果集
element = client.invokeBlocking(qname,param);
} catch (AxisFault e) {
e.printstacktrace();
}
//获取返回结果集中第一条结果的返回内容
result = element.getFirstElement().getText();
System.out.println(result);
}
}
三、使用CXF框架调用WebService
package client;
import org.apache.cxf.endpoint.Client;
import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicclientFactory;
/**
* 使用CXF框架调用WebService接口
* @author Administrator
*
*/
public class TestCXFClient {
/**
* @param args
*/
public static void main(String[] args) throws Exception{
t1();
}
public static void t1() throws Exception{
JaxWsDynamicclientFactory clientFactory = JaxWsDynamicclientFactory
.newInstance();
String wnmsUrl = "http://135.33.9.43:9080/mhpools/services/UrgedRepairManager?wsdl";
Client client = clientFactory.createClient(wnmsUrl);
String str = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"+
"<root>"+
"<data>"+
"<KM_HURRY_SHEET>"+
"<ASK_ID>YH-6334-20110908-4580816</ASK_ID>"+
"<HURRY_NUM>30</HURRY_NUM>"+
"<HURRY_GRADE>3</HURRY_GRADE>"+
"</KM_HURRY_SHEET>"+
"</data>"+
"</root>";
Object[] obj = client.invoke("getRepairedPersons",str);
String retStr = obj[0].toString();
System.out.println(retStr);
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。